CentOSとUbuntuに特定のパッケージバージョンをインストールする方法


通常、 CentOS Ubuntu にパッケージをインストールすると、デフォルトでパッケージ管理ソフトウェアがリポジトリから最新のパッケージバージョンを選択します。しかし、時々、何らかの理由で、あなたはあなたのLinuxシステムに特定のパッケージバージョンをインストールしたいかもしれません。

この記事では、それぞれYumとAPTフロントエンドパッケージマネージャを使ってCentOSとUbuntuに特定のまたは特定のパッケージバージョンをインストールする方法を説明します。

CentOS / RHEL / Fedoraに特定のパッケージバージョンをインストールする

まず、インストールされているかどうかにかかわらず、パッケージの利用可能なすべてのバージョンを確認する必要があります。通常、 yum はパッケージの特定のバージョンを無視し、常に利用可能な最新バージョンをインストールしようとします。

第二に、あなたがパッケージに関する情報を見つけようとすると、 yum はinfo、listあるいはsearchサブコマンドの出力にそのパッケージの最新バージョンを表示するだけです。しかし、 --showduplicates スイッチを使うと、リポジトリにあるすべてのパッケージバージョンを表示できます。

# yum --showduplicates list nginx

上記のコマンド出力から、パッケージの命名フォーマットは次のとおりです。

package_name.architecture  version_number–build_number  repository

build_number は、追加のドキュメント、設定ファイルの変更、バグ修正など、プログラムの作成者ではなくパッケージメンテナによって行われた小さな変更を表します。

パッケージの特定のバージョン( nginx-1.10.3-1.el7.ngx など)を特定したら、次のようにインストールします。次のコマンドに示すように、名前の形式はここで、希望するフルRPM package_name-version_number に変更する必要があります。

# yum install nginx-1.10.3

あるいは、特定のアップデートでバージョンを使用したい場合は、図のように build_number package_name-version_number-build_number )を指定します。

# yum install nginx-1.10.3-1.el7.ngx

上記の状況を考慮して、新しいバージョンのパッケージがすでにシステムにインストールされています。したがって、表示されているように、利用可能なパッケージから古いバージョンをインストールする場合は、インストール済みのパッケージバージョンを削除する必要があります。

# yum remove nginx

インストールしたパッケージを削除したら、上で説明したようにあなたが望む特定のバージョンをインストールすることができます。

UbuntuとDebianに特定のパッケージバージョンをインストールする

まず以下のapt-cacheコマンドを使って、あなたのシステムにインストールされているパッケージのバージョンとリポジトリの中にあるすべての利用可能なパッケージをチェックしてください。

$ apt-cache policy firefox

特定のパッケージバージョンをインストールするには、以下の構文で次のコマンドを使用します。

$ sudo apt install firefox=45.0.2+build1-0ubuntu1

新しいバージョンのパッケージがUbuntuシステムにすでにインストールされている場合は、それを削除してから必要なバージョンをインストールできます。

$ sudo apt remove firefox
$ sudo apt install firefox=45.0.2+build1-0ubuntu1

それで全部です!詳細については、 yum apt apt-cache のmanページを参照してください。質問がある場合は、下記のコメントフォームを使用してください。