在进行系统更新前,务必备份重要数据(如文档、数据库、配置文件等),以防更新过程中出现意外导致数据丢失。此外,建议检查网络连接(确保能访问互联网,若使用本地镜像则需挂载ISO)。
更新前需确认当前系统版本,避免误操作。使用以下命令查看:
cat /etc/redhat-release # CentOS 7及以下
# 或
cat /etc/centos-release # CentOS 8及以上
示例输出:CentOS Linux release 7.9.2009 (Core)
。
YUM(Yellowdog Updater Modified)是CentOS默认的包管理工具,DNF(Dandified YUM)是其下一代替代工具(适用于CentOS 8及以上)。以下是具体命令:
运行以下命令查看系统中可用的软件包更新(不会安装,仅列出):
sudo yum check-update # CentOS 7及以下
# 或
sudo dnf check-update # CentOS 8及以上
若有可用更新,会列出软件包名称及版本信息。
使用以下命令更新系统中所有已安装的软件包到最新版本:
sudo yum update -y # CentOS 7及以下(-y自动确认,避免手动输入)
# 或
sudo dnf update -y # CentOS 8及以上
命令执行后,系统会自动下载并安装更新,过程可能需要几分钟到几十分钟(取决于网络速度和系统大小)。
若仅需修复安全漏洞(不更新普通软件包),可使用以下命令:
sudo yum --security update -y # CentOS 7及以下
# 或
sudo dnf --security update -y # CentOS 8及以上
此命令仅安装安全相关的更新,降低系统风险。
若需将系统升级到最新稳定版本(如CentOS 7升级到8),需谨慎操作(可能导致系统配置变化,建议在测试环境先尝试)。步骤如下:
再次确认备份所有关键数据(如/home、/etc、/var等目录)。
sudo yum clean all # 清理YUM缓存
sudo yum makecache # 重建缓存
sudo yum update # CentOS 7升级到8(需确保仓库支持)
# 或
sudo dnf system-upgrade download --releasever=8 # CentOS 8升级到9(需替换版本号)
sudo dnf system-upgrade reboot
升级完成后,系统会自动重启,需等待片刻进入新系统。
为确保系统持续安全,可设置自动更新(仅更新安全补丁,不影响业务稳定性)。步骤如下:
sudo yum install yum-cron -y # CentOS 7及以下
# 或
sudo dnf install yum-cron -y # CentOS 8及以上
sudo systemctl enable yum-cron # 设置开机自启
sudo systemctl start yum-cron # 立即启动服务
编辑配置文件(默认路径:/etc/yum/yum-cron.conf
),修改以下参数:
sudo vi /etc/yum/yum-cron.conf
找到并修改:
update_cmd = security # 仅更新安全补丁(可选:updates更新所有包)
apply_updates = yes # 自动应用更新
update_interval = 1 # 每天检查一次(1=每天,7=每周)
保存后退出(:wq
),自动更新将按配置执行。
若服务器无法连接互联网,可通过本地ISO镜像实现更新:
从官网下载对应版本的ISO文件(如CentOS-7-x86_64-Minimal.iso
),上传到服务器。
sudo mkdir /mnt/cdrom # 创建挂载目录
sudo mount -o loop /path/to/CentOS-7-x86_64-Minimal.iso /mnt/cdrom # 替换为实际ISO路径
备份原有仓库文件,创建本地源配置:
sudo mkdir /etc/yum.repos.d/bak_$(date +%Y%m%d) # 备份目录
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak_$(date +%Y%m%d) # 移动原有repo文件
sudo vi /etc/yum.repos.d/local.repo # 创建本地源文件
写入以下内容(根据ISO路径调整):
[local]
name=CentOS Local Repository
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
保存后退出。
sudo yum clean all # 清理缓存
sudo yum makecache # 刷新缓存
sudo yum update -y # 使用本地源更新
更新完成后,卸载挂载的ISO:
sudo umount -v /mnt/cdrom
更新完成后,建议执行以下操作确认系统状态:
sudo reboot # 重启系统(部分更新需重启生效)
cat /etc/redhat-release # 再次确认系统版本
df -h # 检查磁盘空间(清理缓存可释放空间:sudo yum clean all)
tail -f /var/log/messages # 查看系统日志(确认更新无报错)
以上步骤覆盖了CentOS系统从零开始的更新流程,涵盖常规更新、版本升级、自动更新及离线更新等场景,可根据实际需求选择对应方法。