0243 | upgrade centos 7 เป็น centos 8
- อาจไม่ได้ผลในกรณีที่ลง software จาก repository ภายนอก
- ตรวจสอบให้แน่ใจว่าทุก repository ที่ใช้งานอยู่ รองรับ centos 8 ก่อนอัพเกรด
- backup ก่อนเสมอ
reference: https://www.tecmint.com/upgrade-centos-7-to-centos-8/
1) ลง epel repository
yum install epel-release -y
2) ลง package yum-utils กับ rpmconf
yum install yum-utils rpmconf
3) check ไฟล์ config ว่ามีอะไรเปลี่ยนบ้าง ให้ revert กลับมาที่ default rpm ก่อน ** ระวัง
rpmconf -a
4) cleanup package ที่ซ้ำซ้อน
package-cleanup --leaves package-cleanup --orphans
5) ติดตั้ง dnf แล้วลบ yum ทิ้ง (package manager ตัวใหม่ที่มาแทน yum)
yum install dnf dnf -y remove yum yum-metadata-parser rm -Rf /etc/yum
6) upgrade package ทั้งหมดของ centos 7 ให้เป็น version ล่าสุด
dnf upgrade
7) ติดตั้ง centos release ของ centos 8 ถ้าวันไหน centos 8 ออก update ก็ต้องแก้ version package ตาม
dnf install \ http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.1-1.1911.0.8.el8.x86_64.rpm \ http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.1-1.1911.0.8.el8.noarch.rpm \ http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.1-1.1911.0.8.el8.x86_64.rpm
8) upgrade epel repository และ repository อื่นๆ ให้เป็น package ของ centos 8
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
** ถ้ามีใช้งาน repository ภายนอก เช่น remi ก็ไล่ upgrade release package ของแต่ละ repository ให้หมด
9) ลบ kernel เก่าของ centos 7 ออก
rpm -e `rpm -q kernel`
10) ลบ conflict package ระหว่าง centos 7 กับ 8 (อาจมีอีก ถ้า error ตอน upgrade ในขั้นถัดไปก็มาไล่ลบ)
rpm -e --nodeps sysvinit-tools
11) upgrade เป็น centos 8
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
12) ติดตั้ง kernel ใหม่
dnf -y install kernel-core
13) ติดตั้ง package ใน group minimal ของ centos 8 เพิ่มให้ครบ
dnf -y groupupdate "Core" "Minimal Install"
14) สำคัญมาก ตรวจสอบให้แน่ใจว่า SELINUX ปิดไปแล้ว (ในไฟล์ /etc/selinux/config)
เสร็จแล้วก็ reboot แล้วก็สวดภาวนาได้เลยครับ