ウェブサイト検索

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


通常、CentOSUbuntu にパッケージをインストールすると、パッケージ管理ソフトウェアはデフォルトでリポジトリから最新のパッケージ バージョンを選択します。ただし、何らかの理由で、特定のパッケージ バージョンを 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

あるいは、特定の更新が含まれたバージョンを使用する場合は、示されているようにビルド番号 (パッケージ名-バージョン番号-ビルド番号) を指定します。

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

それだけです!詳細については、yumaptapt-cache のマニュアル ページを参照してください。ご質問がある場合は、以下のコメント フォームを使用してご連絡ください。