GNU/Linux >> Linux Esercitazione >  >> Linux

Migliora le tue abilità Ansible divertendoti:Sysadmin dopo il tramonto

Dopo una lunga giornata di lavoro, gli amministratori di sistema meritano un po' di tempo di inattività. Ma anche i tempi di inattività possono essere un'opportunità per esercitare le tue capacità di amministratore di sistema. Ad esempio, ho creato un playbook Ansible per installare un gioco classico che mi aiuti a rilassarmi e liberare la mente. Puoi usare il mio playbook per esercitarti con Ansible e puoi usarlo come ispirazione per scrivere i tuoi playbook.

LBreakoutHD è un gioco semplice, divertente e avvincente sviluppato per Linux (quindi "L" all'inizio) ma ora disponibile anche per altre piattaforme. LBreakoutHD è un remake in HD di LBreakout2, che è esso stesso un remake del classico Breakout sviluppato negli anni '70.

L'idea del gioco è quella di usare una palla per rompere i mattoni nella parte superiore dello schermo usando una paletta nella parte inferiore per far rimbalzare e reindirizzare la palla. Sali di livello dopo aver rotto tutti i mattoni e perdi la partita se lasci cadere le palline sotto la racchetta.

Alcuni mattoncini nascondono scatole a sorpresa che possono darti punti o poteri extra (come una paletta più grande o palline che esplodono) da aggiungere al divertimento. Ci sono anche brutte sorprese che aumentano la difficoltà del gioco, come congelare la pagaia o ridurne le dimensioni.

Puoi trovare LBreakoutHD nella collezione LGames. Questi giochi sono sviluppati da Michael Speck e sono open source, rilasciati con licenza GPL.

[ Se stai comunque vivendo la tua vita con il tuo emulatore di terminale, perché non divertirti un po' mentre sei lì? Vedi 5 giochi da riga di comando per amministratori di sistema.]

Installazione del gioco tramite Ansible

Per installare LBreakoutHD su Linux, devi compilarlo dal suo codice sorgente. Hai anche bisogno del compilatore GCC, make e le librerie di sviluppo SDL2. Per semplificare, puoi utilizzare questo playbook Ansible che ho progettato per installarlo su Fedora 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

Questa installazione del playbook include le dipendenze; crea una directory temporanea; scarica ed estrae la fonte; e lo configura, lo compila e lo installa usando Ansible make modulo con la destinazione install . Infine, rimuove la directory temporanea e il codice sorgente in essa contenuto per ripulire il sistema.

Ora, esegui il playbook per installare il gioco. Usa ansible opzione -K per abilitare l'escalation dei privilegi richiesta per installare le dipendenze:

$ 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   

Se desideri utilizzare questo playbook su altre distribuzioni, aggiorna l'attività Ensure requirements in place per utilizzare i nomi di modulo e pacchetto corretti per la tua distribuzione. Per impostazione predefinita, questo playbook installa LBreakoutHD in .local sottodirectory nella directory home dell'utente corrente. Puoi aggiornarlo cambiando la variabile prefix_dir . Se lo imposti su una directory di sistema, devi eseguire il playbook con un utente privilegiato. Puoi anche modificare altre variabili per modificare il comportamento del playbook, come l'impostazione di make_action=uninstall per disinstallare il gioco o cleanup_tmp=no per preservare la directory temporanea invece di eliminarla alla fine.

Giocare

Una volta installato, assicurati la directory $HOME/.local/bin è nel tuo $PATH e avvia il gioco eseguendo lbreakouthd . Lo script di installazione crea una scorciatoia per il gioco in $HOME/.local/share/applications . Se il tuo sistema utilizza questa posizione per i file del desktop, puoi avviare il gioco utilizzando i menu del desktop.

All'avvio del gioco, seleziona Nuovo gioco per iniziare una nuova partita, quindi seleziona Inizia livelli originali per giocare ai livelli progettati con il gioco o Inizia livello personalizzato per scegliere tra un gran numero di livelli personalizzati forniti dagli utenti.

Questi livelli personalizzati aggiungono ulteriore divertimento al gioco, poiché alcuni di questi livelli sono impegnativi o molto creativi.

Disinstallazione del gioco

Per disinstallare il gioco, esegui nuovamente il playbook, impostando la variabile make_action=uninstall :

$ ansible-playbook -K lbreakout.yaml -e make_action=uninstall

Il playbook rimuove tutti i file di gioco dalle directory di installazione, ma lascia tutti i dati di gioco salvati sotto il tuo $HOME directory intatta.

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ]

Divertiti

LBreakoutHD è un gioco divertente. È abbastanza semplice da permetterti di iniziare a giocare velocemente, ma è abbastanza impegnativo da essere comunque divertente. C'è un po' da imparare per capire cosa fanno tutti i poteri e come influiscono sul gioco. Questi stessi poteri si aggiungono al fattore di replay del gioco poiché cambiano i livelli ogni volta che giochi.

Nel complesso, questo è un gioco eccellente con un po' di nostalgia mentre è ancora moderno con una bella grafica e un suono fantastico. È fantastico rinfrescare la mente dopo il lavoro e mettere in pratica le tue abilità di amministratore di sistema divertendosi.


Linux
  1. Come installare e testare Ansible su Linux

  2. Costruire un laboratorio domestico:Sysadmin dopo il tramonto

  3. Gestire i segreti nei tuoi playbook Ansible

  4. 6 abilità di risoluzione dei problemi per i playbook Ansible

  5. Cosa fare dopo aver installato Arch Linux?

15 cose da fare dopo aver installato Fedora 26

Installa Ansible su Ubuntu - Facile guida passo passo

Come installare Ansible Server su Ubuntu 18.04

Come installare Ansible AWX su Debian 10

Come installare Ansible su Linux Mint 20

10 tutorial Vim per far ripartire le tue abilità di editor