chasinglogic.os_packages

Ansible ロール: os-packages

変数ファイルを使用してパッケージをインストールします。

GitHub Actions GitHub Actions

このロールを使用するタイミングと理由

複数のシステムの設定を指定する時、特別な設定が不要な OS パッケージをインストールする必要があります。例えば、ビルドサーバー用の build-essentialgcc などです。これらのファイルをインストールするために、多くの専用ロールを作成するのは非常に手間がかかります。「パッケージごとに1つのロール」という方法を取らなくても、様々なパッケージマネージャーの細かい設定を扱う複数のパッケージリストがロール内に分散してしまうと、相互に関連を持たせるのが難しく、最新の状態を保つのが大変になります。

このロールを使うことで、パッケージリストを変数ファイルにまとめて、相互参照を簡単に行うことができます。異なる環境でも機能し、例えば deb_packages を指定していても、apt がインストールされていないホストに Ansible を実行している時には、その deb_packages は無視されます。条件を追加する必要はありません。

このロールを、設定や他の準備が多く必要なソフトウェアのインストールに使うことは推奨されません。例えば、Nextcloud、NGINX、または Apache などは、追加の設定(SELinux、設定ファイル、ファイアウォールルールなど)が必須になるため、専用のロールを作るべきです。

ロール変数

名前 説明 タイプ デフォルト 必須
packages_apt_globally_update_cache パッケージインストールの前にグローバルな apt update を実行するかどうかを示します。 boolean true いいえ
generic_packages Ansible の package モジュールを使用するパッケージのリストです。多くのパッケージはLinuxディストリビューション間で一般的かつ一貫性のある名前を持っています。これを変数に入れます。 list [] いいえ
deb_packages .deb パッケージのために Ansible のターゲットシステムに基づく適切なパッケージモジュールを使用するパッケージのリストです。 list [] いいえ
rpm_packages .rpm パッケージのために Ansible のターゲットシステムに基づく適切なパッケージモジュールを使用するパッケージのリストです。 list [] いいえ
pacman_packages pacman Ansible パッケージモジュールを使用するパッケージのリストです。 list [] いいえ
generic_package_specs Ansible の package モジュールを使用するパッケージ仕様のリストです。多くのパッケージはLinuxディストリビューション間で一般的かつ一貫性のある名前を持っています。これを変数に入れます。 list [] いいえ
deb_package_specs .deb package_specs のために Ansible のターゲットシステムに基づく適切なパッケージモジュールを使用するパッケージ仕様のリストです。 list [] いいえ
rpm_package_specs .rpm package_specs のために Ansible のターゲットシステムに基づく適切なパッケージモジュールを使用するパッケージ仕様のリストです。 list [] いいえ
pacman_package_specs pacman Ansible パッケージモジュールを使用するパッケージ仕様のリストです。 list [] いいえ

依存関係の指定

変数 generic_packagesdeb_packagespacman_packagesrpm_packages はインストールするパッケージのリストです。これは単にインストールされるべき文字列のリストです:

generic_packages:
  - gcc
  - tmux
  - vim

存在する以外の状態を使用する

変数 generic_package_specsdeb_package_specs などは、パッケージインストールのより細かい制御のために使用されます。また、パッケージを削除したり、最新バージョンをインストールしたり、Ansible の出力でインストールされたパッケージの特定のリストを取得するために使用できます。パッケージ仕様を使用する方法は以下の通りです:

generic_package_specs:
  - name: gcc
    state: latest

deb_package_specs リストは、update_cache オプションも指定できます:

deb_package_specs:
  - name: gcc
    state: latest
    update_cache: yes

例のプレイブック

- hosts: all
  roles:
    - role: os-packages

ライセンス

Apache License

プロジェクトについて

Install packages using variable files

インストール
ansible-galaxy install chasinglogic.os_packages
ライセンス
apache-2.0
ダウンロード
240
所有者
Linux and FOSS Enthusiast.