CentOS7からCentOS8にアップグレード

CentOS7からCentOS8にアップグレード

稼働中の CentOS7 から CentOS8 にアップグレードしたメモ。

sudo yum -y update
sudo yum -y install epel-release
sudo yum -y install yum-utils
sudo yum -y install rpmconf
sudo rpmconf -a

「rpmconf -a」を実行すると下記表示になる

What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep your current version.
*** aliases (Y/I/N/O/D/Z/S) [default=N] ?

特にオプションを指定しない場合はそれぞれ Enter キー押下でデフォルトの"N"が選択される

パッケージをクリーンアップする

sudo package-cleanup --leaves
sudo package-cleanup --orphans

CentOS8 からは yum とはもうお別れ、dnf を入れます。

https://ja.wikipedia.org/wiki/DNF_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)

Yum は下記に挙げる欠点を抱えていた。

  • ドキュメント化されていない
  • 依存関係解決アルゴリズムが壊れている
  • 内部関数をリファクタリングすることが不可能 また、Yum は Python 2 で書かれており、パフォーマンス面で遅くメモリを大量に消費してメモリーリークを引き起こしがちになるなどの問題もあった。
sudo yum -y install dnf
sudo dnf -y remove yum yum-metadata-parser
sudo rm -Rf /etc/yum
sudo dnf upgrade -y
sudo 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
sudo dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf clean all
sudo rpm -e `rpm -q kernel`
sudo rpm -e --nodeps sysvinit-tools
sudo dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
sudo dnf -y install kernel-core
sudo dnf -y groupupdate "Core" "Minimal Install" --allowerasing

最後に再起動する

shutdown -r now

再起動したら下記コマンドでアップグレードの確認

cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

と表示されていれば完了