2025年12月30日/ 浏览 56
标题:Linux系统全面升级指南:yum与apt的深度解析
关键词:Linux升级, yum命令, apt命令, 软件包管理, 系统更新
描述:本文详细解析Linux系统中使用yum(RPM系)和apt(Debian系)升级所有软件包的操作流程,涵盖基础命令、安全实践及常见问题处理,助你高效维护系统安全与稳定。
正文:
在Linux系统中,软件包更新不仅是获取新功能的途径,更是修补安全漏洞、防范零日攻击的关键。停滞的软件版本如同敞开的门户,可能成为渗透的突破口。无论是服务器还是开发环境,定期执行 yum update 或 apt upgrade 应成为运维的基本素养。
适用系统:CentOS, RHEL, Fedora
bash
sudo yum check-update # 检查可用更新(非root需sudo)
sudo yum update # 升级所有软件包
注意:
– RHEL/CentOS 8+ 中yum已被dnf取代,命令兼容(sudo dnf upgrade)。
– 升级内核时,yum会保留旧内核,重启后通过GRUB可选择回退。
bash
sudo yum update --security # 筛选安全关键更新
此命令特别适合生产环境,避免非必要变更引入风险。
bash
sudo yum autoremove # 删除无用依赖
sudo package-cleanup --oldkernels --count=2 # 保留最近2个内核
适用系统:Ubuntu, Debian, Linux Mint
bash
sudo apt update # 刷新软件源元数据
sudo apt upgrade # 升级所有可更新包(不删除旧包)
bash
sudo apt full-upgrade # 可能删除冲突的旧包
关键区别:
–upgrade仅提升版本,保留旧包;full-upgrade可能移除阻碍升级的包。
– 生产服务器建议优先使用upgrade,避免服务因依赖中断。
bash
sudo apt autoremove # 清理孤儿依赖
bash
sudo yum update --assumeno # yum:打印变更但不执行
sudo apt upgrade -s # apt:模拟升级并显示摘要
bash
sudo yum -x 'kernel*' update # 跳过内核更新 bash
sudo apt-mark hold package_name # 永久锁定版本
sudo apt upgrade --exclude=mysql* # 临时排除 bash
sudo dnf history # 查看事务历史
sudo dnf undo id=23 # 撤销第23次操作 /var/log/apt/history.log 定位变更记录。 bash
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades # 交互式配置
创建Cron作业(/etc/cron.weekly/yum-update):
bash
yum -y update –security && yum clean all
安全提示:
自动化脚本务必包含--security或白名单限制,并搭配监控告警。
bash
sudo apt -f install # 修复断裂依赖 bash
sudo yum clean all # 清除缓存
sudo yum distro-sync # 强制版本同步 更新前检查磁盘:
bash
df -h /boot /var # 重点监控引导分区和包缓存目录
sudo yum clean packages # 删除yum缓存
sudo apt clean # 清除apt缓存