ゆるい感じのプログラムを書きたい。

プログラムの敷居を下げて、多くの人が開発出来るように色々書いていきます!

【モジュールの使い方】yum

yum

yumモジュールを使用することで、hostsで指定したサーバで以下の操作が実施できる

  • パッケージのインストール/アンインストール
  • パッケージのアップデート

使用例

  • 使用例 nginxのインストール
- hosts: all
  become: yes
  tasks:
    - name: Install sauid
      yum :
        name: nginx
        state: present
  • 使用例 nginxのアンインストール
- hosts: all
  become: yes
  tasks:
    - name: Uninstall sauid
      yum :
        name: nginx
        state: adsent
  • 使用例 すべてのパッケージをアップデート

name:'*'かつstate:latestとするとyum -y update と同じ意味になる

- hosts: all
  become: yes
  tasks:
    - name: Update packages
      yum :
        name: '*'
        state: latest
  • 使用例 複数のパッケージをインストールする

複数のパッケージをインストールする場合
以下のようにnameパラメータをリスト形式で記載可能

ymlにおいて、行頭の-はリスト(配列)を表します

- hosts: all
  become: yes
  tasks:
    - name: Update packages
      yum :
        name: 
          - nginx
          - nodejs
          - redis
        state: latest


主なパラメータ

パラメータ 必須 デフォルト値 選択肢 説明
namae パッケージ名/URLを指定
state present absent
installed
latest
present
removed
・installed,present→インストールされた状態
・latest→最新バージョンにアップデートされた状態
・absent,removed→インストールされてない状態
download_only no yes
no
パッケージをダウンロードするがインストールしない


全パラメータ

パラメータ 必須 デフォルト値 選択肢 説明
allow_downgrade no yes
no
yumでインストールしたパッケージをダウングレード出来るのかどうかを指定
allow_downgrade=trueを設定した場合、モジュールがべき等でない方法で動作する可能性があることに注意してください
タスクは、インストールする指定されたパッケージと一致しないパッケージのセットで終わる可能性があります
ダウングレードされたパッケージと他のパッケージとの依存関係により、以前のトランザクションであったパッケージが変更される可能性があるため
autoremove no yes
no
yesの場合:ユーザがインストールしたパッケージの依存関係として最初にインストールされたパッケージが不要になったので、全ての「リーフ」パッケージをシステムから削除
stateの設定がない場合に使用ができます
注;この機能にはyum >= 3.4.3(RHEL/CentOS7+)が必要
bugfix no yes
no
yesの場合:state=latestの最新版のバグ修正のアップデートのみインストールされます
caheonly no yes
no
システムキャッシュからymuを実行、メタデータをダウンロード更新はしません。
conf_file 対象ホストで/etc/yum.conf以外のファイルを使用する場合に指定する
disable_excludes yum構成ファイル定義されている除外を無効にする
all設定:すべての除外が無効になります。
main設定:yum.confの「main」で定義されている除外を無効にする
repoid設定:特定のリポジトリIDに対して定義された除外を無効にする
disable_gag_check no yes
no
パッケージの署名チェックを無効にする
disable_plugin インストール/更新操作で無効にするプライン名を指定
無効にされたプラグインは、トランザクションを超えて存続しません
disablerepo 無効にするリポジトリを指定する。複数の場合はカンマ区切りで記述する。
download_dir パッケージを保存するための代替ディレクトリを指定
download_onlyが指定されている場合のみ利用可能
download_only no yes
no
パッケージをダウンロードするがインストールしない
enable_plugin インストール/更新操作を有効にするプラグイン名を指定
有効なプラグインは、トランザクションを超えて存続しません
enablerepo 有効にするリポジトリを指定する。複数の場合はカンマ区切りで記述する。
exclud state=present、またはlatestの場合に除外するパッケージ名
install_repoquery yes yes
no
repoqueryが利用できない場合:yum-utilsをインストールしてください
システムがRHNまたはRHNサテライトに登録されている場合:repoqueryを使用すると、システムにワイ当てられているすべてのチャンネルを照会できます。
「list」パラメータも使用する必要がある
注:これは十個すさ、他のインストールまたは削除の前に行われる個別のyum返還としてログに記録される
注:これは、モジュールに指定されたdisablerepo/enablerepoに関係なく、システムのデフォルトで有効になっているリポジトリを使用
install_weak_deps yes yes
no
弱い依存関係によってリンクされているすべてのパッケージをインストールします
注:この機能にはyum >= 4 (RHEL/centOS 8+)が必要
installroot "/" すべてのパッケージがインストールされる相対的な代替えinstallrootを指定
list yum list --show-duplicates [package]で指定するpackage名を指定
パッケージの一覧に加えてinstalled,updates,available,reposを一覧表示することが出来ます。
このパラメータはnameと一緒に使用できません。
lock_timeout 30 yumlockfileが解放されるのを待つ時間
name パッケージ名/URLを指定
releasever すべてのパッケージがインストールされる代替リリースを指定
security no yes
no
yesの場合:state=latestの最新版のセキュリティ関連とマークされた更新のみがインストールされる
skip_broken no yes
no
エラーを発生させることなく、使用できないパッケージまたは依存関係が壊れているパッケージをすべてスキップします。
--sikip-brokenオプションを渡すのと同じ
state present absent
installed
latest
present
remove
installed, present:インストールされた状態
latest:最新バージョンにアップデートされた状態
absent, removed:インストールされていない状態
update_cache no yes
no
yumにキャッシュが古くなっているかどうかを確認し、必要に応じて再ダウンロードするように強制します。状態が存在するか最新の場合にのみ効果があります
update_only no yes
no
最新のものを使用する場合は、インストールされているパッケージのみを更新してください。パッケージをインストールしないでください。
最新の状態の場合のみ有効
use_backend auto auto
yum
yum4
dnf
このモジュールはyumをサポートします
これはym3/YUM3/yumとして知られています
yumの保守開発者によって非推奨になりました
Ansible2.7以降では、このモジュールは「新しいyum」であるYUM$もサポートし、dnfバックエンドを備えています
デフォルトでは、このモジュールはansible_pkg_mgrファクトに基づいてバックエンドを選択します
validate_certs yes yes
no
rpmのソースとしてhttpsURLを使用する場合のみ適用
noに設定:SSL証明書は検証されない。
これは、ソースサイトの検証を回避するため、自己署名証明書で管理しているサイトでは使用しないように設定する必要がある
この項目がなかったansible2.1以前では、noの設定はないのでyesの設定の振る舞いで行っていました。


ドキュメント

【Ansible Documentation】Module yum

参考サイト

matsublog Ansible:yumモジュールについて

【Qiita】yumモジュール