CentOS7からCentOS8にアップグレードする方法
Contents [hide]
CentOS7からCentOS8にアップグレードする利点
性能アップ
CPU等環境によりますが、CentOS7からCentOS8にアップグレードする事で性能がアップすると言われています。
実際DigitalOceanのStandard Plan 1CPU/1GB RAMでCPUがIntel(R) Xeon(R) Gold 6140 CPU @ 2.30GHzを引いた場合
CentOS 7.6ではどれだけUnixbenchをとっても477-605の範囲という成績でしたが
初めてCentOS 8にアップグレードした時に602→801(34%性能UP)、2回目には605→860(42%性能UP)という成績が出ました。
少なくともDigitalOceanでは無視してそのままCentOS 7を使うには大き過ぎる差です。
サポート期限がより未来に
サポート期限がより未来になります。
CentOS 7=2024-06-30
CentOS 8=2029-05
より新しいソフト
バンドルされているソフトがより新しいバージョンになります。
ソフト | CentOS7.6 | CentOS8.0 |
---|---|---|
apache | 2.4.6 | 2.4.37 |
berkeleydb | 5.3.21 | 5.3.28 |
gcc | 4.8.5 | 8.2.1 |
git | 1.8.3 | 2.18.1 |
kernel | 3.10.0-957.27.2.el7 | 4.18.0-80.11.2.el8 |
mariadb | 5.5.64 | 10.3.11 |
nginx | – | 1.14 |
node.js | – | 10.16 |
Perl | 5.16.3 | 5.26.3 |
PHP | 5.4.16 | 7.2 |
PostgreSQL | 9.2.24 | 10.6 |
Python | 3.6.8 | 3.6 |
Ruby | 2.0.0 | 2.5.3 |
幾つかのツールが差し替え
yum => dnf
といった差し替えが行われています。
結論: 新規サーバー立ち上げるのならCentOS 8にアップグレードしよう
上記のメリットを考えると、2019/11時点でまだCentOS8を提供していないVPSも多いですが、ゼロからインスタンスを立ち上げる場合、こうしたメリットを考えるとCentOS8で始めたいという方も多いのではないでしょうか。
但し、残念ながらCentOS公式は7から8にアップグレードするツールを提供していません。
なので、ここでは自力でCentOS7から8にコマンドだけでアップグレードする手順を公開します。
CentOS7からCentOS8へアップグレードする手順
注意
既に使っているサーバーで実行する事はお勧めしません。
新たにこれから立ち上げるサーバーなど、失敗して壊れても良い新しいサーバーでやる事をお勧めします。
以下の手順はDigitalOceanのStandardプランのCentOS7.6のインスタンスを0から立ち上げた状態で検証してあります。
コマンド
以下のコマンドをrootで打っていきます。
1 2 3 4 5 | yum -y update; yum -y install epel-release; yum -y install yum-utils; yum -y install rpmconf; rpmconf -a; |
rpmconf -aを打って聞かれる問いにはひたすらリターンキー
またコピペでコマンドを実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package-cleanup --leaves; package-cleanup --orphans; yum -y install dnf; dnf -y remove yum yum-metadata-parser; rm -Rf /etc/yum; dnf upgrade -y; dnf -y upgrade http://mirror.bytemark.co.uk/centos/8.0.1905/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm; dnf clean all; rpm -e `rpm -q kernel`; rpm -e --nodeps sysvinit-tools; dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync; dnf -y install kernel-core; dnf -y groupupdate "Core" "Minimal Install" --allowerasing; |
以下のコマンド
1 | cat /etc/redhat-release; |
を打つと
1 | CentOS Linux release 8.0.1905 (Core) |
とCentOS 8にアップグレードされたことが確認できる情報が出てきます。
現在のkernelを確認
1 | uname -a; |
そうすると
1 | Linux dev.sakuhindb.com 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
といった値が表示される。
カーネル更新の反映の為サーバーを再起動
1 | shutdown -r now; |
起動したらログインして再度
1 | uname -a; |
と打って確認
1 | Linux dev.sakuhindb.com 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
kernelが3.xから4.xと大幅更新されている事が確認できました。
CentOS8へのアップデートが成功したので、他にもCentOS8のインスタンスを作りたい場合、Snapshotを取れるのなら、ここあたりでとって、snapshotからCentOS8を立ち上げれるようにしましょう。
CentOS8.1へのアップグレード方法
CentOS8.1へのアップグレード方法はこちらの記事をご参照下さい。