CentOS 7をアップデートする!(7.4→7.9)

WordPress用として構築したサーバのOS「CentOS 7」のアップデートを行います。

バックアップを取得する!

CentOS 7のバージョンアップを行う前には、トラブル時に戻せるように可能な限りバックアップを取得しましょう!

現在のバージョンを確認する!

バージョンアップ前のOSのバージョンを確認します。

$ cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

アップデートのチェックを行う!

アップデートのチェックを行い、パッケージの依存関係やダウンロードサイズの確認を行います。

$ sudo yum check-update

アップデートを行う!

アップデートチェックで問題なさそうであれば、アップデートを行います。

$ sudo yum pdate
...
otal size: 388 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/ius/packages/ius-release-2-1.el7.ius.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 4b274df2: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY


The GPG keys listed for the "IUS Community Packages for Enterprise Linux 7 - x86_64" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: ius-release-2-1.el7.ius.noarch
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

GPGの鍵なしのエラーが発生するので、以下の通りインストールします。

$ sudo yum install \
> https://repo.ius.io/ius-release-el7.rpm \
> https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Loaded plugins: fastestmirror, langpacks, priorities
ius-release-el7.rpm                                                                       | 8.2 kB  00:00:00     
Examining /var/tmp/yum-root-yWjCg5/ius-release-el7.rpm: ius-release-2-1.el7.ius.noarch
Marking /var/tmp/yum-root-yWjCg5/ius-release-el7.rpm as an update to ius-release-1.0-15.ius.centos7.noarch
epel-release-latest-7.noarch.rpm                                                          |  15 kB  00:00:00     
Examining /var/tmp/yum-root-yWjCg5/epel-release-latest-7.noarch.rpm: epel-release-7-13.noarch
Marking /var/tmp/yum-root-yWjCg5/epel-release-latest-7.noarch.rpm as an update to epel-release-7-11.noarch
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be updated
---> Package epel-release.noarch 0:7-13 will be an update
---> Package ius-release.noarch 0:1.0-15.ius.centos7 will be updated
---> Package ius-release.noarch 0:2-1.el7.ius will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================
 Package                 Arch              Version                Repository                                Size
=================================================================================================================
Updating:
 epel-release            noarch            7-13                   /epel-release-latest-7.noarch             25 k
 ius-release             noarch            2-1.el7.ius            /ius-release-el7                         4.5 k

Transaction Summary
=================================================================================================================
Upgrade  2 Packages

Total size: 29 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : epel-release-7-13.noarch                                                                      1/4 
warning: /etc/yum.repos.d/epel.repo created as /etc/yum.repos.d/epel.repo.rpmnew
  Updating   : ius-release-2-1.el7.ius.noarch                                                                2/4 
  Cleanup    : ius-release-1.0-15.ius.centos7.noarch                                                         3/4 
  Cleanup    : epel-release-7-11.noarch                                                                      4/4 
  Verifying  : ius-release-2-1.el7.ius.noarch                                                                1/4 
  Verifying  : epel-release-7-13.noarch                                                                      2/4 
  Verifying  : ius-release-1.0-15.ius.centos7.noarch                                                         3/4 
  Verifying  : epel-release-7-11.noarch                                                                      4/4 

Updated:
  epel-release.noarch 0:7-13                           ius-release.noarch 0:2-1.el7.ius                          

Complete!

再度「yum update」を試みますが、transaction testで、python 3.6のエラーが出力されます。pythonは、使用していないのでアンインストールします。

$ sudo yum remove python36u
...
=================================================================================================================
 Package                           Arch                Version                           Repository         Size
=================================================================================================================
Removing:
 python36u                         x86_64              3.6.5-1.ius.centos7               @ius               38 k
Removing for dependencies:
 python36u-devel                   x86_64              3.6.5-1.ius.centos7               @ius              2.6 M
 python36u-libs                    x86_64              3.6.5-1.ius.centos7               @ius               39 M
 python36u-pip                     noarch              9.0.1-1.ius.centos7               @ius              8.9 M
 python36u-setuptools              noarch              39.0.1-1.ius.centos7              @ius              3.6 M

Transaction Summary
=================================================================================================================
Remove  1 Package (+4 Dependent packages)

Installed size: 55 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : python36u-devel-3.6.5-1.ius.centos7.x86_64                                                    1/5 
  Erasing    : python36u-pip-9.0.1-1.ius.centos7.noarch                                                      2/5 
  Erasing    : python36u-setuptools-39.0.1-1.ius.centos7.noarch                                              3/5 
  Erasing    : python36u-libs-3.6.5-1.ius.centos7.x86_64                                                     4/5 
  Erasing    : python36u-3.6.5-1.ius.centos7.x86_64                                                          5/5 
  Verifying  : python36u-pip-9.0.1-1.ius.centos7.noarch                                                      1/5 
  Verifying  : python36u-3.6.5-1.ius.centos7.x86_64                                                          2/5 
  Verifying  : python36u-devel-3.6.5-1.ius.centos7.x86_64                                                    3/5 
  Verifying  : python36u-libs-3.6.5-1.ius.centos7.x86_64                                                     4/5 
  Verifying  : python36u-setuptools-39.0.1-1.ius.centos7.noarch                                              5/5 

Removed:
  python36u.x86_64 0:3.6.5-1.ius.centos7                                                                         

Dependency Removed:
  python36u-devel.x86_64 0:3.6.5-1.ius.centos7         python36u-libs.x86_64 0:3.6.5-1.ius.centos7               
  python36u-pip.noarch 0:9.0.1-1.ius.centos7           python36u-setuptools.noarch 0:39.0.1-1.ius.centos7        

Complete!

再々度「yum update」を試みて、アップデートを終了することができました。

サーバを再起動する!

OSをアップデートした場合は、サーバを再起動します。

アップデート後のバージョンを確認する!

バージョンアップ前のOSのバージョンを確認します。

$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

念のため、アップデートの残りがないことを確認します。

$ sudo yum check-update
Loaded plugins: fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel-debuginfo: ftp.riken.jp
 * epel-source: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
$

おわりに

CentOSを最初にインストールしてから、間を空けてしまったので、単純なアップデートにはなりませんでしたが、無事にCentOS 7.4→CentOS 7.9にアップデートを完了することができました。