CentOS7からCentOS8へのアップグレード

CentOS7からCentOS8へアップグレードすると、SSHのrootログインができなくなる設定に変わります。
CentOS7のインストール直後など一般ユーザーを作成していない場合は、SSHでのログインができなくなるため注意が必要です。

リモートサーバなどで直接ログインできない環境の場合は、先に一般ユーザを作成しておいたほうがいいです。

またはrootログインができるよう、明示的に設定を追記します。

vi /etc/ssh/sshd_config

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PermitRootLogin yes

SSHを再起動します。

systemctl restart sshd.service

このように設定ファイルにデフォルト値がコメントで記載されているものがありますが、OSのアップグレードによりデフォルト値が変わってしまうものがあり、混乱することがあります。

直接CentOS8をインストールしたものと、CentOS7からアップグレードしたもので、/etc以下の差分を調べてみると、3〜4割ぐらいが異なります。

アップグレード

EPELリポジトリをインストールします。

# yum -y install epel-release

yum-utilsなどのツールをインストールします。

# yum -y install yum-utils
# yum -y install rpmconf

Rpmconfの初期設定

# rpmconf -a
#Your choice: (以前の設定を使いたい場合はNと入力します。)

クリーンアップします。

# package-cleanup --leaves
# package-cleanup --orphans

CentOS8では、yumがdnfに変わるため、dnfをインストールしてyumを削除します。

# yum -y install dnf
# dnf -y remove yum yum-metadata-parser
# rm -Rf /etc/yum

dnfパッケージを更新します。

# dnf -y upgrade
# dnf -y install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.3-1.2011.el8.noarch.rpm http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

dnfをクリーンアップします。

# dnf clean all

kernelを更新するため、古いカーネルを削除します。

# rpm -e `rpm -q kernel`

競合が発生するため、sysvinit-toolsを削除します。

# rpm -e --nodeps sysvinit-tools

CentOS8の有効なリポジトリから入手できる最新バージョンと一致させます。
(ここでいくつか競合が発生することがありますが、都度対処します。)
場合によってはダウングレードされるパッケージもあり、変更されたパッケージを移行後に稼働確認するためメモしておいたほうがいいです。
distro-syncとupgradeの違い

# dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

CentOS8のカーネルへ更新します。

# dnf -y install kernel-core

最小インストールで更新をします。

# dnf -y groupupdate "Core" "Minimal Install"

再起動します。

# shutdown -r now

CentOSのバージョンを確認します。

# cat /etc/redhat-release 
CentOS Linux release 8.3.2011

Linuxのカーネルのバージョンを確認します。

# uname -a
Linux localhost.localdomain 4.18.0-240.15.1.el8_3.x86_64 #1 SMP Mon Mar 1 17:16:16 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

distro-syncとupgradeの違い

distro-syncはバージョンを合わせるために必要ならダウングレードもします。
upgradeはバージョンが新しいものへの更新のみを行います。

man

dnf distro-sync
As necessary upgrades, downgrades or keeps selected installed packages to match the latest version available from any enabled repository.
If no package is given, all installed packages are con‐ sidered.

必要に応じて、選択したインストール済みパッケージをアップグレード、ダウングレード、または保持して、有効なリポジトリから入手できる最新バージョンと一致させます。
パッケージが指定されていない場合は、インストールされているすべてのパッケージが考慮されます。

dnf upgrade
Updates each package to a highest version that is both available and resolvable.

各パッケージを、利用可能で解決可能な最高のバージョンに更新します。

関連記事

スポンサーリンク

Java メモリー使用量を取得する方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る