Nâng cấp CentOS 7 lên CentOS 8 có khó không? nâng cấp CentOS 7 lên CentOS 8 thực sự không khó khi bạn xem hết bài hướng dẫn này của mình.
CentOS 8 đã được phát hành và hầu hết các tổ chức mong muốn nâng cấp các bản cài đặt hiện có của máy chủ dựa trên CentOS 7 lên CentOS 8 . Tại đây, tôi đang thực hiện nâng cấp hoàn chỉnh CentOS 7 lên CentOS 8 cùng với các ứng dụng và cơ sở dữ liệu đã cài đặt.
Có nhiều cách khác nhau để nâng cấp các ứng dụng và cơ sở dữ liệu dựa trên CentOS 7 của bạn lên CentOS 8 . Tại đây, tôi đang thực hiện nâng cấp tại chỗ máy chủ CentOS 7 hiện có với các ứng dụng và cơ sở dữ liệu đã cài đặt lên các phiên bản mới nhất do máy chủ CentOS 8 cung cấp.
Với mục đích này, chúng tôi đặc biệt khuyên bạn nên đọc Hướng dẫn chứng nhận Red Hat RHCSA 8: EX200 (Hướng dẫn chứng nhận) của Chứng nhận CNTT Pearson .
Kiểm tra phiên bản CentOS hiện tại
[root@cen8 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)
Cài đặt kho lưu trữ EPEL yum trên CentOS 7
yum install -y epel-release.noarch
- Xây dựng bộ đệm cho kho lưu trữ EPEL yum
yum makecache fast
Cài đặt các Packages cần thiết trên CentOS 7:
Bạn sẽ thực thi các lệnh sau để cài đặt các gói cần thiết
yum install -y yum-utils rpmconf
- Loại bỏ các gói và cấu hình trùng lặp không cần thiết
Xác định và xóa các tệp cấu hình xung đột (.rpmnew, .rpmsave và .rpmorigfiles) đã được tạo trong quá trình cài đặt các phiên bản mới của các gói tương ứng.
rpmconf -a
- Liệt kê các gói không phụ thuộc vào bất kỳ gói cài đặt nào khác.
package-cleanup --leaves
- Liệt kê các gói cũ hơn hoặc trùng lặp không có sẵn trong kho yum được cấu hình hiện tại.
package-cleanup --orphans
- Gỡ cài đặt các gói được liệt kê
[root@cen8 ~]# yum remove -y \ > bind-libs-lite-9.11.4-9.P2.el7.x86_64 \ > libsysfs-2.1.0-16.el7.x86_64 \ > kernel-3.10.0-957.el7.x86_64 Loaded plugins: fastestmirror No Match for argument: kernel-3.10.0-957.el7.x86_64 Resolving Dependencies --> Running transaction check ---> Package bind-libs-lite.x86_64 32:9.11.4-9.P2.el7 will be erased ---> Package libsysfs.x86_64 0:2.1.0-16.el7 will be erased --> Finished Dependency Resolution
Chuyển YUM sang DNF
Trong CentOS 8, trình quản lý gói mặc định yum đã được thay thế bằng dnf (Dandified Yum). Do đó, bạn phải chuyển sang trình quản lý gói dnf trước khi nâng cấp máy chủ CentOS 7 lên CentOS 8. Cài đặt trình quản lý gói dnf bằng lệnh yum.
yum install -y dnf
Lệnh YUM đã không còn cần thiết nữa, do đó bạn thực xoá luôn YUM bằng lệnh DNF sau
dnf remove -y yum yum-metadata-parser
Sau đó bạn cần loại bỏ bất kỳ cấu hình còn lại phía sau yum bằng lệnh sau
rm -Rf /etc/yum
- Xây dựng bộ đệm cho kho lưu trữ dnf
dnf makecache
Nâng cấp máy chủ CentOS 7 lên Phiên bản ổn định mới nhất:
Máy chủ của bạn hiện đã sẵn sàng để nâng cấp lên CentOS 8. Thực hiện lệnh sau để cập nhật các gói hệ thống lên các phiên bản CentOS 7 mới nhất.
$ dnf upgrade -y
Nâng cấp kho Yum từ CentOS 7 lên CentOS 8:
Để nâng cấp kho yum bạn phải nâng cấp gói phát hành centos từ CentOS 7 lên CentOS 8. Sử dụng lệnh bên dưới để nâng cấp.
$ dnf upgrade -y http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/{centos-release-8.1-1.1911.0.8.el8.x86_64.rpm,centos-gpg-keys-8.1-1.1911.0.8.el8.noarch.rpm,centos-repos-8.1-1.1911.0.8.el8.x86_64.rpm}
- Nâng cấp kho EPEL yum từ EL 7 lên EL 8.
$ dnf upgrade -y epel-release
- Xây dựng bộ đệm cho tất cả các kho yum.
$ dnf makecache
Và tất cả các kho lưu trữ yum đã được nâng cấp từ CentOS 7 lên CentOS 8, bước tiếp theo là nâng cấp CentOS 7 lên Centos 8 nhé.
Nâng cấp CentOS 7 to CentOS 8
- Xoá bỏ tất cả các kernel được cài đặt bằng lệnh sau
$ rpm -e `rpm -q kernel`
- Xoá bỏ các gói xung đột bằng lệnh sau
$ rpm -e --nodeps sysvinit-tools
Bước tiếp theo khá quan trọng, là bước bắt đầu nâng cấp hệ thống, bạn nhập vào lệnh sau. Quá trình này sẽ mất ít nhất 5-10 phút để thực hiện.
$ dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
Output
...
python3-gpg-1.10.0-6.el8.0.1.x86_64
python3-hawkey-0.35.1-9.el8_1.x86_64
python3-libcomps-0.1.11-2.el8.x86_64
python3-libdnf-0.35.1-9.el8_1.x86_64
python3-libs-3.6.8-15.1.el8.x86_64
python3-libselinux-2.9-2.1.el8.x86_64
python3-libxml2-2.9.7-5.el8.x86_64
python3-linux-procfs-0.6-7.el8.noarch
python3-perf-4.18.0-147.3.1.el8_1.x86_64
python3-pip-wheel-9.0.3-15.el8.noarch
python3-pyudev-0.21.0-7.el8.noarch
python3-rpm-4.14.2-25.el8.x86_64
python3-schedutils-0.6-6.el8.x86_64
python3-setuptools-wheel-39.2.0-5.el8.noarch
python3-six-1.11.0-8.el8.noarch
python3-slip-0.6.4-11.el8.noarch
python3-slip-dbus-0.6.4-11.el8.noarch
python3-syspurpose-1.25.17-1.el8.x86_64
readonly-root-10.00.4-1.el8.noarch
rpm-plugin-selinux-4.14.2-25.el8.x86_64
sqlite-libs-3.26.0-3.el8.x86_64
squashfs-tools-4.3-19.el8.x86_64
systemd-container-239-18.el8_1.1.x86_64
systemd-pam-239-18.el8_1.1.x86_64
systemd-udev-239-18.el8_1.1.x86_64
trousers-lib-0.3.14-4.el8.x86_64
authselect-compat-1.1-2.el8.x86_64
centos-logos-httpd-80.5-2.el8.noarch
compat-openssl10-1:1.0.2o-3.el8.x86_64
httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch
mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
mariadb-connector-c-3.0.7-1.el8.x86_64
mariadb-connector-c-config-3.0.7-1.el8.noarch
mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64
nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
oddjob-0.34.4-7.el8.x86_64
perl-Digest-1.17-395.el8.noarch
perl-Digest-MD5-2.55-396.el8.x86_64
perl-Net-SSLeay-1.88-1.el8.x86_64
perl-URI-1.73-3.el8.noarch
perl-libnet-3.11-3.el8.noarch
python2-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64
python2-libs-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64
python2-pip-wheel-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch
python2-setuptools-wheel-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch
unbound-libs-1.7.3-8.el8.x86_64
xkeyboard-config-2.24-3.el8.noarch
Removed:
deltarpm-3.6-3.el7.x86_64
libselinux-python-2.5-14.1.el7.x86_64
libxml2-python-2.9.1-6.el7_2.3.x86_64
newt-python-0.52.15-4.el7.x86_64
perl-Net-Daemon-0.48-5.el7.noarch
perl-PlRPC-0.2020-14.el7.noarch
python-2.7.5-86.el7.x86_64
python-chardet-2.2.1-3.el7.noarch
python-firewall-0.6.3-2.el7_7.2.noarch
python-kitchen-1.1.1-5.el7.noarch
python-libs-2.7.5-86.el7.x86_64
python-linux-procfs-0.4.11-4.el7.noarch
python-schedutils-0.4-6.el7.x86_64
python-slip-0.4.0-4.el7.noarch
python-slip-dbus-0.4.0-4.el7.noarch
python-urlgrabber-3.10-9.el7.noarch
python2-dnf-4.0.9.2-1.el7_6.noarch
python2-hawkey-0.22.5-1.el7_6.x86_64
python2-libcomps-0.1.8-12.el7.x86_64
python2-libdnf-0.22.5-1.el7_6.x86_64
pyxattr-0.5.1-5.el7.x86_64
rpm-python-4.11.3-40.el7.x86_64
systemd-sysv-219-67.el7_7.2.x86_64
Complete!
- Bước tiếp theo bạn cần thực hiện cài đặt Kernel CentOS 8
$ dnf install -y kernel-core
- Cài đặt các nhóm gói Minimal và Core trên máy chủ.
$ dnf -y groupupdate "Core" "Minimal Install"
Bước cuối cùng bạn hãy reboot lại máy chủ để tải Kernel mới nhé
$ systemctl reboot
Sau khi reboot lại máy chủ bạn tiến hành kiểm tra phiên mới CentOS bằng lệnh
[root@cen8 ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
Xem thêm các bài viết về Linux tại đây