Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
51
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@kentarosasaki

Yum で特定のバージョンを指定してソフトウェアをインストールする方法

はじめに

バージョンを固定してソフトウェアをインストールしたい場合によくやる方法だけど、よくやり方を忘れるからメモっとく。

Yum のリポジトリ内にある全ての重複したバージョンを列挙するために --showduplicates というオプションが用意されている。このオプションは、Yum のサブコマンドである listsaearch に対して有効である。

ここでは 1 例として、Docker CE の特定のバージョンをインストールしてみる。前提として、OS は CentOS 7.4 を使い、かつ、Docker 用リポジトリは導入済みとする。

全ての重複バージョンの検索

search サブコマンドに対して --showduplicates オプションを付与すると以下のような結果が出力される。

$ sudo yum --showduplicates search docker-ce
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
========================================================== N/S matched: docker-ce ===========================================================
docker-ce-17.03.0.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.03.1.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.03.2.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.06.0.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.06.1.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.06.2.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.09.0.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.09.1.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.12.0.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-17.12.1.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-18.03.0.ce-1.el7.centos.x86_64 : The open-source application container engine
docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch : SELinux Policies for the open-source application container engine
docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch : SELinux Policies for the open-source application container engine
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch : SELinux Policies for the open-source application container engine

  Name and summary matches only, use "search all" for everything.

特定のバージョンを指定してインストール

上記の結果から各バージョンごとのリポジトリ内でのソフトウェア名がわかったので、それを指定してインストールする。

$ sudo yum install docker-ce-17.12.1.ce-1.el7.centos.x86_64

(省略)

Dependencies Resolved

=============================================================================================================================================
 Package                            Arch                    Version                                  Repository                         Size
=============================================================================================================================================
Installing:
 docker-ce                          x86_64                  17.12.1.ce-1.el7.centos                  docker-ce-stable                   30 M
Installing for dependencies:
 container-selinux                  noarch                  2:2.42-1.gitad8f0f7.el7                  extras                             32 k
 libtool-ltdl                       x86_64                  2.4.2-22.el7_3                           base                               49 k

Transaction Summary
=============================================================================================================================================
Install  1 Package (+2 Dependent packages)

(省略)

以上。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
51
Help us understand the problem. What are the problem?