Yum更新策略在Linux中的设置方法
Yum(Yellowdog Updater, Modified)是Linux系统中用于管理RPM包的核心工具,通过合理配置其更新策略,可实现软件包的自动/手动更新、安全补丁及时应用及系统稳定性保障。以下是具体设置步骤:
Yum的全局配置文件为/etc/yum.conf,通过调整其中的参数可定义默认更新行为。需编辑该文件(建议先备份):
sudo vi /etc/yum.conf
关键参数说明:
update_cmd:设置更新模式,可选值为default(默认,仅更新可升级的包)、security(仅更新安全补丁)、all(更新所有包)。例如,设置为security可强化系统安全:update_cmd = security
update_interval:自动检查更新的间隔天数(仅当autocheck_interval启用时生效),例如设置为7表示每周检查一次:update_interval = 7
check_obsolete_rpm:是否检查并移除过期软件包(1=启用,0=禁用),建议开启以避免旧包占用空间:check_obsolete_rpm = 1
allow_test/allow_prerelease:是否允许安装测试版(1=允许,0=禁止)或预发布版(1=允许,0=禁止)软件包,生产环境建议设为0:allow_test = 0
allow_prerelease = 0
修改完成后,保存文件并刷新Yum缓存:
sudo yum makecache fast
yum-cron是Yum的定时任务工具,可自动执行更新操作,避免手动干预。
大多数基于RHEL/CentOS的系统需通过以下命令安装:
sudo yum install yum-cron
Fedora系统则使用dnf:
sudo dnf install yum-cron
安装完成后,启动yum-cron服务并设置为开机自启:
sudo systemctl start yum-cron
sudo systemctl enable yum-cron
编辑/etc/yum/yum-cron.conf文件,调整自动更新参数:
sudo vi /etc/yum/yum-cron.conf
关键参数说明:
update_cmd:同主配置文件,定义更新模式(如security);apply_updates:是否自动应用更新(yes=自动应用,no=仅通知),生产环境建议设为yes以及时修复漏洞;exclude:排除不需要自动更新的软件包(如内核,避免意外升级导致系统不稳定),多个包用空格分隔:exclude = kernel* docker*
include:仅包含指定的软件包或组(如nginx、httpd),未指定的包不会被更新:include = nginx httpd
clean_method:清理旧缓存的方式(如clean-all=清理所有缓存),建议设置为clean-all以节省磁盘空间:clean_method = clean-all
修改完成后,重启yum-cron服务使配置生效:
sudo systemctl restart yum-cron
若无需自动更新,可通过手动命令控制更新流程:
sudo yum update
nginx):sudo yum update nginx
sudo yum check-update
为强化系统安全,建议启用仅更新安全补丁的策略。
编辑/etc/yum/pluginconf.d/security.conf文件:
sudo vi /etc/yum/pluginconf.d/security.conf
设置enabled=1以启用安全更新插件:
[main]
enabled = 1
在/etc/yum/yum-cron.conf中,将update_cmd设置为security,并确保apply_updates=yes:
[main]
update_cmd = security
apply_updates = yes
此配置将仅自动安装安全相关的补丁,降低系统风险。
/etc/yum.conf、/etc/yum/yum-cron.conf);/var/log/yum.log查看自动更新记录,及时排查问题:sudo tail -f /var/log/yum.log
通过以上步骤,可根据实际需求灵活设置Yum的更新策略,平衡系统安全与稳定性。