packageモジュールでパッケージをインストールする
ディストリビューションをまたいでソフトウェアを管理します
「packageモジュールでパッケージをインストールする」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
1つのモジュールで複数のディストリビューションに対応する
packageモジュールは、パッケージマネージャーを指定せずにソフトウェアをインストールします。対象ホストに応じてapt、dnf、yumを自動的に選択します。
state present でインストールする
ソフトウェアをインストールするには、パッケージ名を指定してstate: presentを設定します。Ansibleは、存在しない場合にだけインストールします。
ansible.builtin.package:
name: nginx
state: presentname はパッケージ名
nameキーには、ディストリビューションで使われているパッケージ名を指定します。たとえばnginxやgitです。一般的な名前は、多くのディストリビューションで共通しています。
name: gitstate absent で削除する
state: absentを設定すると、パッケージをアンインストールします。現在インストールされている場合にだけ削除するため、べき等性が保たれます。
ansible.builtin.package:
name: telnet
state: absentリストを一度にインストールする
リストをnameに渡すと、モジュールはすべてのパッケージを1つのタスクでインストールします。個別のタスクを多数作成するより、明確で高速です。
ansible.builtin.package:
name:
- git
- curl
- vim
state: presentべき等である
タスクを2回実行すると、2回目はchangedではなくokと報告されます。パッケージはすでに存在するため、再度処理は行われません。
package はネイティブのパッケージマネージャーをラップする
packageモジュールは汎用的なラッパーです。内部ではDebianのaptやFedoraのdnfを呼び出すため、タスクを1度書くだけで済みます。
必要に応じて専用モジュールを使う
パッケージマネージャー固有の機能が必要な場合は、aptやdnfを直接使います。packageにはないupdate_cacheのようなオプションを利用できます。
ansible.builtin.apt:
name: nginx
update_cache: true通常は権限昇格が必要
ソフトウェアのインストールにはroot権限が必要です。そのため、タスクまたはプレイにbecome: trueを追加します。Ansibleはsudoでパッケージタスクを実行します。
- name: Install nginx
become: true
ansible.builtin.package:
name: nginxstate present はデフォルトの場合が多い
多くのパッケージモジュールでは、presentがデフォルトの状態です。それでも明記しておくと、次に読む人に意図が伝わりやすくなります。
アドホックに試す
プレイブックがなくても、アドホックにインストールできます。次の1行で、webグループのすべてのホストにgitをインストールできます。
ansible web -b -m package -a "name=git state=present"クイックチェック
DebianホストとFedoraホストの両方にnginxをインストールする1つのタスクが必要です。
振り返り
package モジュールは、present と absent を使ってソフトウェアをインストールまたは削除します。リストを受け取り、冪等性を保ちながら、さまざまなディストリビューションで動作します。📦
よくある質問
「packageモジュールでパッケージをインストールする」レッスンは無料ですか?
はい。「packageモジュールでパッケージをインストールする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「packageモジュールでパッケージをインストールする」で何を学びますか?
ディストリビューションをまたいでソフトウェアを管理します ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「packageモジュールでパッケージをインストールする」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- モジュールとは実際には何か
- packageモジュールでパッケージをインストールする
- systemdでサービスを管理する
- ansible-docでドキュメントを読む