Mục lục
Sau khi phía Centos thông báo không hỗ trợ phát triển CentOS Linux 7 8 nửa thì người dùng đang loay hoay không biết sẽ tiếp tục làm gì với các máy chủ hay vps của mình đang chạy ở CentOS 7 và 8, ở bài viết giới thiệu về Rocky Linux (các bạn có thể xem lại tại đây) thì hệ điều hành này chính là một trong các phương án được sử dụng để chuyển đổi nâng cấp từ CentOS sang.
Điều kiện để chuyển đổi
Hiện tại Rocky Linux đã hỗ trợ chuyển từ phiên bản 8.5 của các hệ điều hành: CentOS Stream, CentOS, Alma Linux, RHEL hoặc Oracle Linux qua phiên bản 8.6 của Rocky Linux với đầy đủ chức năng của Rocky Linux. Tuy nhiên với các hệ điều hành CentOS 7 thì việc chuyển đổi sẽ mất nhiều thời gian hơn và cần nâng cấp lên thành CentOS 8 sau đó mới có thể chuyển được. Do đó trong bài viết này Tadu sẽ hướng dẫn các bạn về cách chuyển đổi từ CentOS 7 sang Rocky Linux 8 từng chi tiết một.
Có hai bước cần thiết để chuyển đổi từ CentOS 7 sang Rocky Linux 8:
- Nâng cấp phiên bản CentOS 7 lên CentOS 8
- Di chuyển từ CentOS 8 sang Rocky Linux
Cảnh báo về rủi ro
Việc chuyển đổi có thể xảy ra lỗi, để đảm bảo sau khi nâng cấp các dữ liệu trên vps hoặc máy chủ của bạn không bị mất đi hoặc bị lỗi thì các bạn cần sau lưu lại dữ liệu của mình trước.
Các bước thực hiện
1. Nâng cấp từ CentOS 7 sáng CentOS 8
Đầu tiên chúng ta sẽ thực hiện kiểm tra xem lại phiên bản CentOS cũng như phiên bản Kernel đang dùng bằng các lệnh
- Kiểm tra lại phiên bản của CentOS 7: cat /etc/os-release
- Kiểm tra lại phiên bản của Kernel đang dùng: uname -a
Sau đó chúng ta thực hiện các lệnh nâng cấp và khởi động lại máy chủ hoặc vps bằng các lệnh
- yum -y update
- reboot
Tiếp theo chúng ta cần cài đặt EPEL-Release để thực hiện tải xuống các gói bên ngoài của CentOS-Base repo
- yum install epel-release -y
Cài đặt thêm các gói cần thiết cho việc nâng cấp
- yum install -y yum-utils rpmconf
Liệt kê các gói xung đột và không sử dụng sau đó thực hiện xóa bỏ các gói này để việc nâng cấp sẽ không gây lỗi.
- rpmconf -a
- package-cleanup –leaves
- package-cleanup –orphans
- yum remove -y <package>
Nâng cấp từ YUM lên DNF (DNF là trình quản lý gói kho lưu trữ với tên gọi Dandified Yum) DNF là trình quản lý gói mặc định cho CentOS 8, để chuyển đổi chúng ta sử dụng lệnh sau:
- yum install -y dnf
Thực hiện tạo bộ nhớ cache cho các kho lưu trữ của DNF
- dnf -y makecache
Chúng ta sẽ thực hiện nâng cấp lại một lần nữa các gói của CentOS 7 lên 8 và nâng cấp kho lưu trữ từ CentOS 7 lên CentOS 8 qua các lệnh sau
- dnf upgrade -y
- dnf install http://vault.centos.org/8.5.2111/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-3.el8.noarch.rpm,centos-linux-release-8.5-1.2111.el8.noarch.rpm,centos-gpg-keys-8-3.el8.noarch.rpm}
Nâng cấp thêm EPEL-Release
- dnf upgrade -y epel-release
Tới bước này sẽ là bước quan trọng trong quá trình nâng cấp từ CentOS 7 lên CentOS 8, trước tiên chúng cần sao lưu lại các Repo trước đó vào một thư mục khác
- cd /etc/yum.repos.d
- mkdir backups
- mv CentOS-* backups
Sau khi sau lưu lại các repo chúng ta sẽ thực hiện tạo và chèn các repo mới cho CentOS 8 như nội dung bên dưới
1. CentOS-Linux-BaseOS.repo
[baseos]
name=CentOS Linux \$releasever - BaseOS
baseurl=http://vault.centos.org/8.5.2111/BaseOS/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
2. CentOS-Linux-AppStream.repo
[appstream]
name=CentOS Linux \$releasever - AppStream baseurl=http://vault.centos.org/8.5.2111/AppStream/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Xóa bỏ các Kernel Centos hiện tại
- rpm -e `rpm -q kernel` –nodeps
- rpm -e `rpm -q kernel-devel` –nodeps
Xóa tất cả những gói xung đột
- rpm -e –nodeps sysvinit-tools
Cuối cùng thì chúng ta sẽ thực hiện chạy nâng cấp lên CentOS 8 bằng lệnh bên dưới:
- dnf -y –releasever=8 –allowerasing –setopt=deltarpm=false distro-sync
Chú ý: ở bước này khi chạy nâng cấp có thể gặp lỗi xung đột các gói, để giải quyết vấn đề này chúng ta có thể thực hiện remove các gói đó như Tadu đã thao tác ở bước trên. Những gói lỗi xung đột khi nâng cấp thường là:
- NetworkManager
- dracut-network
- python36-rpmconf
Sau khi xóa các gói bị xung đột thì chúng ta chạy lại lệnh nâng cấp:
- dnf -y –releasever=8 –allowerasing –setopt=deltarpm=false distro-sync
Cài đặt lại Kernel CentOS 8 mới và cài bản CentOS 8 minimal
- dnf install -y kernel-core
- dnf -y groupupdate “Core” “Minimal Install”
Cuối cùng chúng ta thực hiện reboot lại vps hoặc máy chủ và kiểm tra lại phiên bản CentOS đã được nâng lên bản 8 hay chưa bằng lệnh
- cat /etc/redhat-release
CentOS Linux release 8.5.2111
Khi rõ lệnh trên và hiển thị như hình ảnh bên dưới thì việc nâng cấp của chúng ta đã thành công, bước tiếp theo sẽ là chuyển đổi từ CentOS 8 sang Rocky Linux 8.