Po dlouhém dni v práci si systémoví správci zaslouží trochu odstávky. Ale i prostoje mohou být příležitostí k procvičení vašich dovedností správce systému. Například jsem vytvořil herní knihu Ansible, abych si nainstaloval klasickou hru, která mi pomůže uvolnit se a vyčistit mysl. Můj playbook můžete použít k procvičování používání Ansible a můžete ho použít jako inspiraci pro psaní vlastních playbooků.
LBreakoutHD je jednoduchá, zábavná a návyková hra vyvinutá pro Linux (tedy "L" na začátku), ale nyní dostupná i pro jiné platformy. LBreakoutHD je HD remake LBreakout2, který je sám o sobě remakem klasického Breakout vyvinutého v 70. letech.
Myšlenkou hry je použít míč k rozbití cihel v horní části obrazovky pomocí pádla ve spodní části k odražení a přesměrování míče. Po rozbití všech cihel se dostanete o úroveň výš a hru prohrajete, pokud necháte koule spadnout pod pádlo.
Některé kostky skrývají krabičky s překvapením, které vám mohou dodat další body nebo schopnosti (například větší velikost pádla nebo explodující koule), které vám zpříjemní zábavu. Existují také nepříjemná překvapení, která zvyšují obtížnost hry, jako je zmrazení pádla nebo zmenšení jeho velikosti.
LBreakoutHD najdete v kolekci LGames. Tyto hry jsou vyvinuty Michaelem Speckem a jsou open source, vydané pod licencí GPL.
[ Pokud přesto žijete ve svém terminálovém emulátoru, proč si neužít trochu zábavy, když jste tam? Viz 5 her s příkazovým řádkem pro správce systému.]
Instalace hry pomocí Ansible
Chcete-li nainstalovat LBreakoutHD na Linux, musíte jej zkompilovat z jeho zdrojového kódu. Potřebujete také kompilátor GCC, make
a vývojové knihovny SDL2. Aby to bylo jednodušší, můžete použít tuto příručku Ansible, kterou jsem navrhl k instalaci na Fedoru 34:
- name: Manages a local source install of lbreakouthd
hosts: localhost
gather_facts: yes
vars:
prefix_dir: "{{ ansible_env.HOME }}/.local/"
version: "1.0.8"
make_action: "install"
cleanup_tmp: yes
tasks:
- name: Ensure requirements in place
dnf:
name:
- SDL2
- SDL2_image
- SDL2_mixer
- SDL2_ttf
- SDL2-devel
- SDL2_ttf-devel
- SDL2_image-devel
- SDL2_mixer-devel
- make
- gcc
- gcc-c++
update_cache: yes
state: present
become: yes
- name: Create temporary directory
file:
path: /tmp/lbreakout
state: directory
mode: 0770
- name: Download and extract source code
unarchive:
src: "https://sourceforge.net/projects/lgames/files/lbreakouthd/lbreakouthd-{{ version }}.tar.gz"
dest: /tmp/lbreakout/
remote_src: yes
- name: Configure the build
command: ./configure --prefix={{ prefix_dir }}
args:
chdir: "/tmp/lbreakout/lbreakouthd-{{ version }}"
creates: "/tmp/lbreakout/lbreakouthd-{{ version }}/Makefile"
- name: Make game according to defined make_action install / uninstall
make:
chdir: "/tmp/lbreakout/lbreakouthd-{{ version }}"
target: "{{ make_action }}"
- name: Ensure temporary directory is deleted
file:
path: /tmp/lbreakout
state: absent
when: cleanup_tmp | bool
Tato instalace playbooku obsahuje závislosti; vytvoří dočasný adresář; stahuje a extrahuje zdroj; a nakonfiguruje, zkompiluje a nainstaluje jej pomocí Ansible make
modul s cílem install
. Nakonec odstraní dočasný adresář a zdrojový kód v něm, aby se vyčistil systém.
Nyní spusťte playbook a nainstalujte hru. Použijte ansible
možnost -K
k povolení eskalace oprávnění vyžadované k instalaci závislostí:
$ ansible-playbook -K lbreakout.yaml
BECOME password:
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
PLAY [Manages a local source install of lbreakouthd] ************************
TASK [Gathering Facts] ******************************************************
ok: [localhost]
TASK [Ensure requirements in place] *****************************************
ok: [localhost]
TASK [Create temporary directory] *******************************************
changed: [localhost]
TASK [Download and extract source code] *************************************
changed: [localhost]
TASK [Configure the build] **************************************************
changed: [localhost]
TASK [Make game according to defined make_action install / uninstall] *******
changed: [localhost]
TASK [Ensure temporary directory is deleted] ********************************
changed: [localhost]
PLAY RECAP ******************************************************************
localhost: ok=7 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Pokud chcete tuto příručku používat v jiných distribucích, aktualizujte úlohu Ensure requirements in place
používat správné názvy modulů a balíčků pro vaši distribuci. Ve výchozím nastavení tato příručka nainstaluje LBreakoutHD do .local
podadresář v domovském adresáři aktuálního uživatele. Můžete jej aktualizovat změnou proměnné prefix_dir
. Pokud jej nastavíte na systémový adresář, musíte spustit playbook s privilegovaným uživatelem. Můžete také změnit další proměnné a změnit chování příručky, například nastavení make_action=uninstall
odinstalujte hru nebo cleanup_tmp=no
pro zachování dočasného adresáře namísto jeho odstranění na konci.
Hraní hry
Po instalaci zkontrolujte adresář $HOME/.local/bin
je ve vaší $PATH
a spusťte hru spuštěním lbreakouthd
. Instalační skript vytvoří zástupce hry v $HOME/.local/share/applications
. Pokud váš systém používá toto umístění pro soubory na ploše, můžete hru spustit pomocí nabídek na ploše.
Po spuštění hry vyberte Nová hra začněte novou hru a poté vyberte Zahájit původní úrovně hrát úrovně navržené ve hře nebo Zahájit vlastní úroveň vybrat si z velkého počtu uživatelských úrovní.
Tyto vlastní úrovně dodávají hře další zábavu, protože některé z těchto úrovní jsou náročné nebo velmi kreativní.
Odinstalace hry
Chcete-li hru odinstalovat, spusťte znovu playbook a nastavte proměnnou make_action=uninstall
:
$ ansible-playbook -K lbreakout.yaml -e make_action=uninstall
Příručka odebere všechny herní soubory z instalačních adresářů, ale všechna uložená herní data ponechá ve vaší $HOME
adresář neporušený.
[ Chcete si vyzkoušet své schopnosti správce systému? Proveďte hodnocení dovedností ještě dnes. ]
Bavte se
LBreakoutHD je zábavná hra. Je dostatečně jednoduchý, abyste mohli začít hrát rychle, ale je dostatečně náročný, aby vás stále bavil. Je tu trochu učení, abyste pochopili, co všechny síly dělají a jak ovlivňují hru. Tyto stejné schopnosti zvyšují faktor opakování hry, protože mění úrovně pokaždé, když hrajete.
Celkově se jedná o vynikající hru s určitou nostalgií a zároveň moderní, s pěknou grafikou a skvělým zvukem. Je skvělé osvěžit si mysl po práci a procvičit si své systémové administrátorské dovednosti a přitom se bavit.