การอัพเกรดระบบให้ทันสมัยอยู่ตลอดเวลานั้น มีประโยชน์ในหลายๆ เรื่อง โดยเฉพาะอย่างยิ่งเรื่องของการทำให้ระบบนั้นมีความปลอดภัย อย่างที่ทุกคนทราบแล้วว่า CentOS นั้นถูกประกาศว่า End-of-Life ไปแล้ว เพราะฉะนั้นผู้ที่ใช้ CentOS อยู่ก็จะไม่มีซอฟต์แวร์ออกมาอัพเกรด ในขณะที่ปัจจุบันช่องโหว่ก็มีการค้นพบขึ้นเรื่อยๆ และ บางช่องโหว่นั้น ถือเป็นระดับ วิกฤตที่ ทำให้ระบบเสี่ยงต่อความเสียหายได้
สำหรับ Alma Linux นั้นเป็น Linux Distribution ตัวหนึ่งที่เป็นทางเลือกอันดับต้นๆ สำหรับผู้ที่ต้องการ Migrate จาก CentOS วันนี้เราก็เลยขอนำเสนอวิธีการ Migration CentOS 7 ไปเป็น Alma Linux 9 เพื่อให้ระบบของท่านทันสมัยอยู่ตลอดเวลา
สำหรับขั้นตอนที่ 1 เราจะทำการเช็คก่อนว่า CentOS ของเรานั้นเป็น version อะไร โดยการใช้คำสั่ง
more /etc/*release*
โดยเราจะได้ตัวอย่างดังนี้
จากตัวอย่างเราจะเห็นว่าตอนนี้ใช้ CentOS 7.9.2009 อยู่ซึ่งเป็นในตระกูล 7
หลังจากนั้นให้ท่านพิมพ์คำสั่ง
yum update -y
เพื่อทำการอัพเดท package ในระบบว่าเป็นตัวใหม่ที่สุดก่อน ที่จะทำการ migrate
หลังจากนั้นให้ท่านพิมพ์
reboot
เพื่อทำการรีบูตเครื่อง
หลังจากนัันให้ท่านพิมพ์
yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
เพื่อทำการติดตั้ง package สำหรับการเปลี่ยนมาเป็น almalinux
หลังจากนั้นให้ท่านพิมพ์
yum install -y leapp-upgrade leapp-data-almalinux
เพื่อทำการติดตั้ง leapp ซึ่งเป็นโปรแกรมช่วยในการอัพเกรดระบบ
หลังจากนั้นให้ท่านพิมพ์
leapp preupgrade
เพื่อเป็นการเช็คว่าระบบของท่านพร้อมสำหรับการ migrate หรือไม่ โดยผลลัพธ์ที่ได้ จะต้องเป็นสีเขียวในตอนท้าย ถ้าเป็นสีแดง ท่านจะต้องเช็คว่า error นั้นเกิดจากอะไร ใน /var/log/leapp/leapp-report.txt
โดยในไฟลฺ์ดังกล่าวเมื่อท่านเปิดขึ้นมาแล้ว ให้ทำการแก้ไข ตามคำแนะนำ ในส่วนที่เขียนว่า Risk Factor: high แต่ละข้อให้หมด ไม่งั้นท่านจะไม่สามารถทำการ migrate ได้
เช่นในตัวอย่างที่ปรากฏ ระบบจะบอกว่า มี package kernel dev นั้นติดตั้งเยอะเกินไป ถ้าท่านไปตรวจสอบในไฟล์ /var/log/leapp/leapp-report.txt ท่านจะพบว่า ระบบจะบอกให้แก้ไขคือ
Risk Factor: high (inhibitor) Title: Multiple devel kernels installed Summary: DNF cannot produce a valid upgrade transaction when multiple kernel-devel packages are installed. Remediation: [hint] Remove all but one kernel-devel packages before running Leapp again. [command] yum -y remove kernel-devel-3.10.0-862.9.1.el7 kernel-devel-3.10.0-1062.7.1.el7 kernel-devel-3.10.0-1160.119.1.el7 kernel-devel-3.10.0-1160.80.1.el7 Key: 8ceea81afbbb1a329b7d82ca7212b21509e5b256 ----------------------------------------
หลังจากทำการแก้ไขแล้ว ก็ให้ท่านพิมพ์
leapp preupgrade
ระบบก็จะบอกว่า ทุกอย่างถูกต้องและพร้อมสำหรับการ Migrate ตามตัวอย่างด้านล่าง
เมื่อเราได้ผลลัพธ์สีเขียว เราก็พิมพ์คำสั่ง
leapp upgrade
เพื่อทำการ migrate หรือ upgrade ไปเป็นไป AlmaLinux 8 ก่อน ซึ่งเราจะทำเป็นขั้นตอน คือ จะต้องอัพเป็น AlmaLinux 8 ก่อน และ ทำการอัพเกรดอีกครั้งเป็น AlmaLinux 9
หมายเหตุ : ในบางครั้งระบบอาจจะแจ้งว่ามี Error
Error Summary ------------- Disk Requirements: At least XXXXMB more space needed on the / filesystem.
ถึงแม้ว่าใน partition / ของท่านจะมีเนื้อที่เหลือเยอะ หากขึ้น error ดังกล่าวขอให้ท่านพิมพ์
export LEAPP_OVL_SIZE=4096
และทำการพิมพ์คำสั่ง
leapp upgrade อีกครั้ง
หลังจากเราได้หน้าจอสีเขียวแล้ว เราก็พิมพ์คำสั่ง
reboot
เพื่อทำการ รีบูตเครื่อง
หลังจากทำการ migrate มาเป็น AlmaLinux 8 เรียบร้อยแล้ว ขั้นตอนต่อไปคือ การอัพเกรดเป็น AlmaLinux 9 สำหรับขั้นตอนนี้ก็อาจจะใช้เวลานานหน่อยกว่าระบบจะทำการบูตขึ้นมาอีกครั้งหนึ่งเพราะ ระบบจะทำการอัพเกรดหลายๆ package ในระบบ
เมื่อระบบทำการบูตขึ้นมาเรียบร้อยแล้ว ให้ท่านทำการแก้ไขไฟล์ โดยการพิมพ์
vi /etc/yum.conf
หลังจากนั้น ทำการลบ ในส่วนของ exclude ทั้งหมด
[main] gpgcheck=1 installonly_limit=3 clean_requirements_on_remove=True best=True skip_if_unavailable=False exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp
ท่านก็จะได้เนื้อหาในไฟล์เป็นแค่
[main] gpgcheck=1 installonly_limit=3 clean_requirements_on_remove=True best=True skip_if_unavailable=False exclude=
และทำเช่นเดียวกันในไฟล์ /etc/dnf/dnf.conf
หลังจากนั้นท่านจะต้องดูว่า มี package อะไรบ้างที่ยังเหลือจาก CentOS 7 โดยการพิมพ์
rpm -qa | grep el7
ในกรณีของตัวอย่าง จะได้ผลลัพธ์ดังนี้
kernel-3.10.0-1160.80.1.el7.x86_64 libicu73-73.2-1.el7.remi.x86_64 leapp-0.14.0-1.el7.noarch leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.20.noarch gd3php-2.3.3-7.el7.remi.x86_64 oniguruma5php-6.9.9-1.el7.remi.x86_64 libwebp7-1.0.3-2.el7.remi.x86_64 elevate-release-1.0-2.el7.noarch python2-leapp-0.14.0-1.el7.noarch kernel-3.10.0-1160.119.1.el7.x86_64 libicu69-69.1-4.el7.remi.x86_64 leapp-data-almalinux-0.2-5.el7.noarch libicu71-71.1-2.el7.remi.x86_64
เพราะฉะนั้น จะต้องทำการ remove package เหล่านั้นออกด้วยคำสั่ง
yum remove libicu73-73.2-1.el7.remi.x86_64 leapp-0.14.0-1.el7.noarch leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.20.noarch gd3php-2.3.3-7.el7.remi.x86_64 oniguruma5php-6.9.9-1.el7.remi.x86_64 libwebp7-1.0.3-2.el7.remi.x86_64 elevate-release-1.0-2.el7.noarch python2-leapp-0.14.0-1.el7.noarch kernel-3.10.0-1160.119.1.el7.x86_64 libicu69-69.1-4.el7.remi.x86_64 leapp-data-almalinux-0.2-5.el7.noarch libicu71-71.1-2.el7.remi.x86_64
หลังจากนั้นพิมพ์คำสั่ง
rm -fr /root/tmp_leapp_py3
เพื่อเช็คว่าไม่มี temporary folder ในระหว่างการ migration เหลืออยู่
หลังจากนั้นพิมพ์
dnf clean all
ต่อไปพิมพ์คำสั่ง
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
เพื่อทำการ ลบ gpg key เก่าๆ ออกจากระบบ
ขั้นตอนต่อไป เราจะทำการอัพเกรดเป็น AlmaLinux 9
ทำการ ติดตั้ง package เพื่อช่วยในการอัพเกรด
yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
ทำการติดตั้ง leapp package สำหรับ AlmaLinux
yum install -y leapp-upgrade leapp-data-almalinux
ทำการเช็คว่าระบบพร้อมเพื่อการอัพเกรดหรือไม่ ด้วยคำสั่ง
leapp preupgrade
หมายเหตุ : ในหลายๆ เครื่องที่เราทำ ท่านจะต้องพิมพ์คำสั่ง
leapp answer --section check_vdo.no_vdo_devices=True
เพื่อเป็นการตอบคำถามเกี่ยวกับ vdo_device
เมื่อท่านได้หน้าจอบอกสีเขียว หรือไม่มี error อะไร ก็ให้ท่านพิมพ์
leapp upgrade
หลังจากนั้นก็ให้ท่านทำการ reboot เครื่องด้วยคำสั่ง
reboot
ก็เป็นอันเสร็จเรียบร้อย สำหรับการ migrate CentOS 7 ขึ้นมาเป็น AlmaLinux 8 และทำการอัพเกรดจาก AlmaLinux 8 เป็น AlmaLinux 9