CentOS系统升级是一个复杂的过程,涉及到多个步骤和注意事项。以下是一个详细的CentOS系统升级指南,以CentOS 7为例,涵盖了从准备到升级的全过程。
cat /etc/redhat-release
查看当前系统版本。/etc/yum.repos.d/upgrade.repo
文件,确保使用最新的CentOS版本仓库。preupgrade-assistant-contents
和 redhat-upgrade-tool
,这些工具在升级过程中起到关键作用。preupgrade-assistant -s
等工具检查系统兼容性和潜在问题。导入ELRepo仓库:
yum -y update
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装新内核:
sudo yum --enablerepo=elrepo-kernel install kernel-ml
或sudo yum --enablerepo=elrepo-kernel install kernel-lt
根据需要选择适当的内核版本,kernel-ml
代表Mainline Kernel,是最新的稳定版本,kernel-lt
代表长期支持(LTS)版本。更新GRUB引导器:
sudo awk -F\' '$1=="menuentry "{printi++" : "$2}' /etc/grub2.cfg
grub2-set-default 'CentOS Linux (最新版本) 7 (Core)'
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
重启服务器:
reboot
验证是否升级成功:
uname -r
安装编译环境:
yum groupinstall "Development Tools" -y && \
yum install -y \
openssl-devel \
rpm-build \
redhat-rpm-config \
asciidoc \
hmaccalc \
perl-ExtUtils-Embed \
pesign \
xmlto \
audit-libs-devel \
binutils-devel \
elfutils-devel \
elfutils-libelf-devel \
ncurses-devel \
newt-devel \
numactl-devel \
pciutils-devel \
python-devel \
zlib-devel \
rpm-build
下载内核源代码并解压:
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.9.4.tar.gz
tar -xzf linux-6.9.4.tar.gz
cd linux-6.9.4
配置内核:
.config
:cp /boot/config-3.10.0-957.el7.x86_64 .config
make oldconfig
make menuconfig
编译安装内核:
make -j12
安装内核:
make modules_install
make install
设置以后默认从新的内核启动:
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
重启服务器:
reboot
检查内核版本:
uname -r
删除多余内核:
rpm -qa | grep kernel
yum remove <旧内核版本>
通过以上步骤,您可以成功地将CentOS系统升级到最新版本。请注意,内核升级属于高危操作,务必在了解操作风险的前提下进行,并在生产环境之外进行测试。