2. パッケージ管理¶
Tip
本シナリオに入る前に、 前のシナリオ を完了させておくことを推奨します。
2.1. パラメータ設計¶
「あるべきインストール状態」である「インストールされている状態」か「インストールされていない状態」のいずれかの状態を管理する方法
不定数のパッケージを管理する方法
2.1.1. 選択肢の作成¶
データシートの作成¶
設定項目 |
項目1設定値 |
---|---|
項目の名前 |
present-absent |
項目の名前(Rest API用) |
present-absent |
入力方式 |
文字列(単一行) |
最大バイト数 |
16 |
正規表現 |
|
初期値 |
|
必須 |
✓ |
一意制約 |
✓ |
説明 |
|
備考 |
項目名 |
設定値 |
---|---|
項番 |
(自動入力) |
メニュー名 |
状態 |
メニュー名(REST) |
state |
作成対象 |
データシート |
表示順序 |
99999 |
最終更新日時 |
(自動入力) |
最終更新者 |
(自動入力) |
選択肢を登録¶
パラメータ |
備考 |
---|---|
present-absent |
|
present |
インストール |
absent |
アンインストール |
2.1.2. パラメータシートの作成¶
設定項目 |
項目1設定値 |
項目2設定値 |
---|---|---|
項目の名前 |
パッケージ名 |
状態 |
項目の名前(Rest API用) |
package_name |
state |
入力方式 |
文字列(単一行) |
プルダウン選択 |
最大バイト数 |
64 |
(項目なし) |
正規表現 |
(項目なし) |
|
選択項目 |
(項目なし) |
入力用:状態:present-absent |
参照項目 |
(項目なし) |
|
初期値 |
||
必須 |
✓ |
✓ |
一意制約 |
||
説明 |
||
備考 |
項目名 |
設定値 |
---|---|
項番 |
(自動入力) |
メニュー名 |
導入パッケージ |
メニュー名(REST) |
packages |
作成対象 |
パラメータシート(ホスト/オペレーションあり) |
表示順序 |
2 |
バンドル利用 |
「利用する」にチェックを入れる(有効) |
最終更新日時 |
(自動入力) |
最終更新者 |
(自動入力) |
2.2. 作業手順の登録¶
2.2.1. Movement 登録¶
Movement名 |
Ansible利用情報 |
|
---|---|---|
ホスト指定形式 |
ヘッダーセクション |
|
パッケージ管理 |
IP |
※ヘッダーセクションを参照 |
- hosts: all
remote_user: "{{ __loginuser__ }}"
gather_facts: no
become: yes
2.2.2. Ansible Role 登録¶
2.2.3. Movement と Ansible Role の紐付け¶
Movement名 |
ロールパッケージ名:ロール名 |
インクルード順序 |
---|---|---|
パッケージ管理 |
OS-RHEL8:OS-RHEL8/RH_rpm/OS_build |
1 |
2.2.4. 変数ネスト管理¶
# VAR_RH_hostname に対する、値は1つのみ
VAR_RH_hostname: myhostname
# VAR_RH_rpm に対して、変数のセット(action と pkg_name)が繰り返し、かつ、セット数が不定
VAR_RH_rpm:
- action: absent
pkg_name: httpd
- action: present
pkg_name: vsftpd
...
Movement名 |
変数名 |
メンバー変数名(繰返し有) |
最大繰返数 |
---|---|---|---|
パッケージ管理 |
VAR_RH_rpm |
0 |
10 |
2.2.5. 代入値自動登録設定¶
パラメータシート(From) |
登録方式 |
Movement名 |
IaC変数(To) |
||
---|---|---|---|---|---|
メニューグループ:メニュー:項目 |
代入順序 |
Movement名:変数名 |
Movement名:変数名:メンバー変数 |
||
代入値自動登録用:導入パッケージ:パッケージ名 |
1 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[0].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
1 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[0].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
2 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[1].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
2 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[1].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
3 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[2].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
3 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[2].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
4 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[3].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
4 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[3].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
5 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[4].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
5 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[4].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
6 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[5].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
6 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[5].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
7 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[6].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
7 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[6].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
8 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[7].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
8 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[7].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
9 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[8].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
9 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[8].action |
代入値自動登録用:導入パッケージ:パッケージ名 |
10 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[9].pkg_name |
代入値自動登録用:導入パッケージ:状態 |
10 |
Value型 |
パッケージ管理 |
パッケージ管理:VAR_RH_rpm |
パッケージ管理:VAR_RH_rpm:[9].action |
2.3. 作業対象の登録¶
2.3.1. 機器登録¶
2.4. パッケージのインストール実施(1回目)¶
2.4.1. 作業概要の作成¶
作業実施日時 |
2023/04/02 12:00:00 |
作業対象 |
db01(RHEL8) |
作業内容 |
パッケージのインストール・アンインストール |
2.4.2. 作業概要登録¶
オペレーション名 |
実施予定日時 |
---|---|
RHEL8のパッケージ管理 |
2023/04/02 12:00:00 |
2.4.3. パラメータ設定¶
ホスト名 |
オペレーション |
代入順序 |
パラメータ |
|
---|---|---|---|---|
オペレーション名 |
パッケージ名 |
状態 |
||
db01 |
2023/04/02 12:00:00_RHEL8のパッケージ管理 |
1 |
postgresql-server |
present |
2.4.4. 作業実行¶
事前確認
まずは、現在のサーバーの状態を確認しましょう。サーバに SSH ログインし、 postgresql-server のインストール状況を確認します。rpm -q postgresql-server
package postgresql-server is not installed
作業実行
作業実行 を押下します。から、パッケージ管理 Movement を選択し、次に、作業実行 を押下します。で、オペレーションに RHEL8のパッケージ管理 を選択し、画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。事後確認
再度サーバに SSH ログインし、postgresql-server のインストール状況を確認し postgresql-server がインストールされていることを確認します。rpm -q postgresql-server
# 環境ごとにバージョンは異なります postgresql-server-10.23-1.module+el8.7.0+17280+3a452e1f.x86_64
2.5. パッケージのインストール実施(2回目)¶
2.5.1. 作業概要の作成¶
作業実施日時 |
2024/05/02 12:00:00 |
作業対象 |
db01(RHEL8) |
作業内容 |
DBパッケージへ変更 |
2.5.2. 作業概要登録¶
オペレーション名 |
実施予定日時 |
---|---|
RHEL8をDBパッケージへ変更 |
2024/05/02 12:00:00 |
2.5.3. パラメータ設定¶
ホスト名 |
オペレーション |
代入順序 |
パラメータ |
|
---|---|---|---|---|
オペレーション名 |
パッケージ名 |
状態 |
||
db01 |
2024/05/02 12:00:00_RHEL8をDBパッケージへ変更 |
1 |
postgresql-server |
absent |
db01 |
2024/05/02 12:00:00_RHEL8をDBパッケージへ変更 |
2 |
mariadb-server |
present |
2.5.4. 作業実行¶
事前確認
現在のサーバーの状態を確認しましょう。サーバに SSH ログインし、パッケージのインストール状態を確認します。rpm -q postgresql-server
# 環境ごとにバージョンは異なります postgresql-server-10.23-1.module+el8.7.0+17280+3a452e1f.x86_64
rpm -q mariadb-server
package mariadb-server is not installed
作業実行
作業実行 を押下します。から、パッケージ管理 Movement を選択し、次に、作業実行 を押下します。で、オペレーションに RHEL8をDBパッケージへ変更 を選択し、画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。事後確認
再度サーバに SSH ログインし、postgresql-server がアンインストールされ、mariadb-server がインストールされていることを確認します。rpm -q postgresql-server
package postgresql-server is not installed
rpm -q mariadb-server
mariadb-server-10.3.35-1.module+el8.6.0+15949+4ba4ec26.x86_64
2.6. まとめ¶
入力値が確定している場合は、データシートを利用して入力ミスを防ぐことが可能です。
複数かつ数が不定のパラメータを管理する場合は、「バンドル」を利用することで柔軟なパラメータ管理が行うことが可能です。
大量のパラメータを設定する場合は、「全件ダウンロード・ファイル一括登録」を利用することでファイルからのデータ登録を行うことが可能です。