0Pricing
Ansible Academy · レッスン

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: present

name はパッケージ名

nameキーには、ディストリビューションで使われているパッケージ名を指定します。たとえばnginxやgitです。一般的な名前は、多くのディストリビューションで共通しています。

name: git

state 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: nginx

state 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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. モジュールとは実際には何か
  2. packageモジュールでパッケージをインストールする
  3. systemdでサービスを管理する
  4. ansible-docでドキュメントを読む
← Ansible Academyに戻る