taktus.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で推奨依存関係をインストールするかどうか | いいえ |
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用にパッケージを無視する | いいえ |
デフォルトでは、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