らくがきちょう

なんとなく

CentOS7 に最新パッケージを導入出来るよう、IUS リポジトリを追加する

CentOS の標準リポジトリで提供されるソフトウェアは、バージョンが古いものが多いです。 IUS では、より新しいバージョンのパッケージを提供しています。 IUS の公式ページには以下と書かれています。

IUS is a community project that provides RPM packages for newer versions of select software for Enterprise Linux distributions.

CentOS7 に IUS リポジトリを追加するには以下のように実行します。 IUS の依存性により、EPEL リポジトリも追加されます。

IUS リポジトリを追加する

yum -y install https://centos7.iuscommunity.org/ius-release.rpm

実際にインストールすると、以下のように表示されました。

# yum -y install https://centos7.iuscommunity.org/ius-release.rpm
Loaded plugins: fastestmirror
ius-release.rpm                                                                               | 8.1 kB  00:00:00
Examining /var/tmp/yum-root-ArcFgz/ius-release.rpm: ius-release-1.0-15.ius.centos7.noarch
Marking /var/tmp/yum-root-ArcFgz/ius-release.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package ius-release.noarch 0:1.0-15.ius.centos7 will be installed
--> Processing Dependency: epel-release = 7 for package: ius-release-1.0-15.ius.centos7.noarch
base                                                                                          | 3.6 kB  00:00:00
docker-ce-stable                                                                              | 2.9 kB  00:00:00
extras                                                                                        | 3.4 kB  00:00:00
updates                                                                                       | 3.4 kB  00:00:00
(1/5): base/7/x86_64/group_gz                                                                 | 156 kB  00:00:00
(2/5): extras/7/x86_64/primary_db                                                             | 130 kB  00:00:00
(3/5): base/7/x86_64/primary_db                                                               | 5.7 MB  00:00:00
(4/5): docker-ce-stable/x86_64/primary_db                                                     | 9.3 kB  00:00:00
(5/5): updates/7/x86_64/primary_db                                                            | 3.6 MB  00:00:00
Determining fastest mirrors
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
--> Running transaction check
---> Package epel-release.noarch 0:7-9 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
 Package                    Arch                 Version                            Repository                  Size
=====================================================================================================================
Installing:
 ius-release                noarch               1.0-15.ius.centos7                 /ius-release               8.5 k
Installing for dependencies:
 epel-release               noarch               7-9                                extras                      14 k

Transaction Summary
=====================================================================================================================
Install  1 Package (+1 Dependent package)

Total size: 23 k
Total download size: 14 k
Installed size: 33 k
Downloading packages:
epel-release-7-9.noarch.rpm                                                                   |  14 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-9.noarch                                                                           1/2
  Installing : ius-release-1.0-15.ius.centos7.noarch                                                             2/2
  Verifying  : ius-release-1.0-15.ius.centos7.noarch                                                             1/2
  Verifying  : epel-release-7-9.noarch                                                                           2/2

Installed:
  ius-release.noarch 0:1.0-15.ius.centos7

Dependency Installed:
  epel-release.noarch 0:7-9

Complete!

IUS リポジトリを無効化する

IUS リポジトリの設定ファイルは /etc/yum.repos.d/ius.repo に存在します。 IUS リポジトリをデフォルトでは無効化し、利用したい場合はオプションを明示的に指定させる場合には、設定ファイルの enabled=1enabled=0 に変更します。 「IUS リポジトリのパッケージは新しすぎて、安定性が不安」等の場合は無効化しておきます。

変更前

[ius]
name=IUS Community Packages for Enterprise Linux 7 - $basearch
#baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch
mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&arch=$basearch&protocol=http
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

変更後

[ius]
name=IUS Community Packages for Enterprise Linux 7 - $basearch
#baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch
mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&arch=$basearch&protocol=http
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

明示的にリポジトリを指定して yum を実行する

上述の手順で IUS リポジトリデフォルト無効化 している場合、IUS リポジトリを参照するには --enablerepo=ius オプション利用します。

yum -y --enablerepo=ius update

参考

デフォルトの /etc/yum.repos.d/ius.repo

[ius]
name=IUS Community Packages for Enterprise Linux 7 - $basearch
#baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch
mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&arch=$basearch&protocol=http
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

[ius-debuginfo]
name=IUS Community Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch/debuginfo
mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7-debuginfo&arch=$basearch&protocol=http
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

[ius-source]
name=IUS Community Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/SRPMS
mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7-source&arch=source&protocol=http
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY