Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.2.4. 既存の RPM パッケージの上書き

Atomic ベースにある RPM パッケージを上書きし、別のバージョンをインストールするには、rpm-ostree override コマンドを使用します。その仕組みを以下に示します。

  • 使用する RPM パッケージを Atomic ホストにコピーします。RPM で必要な依存パッケージも含めます。パッケージは、現在のパッケージからアップグレードまたはダウングレードできます。
  • rpm-ostree override コマンドを実行します。
  • 変更を有効にするために Atomic ホストを再起動します。

以下は、RHEL Atomic Host で openssh-server パッケージ(および依存パッケージ)を置き換える例です。

  1. 置き換える RPM パッケージ(および依存パッケージ)を取得し、Atomic Host のディレクトリーに配置します。
  2. 現在のディレクトリーのパッケージ(この場合は 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
  3. Atomic Host システムを再起動します。

    # systemctl reboot
  4. パッケージがインストールされ、利用できることを確認します。

    # 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 を使用して上書きされたパッケージをすべて削除します。