GNU/Linux >> Linux の 問題 >  >> Linux

楽しみながらAnsibleスキルをレベルアップする:暗くなった後のシステム管理者

仕事で長い一日を過ごした後、システム管理者は少しのダウンタイムに値します。しかし、ダウンタイムでさえ、システム管理者のスキルを練習する機会になる可能性があります。たとえば、Ansibleプレイブックを作成して、リラックスして心を清めるのに役立つクラシックゲームをインストールしました。私のプレイブックを使用してAnsibleの使用を練習したり、独自のプレイブックを作成するためのインスピレーションとして使用したりできます。

LBreakoutHDは、Linux用に開発されたシンプルで楽しく中毒性のあるゲームです(したがって、最初は「L」)が、他のプラットフォームでも利用できるようになりました。 LBreakoutHDはLBreakout2のHDリメイクであり、それ自体が1970年代に開発されたクラシックなBreakoutのリメイクです。

ゲームのアイデアは、ボールを使用して画面上部のレンガを壊し、下部のパドルを使用してボールをバウンドさせてリダイレクトすることです。すべてのレンガを壊した後、レベルが上がり、ボールをパドルの下に落とすとゲームに負けます。

一部のレンガはサプライズボックスを隠しており、追加のポイントやパワー(パドルサイズを大きくしたり、ボールを爆発させたりするなど)を追加して楽しみを増やすことができます。パドルをフリーズしたり、サイズを小さくしたりするなど、ゲームの難易度を上げる悪いサプライズもあります。

LBreakoutHDはLGamesコレクションにあります。これらのゲームはMichaelSpeckによって開発され、オープンソースであり、GPLライセンスの下でリリースされています。

[とにかくターミナルエミュレータで生活しているのなら、そこにいる間少し楽しんでみませんか?システム管理者向けの5つのコマンドラインゲームをご覧ください。]

Ansibleを使用してゲームをインストールする

LinuxにLBreakoutHDをインストールするには、ソースコードからコンパイルする必要があります。 GCCコンパイラmakeも必要です 、およびSDL2開発ライブラリ。簡単にするために、Fedora34にインストールするために私が設計したこのAnsibleプレイブックを使用できます:

- 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

このプレイブックのインストールには依存関係が含まれています。一時ディレクトリを作成します。ソースをダウンロードして抽出します。 Ansible makeを使用して構成、コンパイル、インストールします ターゲットのinstallを含むモジュール 。最後に、一時ディレクトリとその中のソースコードを削除して、システムをクリーンアップします。

次に、プレイブックを実行してゲームをインストールします。 ansibleを使用する オプション-K 依存関係のインストールに必要な特権昇格を有効にするには:

$ 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   

このプレイブックを他のディストリビューションで使用する場合は、タスクを更新してくださいEnsure requirements in place ディストリビューションに正しいモジュール名とパッケージ名を使用します。デフォルトでは、このプレイブックはLBreakoutHDを.localにインストールします 現在のユーザーのホームディレクトリの下にあるサブディレクトリ。変数prefix_dirを変更することで更新できます 。システムディレクトリに設定する場合は、特権ユーザーでプレイブックを実行する必要があります。 make_action=uninstallの設定など、他の変数を変更してプレイブックの動作を変更することもできます。 ゲームをアンインストールするか、cleanup_tmp=no 最後に一時ディレクトリを削除するのではなく、保存します。

ゲームをプレイする

インストールしたら、ディレクトリ$HOME/.local/binを確認します $PATHにあります 、lbreakouthdを実行してゲームを開始します 。インストールスクリプトは、$HOME/.local/share/applicationsにゲームのショートカットを作成します 。システムがデスクトップファイルにこの場所を使用している場合は、デスクトップメニューを使用してゲームを起動できます。

ゲームが開始したら、新しいゲームを選択します 新しいゲームを開始するには、元のレベルを開始を選択します ゲームで設計されたレベルをプレイするか、カスタムレベルを開始 多数のユーザー提供のカスタムレベルから選択します。

これらのカスタムレベルのいくつかは挑戦的または非常に創造的であるため、これらのカスタムレベルはゲームにさらに楽しいものを追加します。

ゲームのアンインストール

ゲームをアンインストールするには、変数make_action=uninstallを設定して、プレイブックを再実行します。 :

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

プレイブックはインストールディレクトリからすべてのゲームファイルを削除しますが、保存されているゲームデータはすべて$HOMEの下に残ります。 ディレクトリはそのままです。

[システム管理者のスキルをテストしたいですか?今日、スキル評価を受けてください。 ]

楽しんでください

LBreakoutHDは楽しいゲームです。それはあなたがすぐにプレーを始めることを可能にするのに十分シンプルですが、それでも面白いのに十分挑戦的です。すべての力が何をするのか、そしてそれらがゲームにどのように影響するのかを理解するために少し学ぶことがあります。これらの同じ力は、プレイするたびにレベルを変更するため、ゲームのリプレイファクターに追加されます。

全体的に見て、これは懐かしさを感じさせる優れたゲームですが、優れたグラフィックとクールなサウンドを備えたモダンなゲームです。仕事の後に心をリフレッシュし、楽しみながらシステム管理者のスキルを練習するのは素晴らしいことです。


Linux
  1. LinuxにAnsibleをインストールしてテストする方法

  2. Linuxスキルを高めるための13の演習

  3. OracleLinux8にAnsibleをインストールする方法

  1. ホームラボの構築:暗くなった後のシステム管理者

  2. Ansibleプレイブックでの秘密の処理

  3. Linux ディストリビューションに Arc および Arc Dark テーマをインストールする方法

  1. WindowsインストールをLinux上のVMに変換する

  2. AnsiblePlaybookの6つのトラブルシューティングスキル

  3. Arch Linuxをインストールした後はどうすればよいですか?