GROG.package
パッケージ
異なるオペレーティングシステム上でパッケージを管理するためのロールです。
このロールは現在、apt、yum、dnf、brew、zypper、pacman、portageをサポートしています。 お気に入りのパッケージマネージャを追加するために、プルリクエストや機能リクエストを送信してください!
注意:
- このロールは、パッケージマネージャ間の名前の違いを処理しますが、 同じパッケージマネージャを使用している配布の間の違いは処理しません。
- テストカバレッジは非常に小さいので、バグがあれば報告してください!
要件
- ホストはansible使用のためにブートストラップされていること(Pythonが必要など)
- ルート権限が必要です。例えば
become: yes
ロール変数
変数 | 説明 | デフォルト値 |
---|---|---|
package_list |
管理するパッケージのリスト (詳細を参照!) | [] |
package_list_host |
ホストのためのパッケージのリスト (詳細を参照!) | [] |
package_list_group |
グループのためのパッケージのリスト (詳細を参照!) | [] |
package_state |
デフォルトのパッケージ状態 | 'present' |
package_update_cache |
キャッシュを更新するか? | yes |
package_cache_valid_time |
パッケージキャッシュの有効期限(秒) | 3600 |
package_list
の詳細
package_list
、package_list_host
、package_list_group
は、
パッケージを管理する際にマージされます。ホストやグループリストを使用して、
ホストやグループごとのパッケージを指定できます。
パッケージリストでは、管理が必要なパッケージを定義できます。リストの各アイテムは以下の属性を持つことができます:
変数 | 説明 | 必須 |
---|---|---|
name |
パッケージ名 | はい |
state |
パッケージ状態 | いいえ |
apt |
apt用パッケージ名 | いいえ |
apt_ignore |
apt用に無視するパッケージ | いいえ |
apt_install_recommends |
aptで推奨依存関係をインストールするか | いいえ |
apk |
apk用パッケージ名 | いいえ |
apk_ignore |
apk用に無視するパッケージ | いいえ |
yum |
yum用パッケージ名 | いいえ |
yum_ignore |
yum用に無視するパッケージ | いいえ |
dnf |
dnf用パッケージ名 | いいえ |
dnf_ignore |
dnf用に無視するパッケージ | いいえ |
brew |
brew用パッケージ名 | いいえ |
brew_ignore |
brew用に無視するパッケージ | いいえ |
zypper |
zypper用パッケージ名 | いいえ |
zypper_ignore |
zypper用に無視するパッケージ | いいえ |
pacman |
pacman用パッケージ名 | いいえ |
pacman_ignore |
pacman用に無視するパッケージ | いいえ |
portage |
portage用パッケージ名 | いいえ |
portage_ignore |
portage用に無視するパッケージ | いいえ |
opkg |
opkg用パッケージ名 | いいえ |
opkg_ignore |
opkg用に無視するパッケージ | いいえ |
デフォルトでは、package_state
とitem.name
がパッケージ管理に使用されます。
ただし、item.state
が定義されている場合や、より具体的なパッケージ名(例:item.apt
)が指定されている場合は、
それらが優先されます。特定のパッケージマネージャでパッケージを無視したい場合は、***_ignore
: yesを追加できます。
package_list
の例
package_list:
- name: package
- name: package1
state: absent
- name: package2
apt: package2_apt_name
- name: package3
apt_ignore: yes
yum: package3_yum_name
pacman: package3_pacman_name
portage: package3_portage_name
依存関係
なし。
例プレイブック
---
- hosts: servers
roles:
- { role: GROG.package,
become: yes,
package_list: [
{ name: htop,
brew: htop-osx },
{ name: tree }
]
}
貢献
ご支援、変更やアイデアをお待ちしています こちら!
作者
G. Roggemans による
ライセンス
MIT