cans.package-source
cans.package-source
ディストリビューションパッケージソースとそのGPGキーを追加および/または削除するためのシンプルな役割です。
追加または削除する各パッケージソースは以下のように記述する必要があります:
- repo: "リポジトリの名前" # 必須
codename: "<ディストリビューションのコード名>" # オプション、デフォルト: 未定義
key_id: "<GPGキーID>" # オプション、デフォルト: 未定義
key_server: "<キーサーバーのURL>" # オプション、デフォルト: 未定義
key_url: "<公開鍵ファイルのURL>" # オプション、デフォルト: 未定義
keyring: "<キーリングのパス>" # オプション、デフォルト: 未定義
update_cache: <yes|no> # オプション、デフォルト: no
この役割は、ソースを追加し、その後に削除します。リポジトリはリストで指定されるため、追加または削除される順序は決定的で、プレイブックに指定された通りになります。
未定義のデフォルト値のすべては、指定されていない場合は単純に省略されます。
repo
は唯一の必須値で、有効なAPTリポジトリの説明行である必要があります。
指定したソースとともにキーをインストールしたい場合は、APTのキーリングに不必要なキーが挿入されないようにするために、key_id
を指定する必要があります。その後、key_url
またはkey_server
のどちらかが必須となり、キーを取得する方法が確保されます。
update_cache
のデフォルト値を変更するのは一般的に良い考えではなく、プレイブックの実行が非常に遅くなります。また、パッケージソースを追加すると、大抵はその後すぐに使用するため、ソースを追加する際ではなく、その際にキャッシュを更新することが推奨されます。この方法では、新しいリポジトリがバリデートされないという欠点があります。この役割の実行中にそのバリデーションが行われることを望む場合は、以下に示す例のプレイブックのようにupdate_cache
を使用してください。
要件
このパッケージは、Ansibleのディストリビューションパッケージソース管理モジュールの要件があります:
- Debianベースのディストリビューションについては、apt_repositoryおよびapt_keyモジュールを参照してください。
役割変数
このモジュールのすべての変数は、プレフィックス pkgsources
で名前空間化されています。
pkgsource_present
: 確実に利用可能にしたいソースのリスト(デフォルト:[]
);pkgsource_absent
: 確実に利用できないようにしたいソースのリスト(デフォルト:[]
);
非推奨変数
pkgsource_user
: この変数は廃止されました。役割をインポートする際やプレイレベルで定義できます。この変数は実際には使用されていません(デフォルト:ansible_user_id
)。
依存関係
この役割には外部依存関係はありません。
例のプレイブック
このプレイブックでは、APTに2つの新しいソースを追加し、1つを削除します。2番目に追加されたソースに対しては、リポジトリのGPGキーもインストールします。最後に、この役割はリポジトリを追加してから削除するため、最後に削除されたリポジトリの後に、設定が正しいことを確認するためにキャッシュの更新を強制します。
- hosts: servers
roles:
- role: "cans.package-source"
pkgsource_present:
# 単にDebianの現在のリリースのバックポートパッケージリポジトリが利用可能であることを確実にします
- repo: "deb http://ftp.fr.debian.org/debian/ stable-backports main"
# Herokuのツールベルトリポジトリ(cliツール)
- repo: "deb https://toolbelt.heroku.com/ubuntu/ ./"
# これらの2行は、リポジトリをソースリストに追加する前にHerokuのGPGキーがインストールされることを確実にします。
key_id: C927EBE00F1B0520
key_url: "https://toolbelt.herokuapp.com/apt/release.key"
# 削除したい非推奨のソース。
pkgsource_absent:
- "deb http://ftp.fr.debian.org/debian/ wheezy main"
# 最後に追加または削除したリポジトリでキャッシュ更新を強制し、新しい設定がバリデートされるようにします
update_cache: yes
ライセンス
Ansible役割のpackage-sourceは、自由なソフトウェアです:GNU一般公衆ライセンスバージョン2の条件の下で再配布および/または変更することができます。
package-sourcesは、役立つことを願って配布されますが、いかなる保証もなく、商業性や特定の目的への適合性の暗黙の保証さえもありません。詳細については、GNU一般公衆ライセンスを参照してください。
package-sourcesと共にGNU一般公衆ライセンスのコピーを受け取っているはずです。受け取っていない場合は、http://www.gnu.org/licenses/を参照してください。
著者情報
著作権 © 2017-2018, Nicolas CANIART。
Role to manage Distribution Package Sources and their Encryption Keys
ansible-galaxy install cans.package-source