この記事では、CentOSディストリビューションで特定のパッケージをアップグレードする方法について詳しく説明します。ときどき、特定のパッケージをアップグレードして、他のパッケージをデフォルトバージョンのままにしておく必要がある場合があります。この理由の1つは、データベースやWebサーバーなどの重要なサービスの実行に使用されるパッケージの安定性を維持することです。アップグレードにより、パッケージが変更され、サービスの通常の実行に影響が出る場合があります。
yumを使用してCentOSの特定のパッケージをアップグレードする
何よりもまず、保留中の更新があるパッケージを確認する必要があるかもしれません。これを行うには、次のコマンドを実行します
yum list updates
システムに存在するパッケージの複数のバージョンを表示する必要がある場合があります。これを行うには、以下のコマンドを実行します
yum --showduplicates list httpd | expand
上記の例では、複数のバージョンのhttpdパッケージを表示しています。
Installed Packages
httpd.x86_64 2.4.6-67.el7_4.6 @rhui-REGION-rhel-server-releases
Available Packages
httpd.x86_64 2.4.6-17.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-18.el7_0 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-19.el7_0 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-31.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-31.el7_1.1 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-40.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-40.el7_2.1 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-40.el7_2.4 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-45.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-45.el7_3.4 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7_4.2 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7_4.5 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7_4.6 rhui-REGION-rhel-server-releases
上記の結果から、現在インストールされているhttpdパッケージが最新のバージョン2.4.6-67.el7_4.6であることがわかります。パッケージの特定のバージョンをインストールしたい場合はどうしますか?その構文は次のようになります
yum install packagename version
たとえば、バージョン2.4.6-67.el7_4.5にダウングレードする場合は、次に示すように、最初に最新バージョンを削除する必要があります。
yum remove httpd
その後、図のように好みのhttpdバージョンをインストールします。
yum install httpd 2.4.6-67.el7_4.5
インストールしたパッケージのバージョンをロックし、将来の更新を回避するには、versionlockプラグインを使用します。プラグインをインストールするには、
を実行しますyum install yum-versionlock
サンプル出力
yum-plugin-versionlock-1.1.31-42.el7.noarch.rpm | 32 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : yum-plugin-versionlock-1.1.31-42.el7.noarch 1/1
Verifying : yum-plugin-versionlock-1.1.31-42.el7.noarch 1/1
Installed:
yum-plugin-versionlock.noarch 0:1.1.31-42.el7
Complete!
httpdパッケージのバージョンをロックするには、以下のコマンドを実行します
yum versionlock httpd
出力
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos, versionlock
Adding versionlock on: 0:httpd-2.4.6-67.el7_4.5
versionlock added: 1
特定のパッケージをアップグレードするには
yum upgrade package-name
パッケージをアップグレードから一時的に除外するには、次のコマンドを実行します
yum --exclude update package-name
または、-x
を使用することもできます --exclude
yum -x exclude httpd,php
上記のコマンドは、残りのパッケージがアップグレードされるため、httpdおよびphpパッケージをアップグレードから除外します。
パッケージの更新を完全に無効にする場合は、yum.conf
を見つけます。 /etc/yum/yum.conf内
これがどのように見えるかのスナップです
パッケージを除外するには、exclude=package-name
を追加します 構成ファイルの最後にあります。この例では、以下に示すように、samba、httpd、php、およびmariadbパッケージをアップグレードから除外します。
そこにあるパッケージのいずれかをアップグレードしようとすると、No packages marked for update
が表示されます。 エラー。
関連記事:
- Yumアップデートから特定のパッケージを除外する方法
- apt-getアップグレードから特定のパッケージを除外する方法
コマンドを試してみてください。フィードバックは大歓迎です。ありがとうございます。