6.2.4. 既存の RPM パッケージの上書き
Atomic ベースにある RPM パッケージを上書きし、別のバージョンをインストールするには、rpm-ostree override
コマンドを使用します。その仕組みを以下に示します。
- 使用する RPM パッケージを Atomic ホストにコピーします。RPM で必要な依存パッケージも含めます。パッケージは、現在のパッケージからアップグレードまたはダウングレードできます。
-
rpm-ostree override
コマンドを実行します。 - 変更を有効にするために Atomic ホストを再起動します。
rpm-ostree オーバーライド
を使用して Atomic の Docker ランタイムを置き換える方法の例については、RHEL Atomic Host での docker パッケージのバージョンのロック を参照してください。
以下は、RHEL Atomic Host で openssh-server パッケージ(および依存パッケージ)を置き換える例です。
- 置き換える RPM パッケージ(および依存パッケージ)を取得し、Atomic Host のディレクトリーに配置します。
現在のディレクトリーのパッケージ(この場合は openssh-server、openssh-clients、および openssh)をダウングレードします。以下を入力し、これらのパッケージを置き換えます。
# rpm-ostree override replace \ openssh-server-6.6.1p1-35.el7_3.x86_64.rpm \ openssh-clients-6.6.1p1-35.el7_3.x86_64.rpm \ openssh-6.6.1p1-35.el7_3.x86_64.rpm Checking out tree 5df677d... done ... Transaction complete; bootconfig swap: yes deployment count change: 1 Downgraded: openssh 7.4p1-16.el7 -> 6.6.1p1-35.el7_3 openssh-clients 7.4p1-16.el7 -> 6.6.1p1-35.el7_3 openssh-server 7.4p1-16.el7 -> 6.6.1p1-35.el7_3 Run "systemctl reboot" to start a reboot
Atomic Host システムを再起動します。
# systemctl reboot
パッケージがインストールされ、利用できることを確認します。
# atomic host status State: idle Deployments: ● ostree://rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard Version: 7.5.0 (2018-04-05 10:29:00) BaseCommit: 5df677dcfef08a87dd0ace55790e184a35716cf11260239216bfeba2eb7c60b0 ReplacedBasePackages: openssh openssh-server openssh-clients 7.4p1-16.el7 -> 6.6.1p1-35.el7_3 # rpm -q openssh openssh-clients openssh-server openssh-6.6.1p1-35.el7_3.x86_64 openssh-clients-6.6.1p1-35.el7_3.x86_64 openssh-server-6.6.1p1-35.el7_3.x86_64
以前のパッケージバージョンに戻す場合は、rpm-ostree override reset
を使用して実行できます。rpm-ostree override reset <packagename
> を使用して個々のパッケージを削除するか、rpm-ostree override reset --all
を使用して上書きされたパッケージをすべて削除します。