upgrade centos 6 to centos7 during year 2021
ผมเชื่อว่ายังมีคนที่ อัฟเกรด kernel สำหรับ centos 6 ไป centos 7 ไม่ทันช่วงที่ Centos 6 ประกาศ EOF เมื่อเดือน Nov2020 ที่ผ่านมา
ซึ่งทำให้ คนที่ใช้ centos 6 (kernel 2.6.x) อยู่ จะไม่สามารถอัฟเดท package ผ่าน yum ได้ อาจจะต้อง compile source เอา และหาพวก package dependency มาติดตั้งก่อน
ซึ่งในวันนี้ทางทีมงาน Packetlove.com เองอยากมาแนะนำ วิธีการครับ อันดับแรก ต้องทำการ backup system เอาไว้ก่อนทำการอัฟเกรด นะครับ
ถ้า backup system เสร็จแล้วก็ ลุยกันเลย
==clear CentOS-base.repo
cd /etc/yum.repo
mv CentOS-base.repo CentOS-base.repo.ori
==vi /etc/yum.repo/CentOS-upgrade.repo
[centos-upgrade]
name=centos-upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
enabled=1
gpgcheck=0
======== if found error please complete install before
No package libxml2-devel available.
No package libxslt-devel available.
No package openscap, available.
No package pcre-devel available.
No package mod_wsgi available.
==ผมรวบรวมไฟล์ที่จำเป็นในการอัฟเกรดมาให้นะครับ ทำการ download และรัน Fixed ตามด้านล่างได้เลยครับ
wget
https://golfreeze.packetlove.com/download/package_upgrade_need.tar.gzrpm -ivh libgpg-error-devel-1.7-4.el6.x86_64.rpm
rpm -ivh libgcrypt-devel-1.4.5-12.el6_8.x86_64.rpm
rpm -ivh libxml2-devel-2.7.6-21.el6_8.1.x86_64.rpm
rpm -ivh libxml2-2.7.6-21.el6_8.1.src.rpm
rpm -ivh libxslt-devel-1.1.26-2.el6_3.1.x86_64.rpm
rpm -ivh pcre-devel-7.8-7.el6.x86_64.rpm
rpm -ivh mod_wsgi-3.4-1.el6.rfx.x86_64.rpm
===need to use openscap on version 1.0.8
yum install openscap
yum -y install redhat-upgrade-tool preupgrade-assistant-*
yum -y install preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant
rpm --import
http://mirror.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7mkdir -pv /var/tmp/system-upgrade/base/ /var/tmp/system-upgrade/extras/ /var/tmp/system-upgrade/updates/
echo
http://mirror.centos.org/centos/7/os/x86_64/ >> /var/tmp/system-upgrade/base/mirrorlist.txt
echo
http://mirror.centos.org/centos/7/extras/x86_64/ >> /var/tmp/system-upgrade/base/mirrorlist.txt
echo
http://mirror.centos.org/centos/7/updates/x86_64/ >> /var/tmp/system-upgrade/base/mirrorlist.txt
===start
yes | preupg -v
==new version
centos-upgrade-tool-cli --network=7 --instrepo=http://vault.centos.org/7.2.1511/os/x86_64/
centos-upgrade-tool-cli --force --network=7 --instrepo=https://vault.centos.org/7.2.1511/os/x86_64/ --cleanup-post
==old version
centos-upgrade-tool-cli --network=7 --instrepo=http://vault.centos.org/7.0.1406/os/x86_64/
centos-upgrade-tool-cli --force --network=7 --instrepo=https://vault.centos.org/7.0.1406/os/x86_64/ --cleanup-post
==reboot and waiting 5-10minute please monitoring on console
===ตรงจุดนี้หลังการ ก่อนการรัน reboot เราสามารถเขียน shell script แล้วรันบน crontab ได้นะครับผม
===เพื่อให้ libsasl2 ที่ใช้งานร่วมกับ openssh version บน centos6 สามารถเรียกใช้งานบน centos7 ได้ครับผม
=== script ===
vi ln_shell.sh
#!/bin/bash
export PATH=/usr/sbin:/sbin:/usr/bin:/bin
ln -s /lib64/libpcre.so.1 /lib64/libpcre.so.0
ln -s /usr/lib64/libsasl2.so.3 /usr/lib64/libsasl2.so.2
systemctl restart sshd
แล้วตั้งใน crontab เป็น
@reboot /root/ln_shell.sh > /dev/null 2>&1
เท่านี้เราก็พร้อมทำการ reboot ละครับ
reboot
ถ้าใครไม่รัน crontab ก็ต้องรันหน้าเครื่อง console ตามนี้นะครับ
ln -s /lib64/libpcre.so.1 /lib64/libpcre.so.0
ln -s /usr/lib64/libsasl2.so.3 /usr/lib64/libsasl2.so.2
systemctl restart sshd
ก็จะสามารถ login ผ่าน ssh ได้ครับผม
welcome to Centos7.x kub
หลังจากอัฟเกรดเสร็จแล้วอาจจะต้องแก้ไขปัญหาพวก service ที่ยังรันไม่ได้ให้ทำงานได้นะครับ
ซึ่งในส่วนนี้จะต้องไล่เชค log error แล้วตามแก้ไขเอา ขอให้ทุกท่านผ่านไปได้ด้วยดีนะครับ
: )