Mejore sus habilidades de Ansible mientras se divierte: administrador del sistema después del anochecer

Después de un largo día de trabajo, los administradores de sistemas merecen un poco de tiempo de inactividad. Pero incluso el tiempo de inactividad puede ser una oportunidad para practicar sus habilidades como administrador de sistemas. Por ejemplo, creé un libro de jugadas de Ansible para instalar un juego clásico que me ayude a relajarme y despejar mi mente. Puede usar mi libro de jugadas para practicar el uso de Ansible y puede usarlo como inspiración para escribir sus propios libros de jugadas.

LBrupturaHD es un juego simple, divertido y adictivo desarrollado para Linux (entonces "L" al principio) pero ahora también disponible para otras plataformas. LBreakoutHD es una nueva versión en HD de LBreakout2, que a su vez es una nueva versión del clásico A punto de estallar desarrollado en la década de 1970.

La idea del juego es usar una pelota para romper ladrillos en la parte superior de la pantalla usando una paleta en la parte inferior para rebotar y redirigir la pelota. Subes un nivel después de romper todos los ladrillos y pierdes el juego si dejas que las bolas caigan debajo de la paleta.

(Ricardo Gerardi, CC-BY SA 4.0)

Algunos ladrillos esconden cajas sorpresa que pueden darte puntos o poderes adicionales (como una paleta más grande o bolas explosivas) para agregar diversión. También hay sorpresas desagradables que aumentan la dificultad del juego, como congelar la paleta o reducir su tamaño.

(Ricardo Gerardi, CC-BY SA 4.0)

Puede encontrar LBreakoutHD en el LJuegos colección. Estos juegos son desarrollados por michael mota y son de código abierto, publicados bajo la licencia GPL.

Instalar el juego con Ansible

Para instalar LBreakoutHD en Linux, debe compilarlo desde su código fuente. También necesita el compilador GCC, makey bibliotecas de desarrollo SDL2. Para su comodidad, puede utilizar este Ansible libro de jugadas que diseñé para instalarlo en 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

La instalación de este libro de jugadas incluye dependencias; crear un directorio temporal; descarga y extrae la fuente; y configurarlo, compilarlo e instalarlo usando Ansible make módulo con destino install. Finalmente, elimina el directorio temporal y el código fuente que contiene para limpiar el sistema.

Ahora inicie el libro de jugadas para instalar el juego. ansible opción -K para habilitar la elevación de privilegios necesaria para instalar dependencias:

$ 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   

Si desea utilizar este libro de jugadas en otras distribuciones, actualice la tarea Ensure requirements in place para usar los nombres de módulo y paquete correctos para su distribución. De forma predeterminada, este libro de jugadas instala LBreakoutHD en el .local subdirectorio bajo el directorio de inicio del usuario actual. Puedes actualizarlo cambiando la variable prefix_dir. Si lo configura en un directorio del sistema, debe ejecutar el libro de jugadas con un usuario privilegiado. También puede modificar otras variables para modificar el comportamiento del libro de jugadas, como la configuración make_action=uninstall para desinstalar el juego o cleanup_tmp=no para mantener el directorio temporal en lugar de eliminarlo al final.

Índice

Seguir el juego

Una vez instalado, asegúrese de que el directorio $HOME/.local/bin está en tu $PATH, e inicia el juego ejecutando lbreakouthd. El script de instalación crea un acceso directo para el juego en $HOME/.local/share/applications. Si su sistema usa esta ubicación para archivos de escritorio, puede iniciar el juego usando los menús de su escritorio.

(Ricardo Gerardi, CC-BY SA 4.0)

Cuando comience el juego, seleccione Nuevo juego para comenzar un nuevo juego, luego seleccione Iniciar niveles originales para jugar los niveles diseñados con el juego o Iniciar nivel personalizado para elegir entre una gran cantidad de niveles personalizados proporcionados por los usuarios.

(Ricardo Gerardi, CC-BY SA 4.0)

Estos niveles personalizados agregan aún más diversión al juego, ya que algunos de estos niveles son difíciles o muy creativos.

Desinstalar el juego

Para desinstalar el juego, reinicie el libro de jugadas, configurando la variable make_action=uninstall:

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

El libro de jugadas elimina todos los archivos del juego de los directorios de instalación, pero deja todos los datos del juego guardados en su $HOME directorio intacto.

Disfrutar

LBreakoutHD es un juego divertido. Es lo suficientemente simple como para que comiences a jugar rápidamente, pero es lo suficientemente estimulante como para seguir siendo entretenido. Se necesita un poco de aprendizaje para comprender qué hacen todos los poderes y cómo impactan en el juego. Estos mismos poderes se suman al factor de repetición del juego, ya que cambian de nivel cada vez que juegas.

En general, es un gran juego con algo de nostalgia sin dejar de ser moderno con buenos gráficos y un sonido genial. Es genial refrescar tu mente después del trabajo y practicar tus habilidades de administrador de sistemas mientras te diviertes.

Artículos de interés

Subir