Nach einem langen Arbeitstag haben Systemadministratoren eine kleine Auszeit verdient. Aber auch Ausfallzeiten können eine Gelegenheit sein, Ihre Sysadmin-Fähigkeiten zu üben. Zum Beispiel habe ich ein Ansible-Playbook erstellt, um ein klassisches Spiel zu installieren, damit ich mich entspannen und meinen Kopf frei bekommen kann. Sie können mein Playbook verwenden, um die Verwendung von Ansible zu üben, und Sie können es als Inspiration für das Schreiben Ihrer eigenen Playbooks verwenden.
LBreakoutHD ist ein einfaches, unterhaltsames und süchtig machendes Spiel, das für Linux entwickelt wurde (daher „L“ am Anfang), aber jetzt auch für andere Plattformen verfügbar ist. LBreakoutHD ist ein HD-Remake von LBreakout2, das selbst ein Remake des Klassikers Breakout ist, der in den 1970er Jahren entwickelt wurde.
Die Idee des Spiels ist es, einen Ball zu verwenden, um Ziegel am oberen Rand des Bildschirms zu zerbrechen, und ein Paddel am unteren Rand, um den Ball abzuprallen und umzulenken. Du steigst ein Level auf, nachdem du alle Steine zerbrochen hast, und du verlierst das Spiel, wenn du die Bälle unter den Schläger fallen lässt.
Einige Steine verstecken Überraschungsboxen, die Ihnen zusätzliche Punkte oder Kräfte verleihen können (z. B. ein größeres Paddel oder explodierende Bälle), um den Spaß noch zu steigern. Es gibt auch böse Überraschungen, die den Schwierigkeitsgrad des Spiels erhöhen, wie z. B. das Einfrieren des Schlägers oder das Verringern seiner Größe.
Sie finden LBreakoutHD in der LGames-Sammlung. Diese Spiele wurden von Michael Speck entwickelt und sind Open Source, veröffentlicht unter der GPL-Lizenz.
[ Wenn Sie sowieso Ihr Leben in Ihrem Terminal-Emulator verbringen, warum haben Sie nicht ein bisschen Spaß, während Sie dort sind? Siehe 5 Befehlszeilenspiele für Systemadministratoren .]
Installation des Spiels mit Ansible
Um LBreakoutHD unter Linux zu installieren, müssen Sie es aus seinem Quellcode kompilieren. Außerdem benötigen Sie den GCC-Compiler make
, und die SDL2-Entwicklungsbibliotheken. Um es einfacher zu machen, können Sie dieses von mir entworfene Ansible-Playbook verwenden, um es auf Fedora 34 zu installieren:
- 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
Diese Playbook-Installation enthält Abhängigkeiten; erstellt ein temporäres Verzeichnis; lädt die Quelle herunter und extrahiert sie; und konfiguriert, kompiliert und installiert es mit Ansible make
Modul mit dem Ziel install
. Schließlich entfernt es das temporäre Verzeichnis und den darin enthaltenen Quellcode, um das System zu bereinigen.
Führen Sie nun das Playbook aus, um das Spiel zu installieren. Verwenden Sie ansible
Option -K
So aktivieren Sie die Rechteausweitung, die zum Installieren der Abhängigkeiten erforderlich ist:
$ 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
Wenn Sie dieses Playbook auf anderen Distributionen verwenden möchten, aktualisieren Sie die Aufgabe Ensure requirements in place
um die richtigen Modul- und Paketnamen für Ihre Distribution zu verwenden. Standardmäßig installiert dieses Playbook LBreakoutHD in .local
Unterverzeichnis unter dem Home-Verzeichnis des aktuellen Benutzers. Sie können es aktualisieren, indem Sie die Variable prefix_dir
ändern . Wenn Sie es auf ein Systemverzeichnis festlegen, müssen Sie das Playbook mit einem privilegierten Benutzer ausführen. Sie können auch andere Variablen ändern, um das Verhalten des Playbooks zu ändern, wie z. B. die Einstellung make_action=uninstall
um das Spiel zu deinstallieren oder cleanup_tmp=no
um das temporäre Verzeichnis zu erhalten, anstatt es am Ende zu löschen.
Das Spiel spielen
Stellen Sie nach der Installation sicher, dass das Verzeichnis $HOME/.local/bin
ist befindet sich in Ihrem $PATH
, und starten Sie das Spiel, indem Sie lbreakouthd
ausführen . Das Installationsskript erstellt eine Verknüpfung für das Spiel in $HOME/.local/share/applications
. Wenn Ihr System diesen Speicherort für Desktop-Dateien verwendet, können Sie das Spiel über Ihre Desktop-Menüs starten.
Wenn das Spiel beginnt, wählen Sie Neues Spiel um ein neues Spiel zu starten, wählen Sie dann Original-Level starten um die Levels zu spielen, die mit dem Spiel erstellt wurden, oder Benutzerdefiniertes Level starten um aus einer großen Anzahl von benutzerdefinierten Levels auszuwählen, die von Benutzern beigesteuert wurden.
Diese benutzerdefinierten Levels sorgen für zusätzlichen Spaß im Spiel, da einige dieser Levels herausfordernd oder sehr kreativ sind.
Spiel deinstallieren
Um das Spiel zu deinstallieren, führen Sie das Playbook erneut aus und setzen Sie die Variable make_action=uninstall
:
$ ansible-playbook -K lbreakout.yaml -e make_action=uninstall
Das Spielbuch entfernt alle Spieldateien aus den Installationsverzeichnissen, aber es belässt alle gespeicherten Spieldaten unter Ihrem $HOME
Verzeichnis intakt.
[ Möchten Sie Ihre Fähigkeiten als Systemadministrator testen? Machen Sie noch heute einen Kompetenztest. ]
Viel Spaß
LBreakoutHD ist ein lustiges Spiel. Es ist einfach genug, damit Sie schnell mit dem Spielen beginnen können, aber es ist herausfordernd genug, um dennoch unterhaltsam zu sein. Man muss ein wenig lernen, um zu verstehen, was all die Kräfte tun und wie sie sich auf das Spiel auswirken. Dieselben Kräfte tragen zum Wiederspielfaktor des Spiels bei, da sie die Level jedes Mal ändern, wenn Sie spielen.
Insgesamt ist dies ein exzellentes Spiel mit etwas Nostalgie, aber dennoch modern mit schöner Grafik und coolem Sound. Es ist großartig, Ihren Geist nach der Arbeit aufzufrischen und Ihre Sysadmin-Fähigkeiten zu üben, während Sie Spaß haben.