Projects/CentOS7 から 8 へのアップグレード
提供: fukudat.net
ナビゲーションに移動検索に移動
Projects/CentOS6 から 7 へのアップグレード に引き続き、最新版の CentOS8 へアップグレードを試みる。
アップグレード
yum -y update; yum -y install epel-release; yum -y install yum-utils; yum -y install rpmconf; rpmconf -a;
リターンを叩きまくって、全部デフォルト設定でゴー。
続けて、以下のコマンドを実行する。すごく長い行があるので注意。
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 install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.1-1.1911.0.9.el8.x86_64.rpm \ http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.1-1.1911.0.9.el8.x86_64.rpm \ http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.1-1.1911.0.9.el8.noarch.rpm; dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.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;
うまくいったら、バージョン番号を確認。
cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core)
成功かな。リブートしてみる。
reboot
あれ、立ち上がらない。コンソールに繋いでみると、変なエラーが出ている。
.... dracut-initqueue timeout ...
GRUBがカーネルを見つけられなくなった模様。まずい。
...と思って最初からやり直してみたところ、GMO Cloud VPS では floppy disk から立ち上がる様になっていて、bootloader が更新できていない。というか更新する手段がない。 このため、reboot する時 console をつなげておき、
Press F12 for boot menu.
と出たところで、すかさず F12 キーを押してメニューを表示させ、2. Hard Disk を選べばブートした。 今後、reboot するたびにこれをやらねばならない。
アップグレード後の設定
ネットワークデバイスの名前が、ethX から ensY (X, Y は数字) に変わっているので、通信ができなくなっている。 これまで ethX で通信できていたので、ensY を ethX に戻すことにする。(ensY で使える様にするには設定箇所が多いので)。
grub2 の設定ファイル /etc/default/grub を編集して、GRUB_CMDLINE_LINUX
のオプションに net.ifnames=0 biosdevname=0
を追加する。
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0" # 変更点はこの行だけ GRUB_DISABLE_RECOVERY="true"