如何在Spacewalk 2.6中配置CentOS 7客户端手动审批更新
嘿,我来帮你搞定Spacewalk 2.6的手动更新审批配置,让客户端不再自动获取更新,而是等你审批后再手动推送。分几个关键步骤来操作:
第一步:先搞定客户端的自动更新开关
每台CentOS7客户端默认可能在后台跑着自动更新的服务,得先把它们停掉:
- 登录客户端服务器,执行命令停止并禁用
rhnsd服务(这是Spacewalk客户端的自动更新守护进程):systemctl stop rhnsd && systemctl disable rhnsd - 如果你的客户端装了
osad(用来实时接收Spacewalk服务器的指令),也一起禁用掉,避免它自动触发更新:systemctl stop osad && systemctl disable osad - 再检查客户端的yum配置,确保不会自动确认安装:编辑
/etc/yum.conf,把assumeyes参数改成0(如果原来设成1的话);另外打开/etc/sysconfig/rhn/up2date,把auto_update的值设为no。
第二步:在Spacewalk服务器端设置更新策略
接下来在Web控制台里统一配置客户端的更新行为:
- 登录Spacewalk的Web管理界面,如果你管理大量客户端,用系统组来配置更高效:进入
System Groups,选中你要管理的组,点击Details->Configuration->Update Preferences - 在更新偏好设置里,把Automatic Updates选项改成Disabled,这样客户端就不会主动从服务器拉取更新了;同时检查
Update Schedule,确保没有设置自动更新的定时任务。 - 如果是单个客户端,直接进入
Systems选中目标机器,同样在Configuration里修改上述设置就行。
第三步:配置更新审批流程(核心步骤)
现在要让所有新更新都需要你手动审批才能推送:
- 进入
Channels,选中你给CentOS7用的软件频道,点击Errata标签页 - 点击
Errata Management->Approval Rules,创建新的审批规则——比如你可以设置“所有安全类更新必须手动审批”,或者直接针对所有更新开启审批要求。这样新同步到Spacewalk的更新(Errata)会默认处于Unapproved状态,不会自动推给客户端。 - 当你要推送更新时:先在
Errata列表里找到需要发布的更新,选中后点击Approve,然后选择要推送的系统或系统组;接着进入对应系统/组的Software->Packages to Install/Update,选中已审批的Errata,点击Schedule Deployment,可以选择立即推送或者指定时间推送。 - 如果你想让客户端马上执行更新,也可以在客户端上手动跑命令:
rhn_check -u,它就会拉取并安装已审批的更新。
第四步:验证配置是否生效
- 在客户端上执行
rhn_check,正常情况下它只会检测到可用更新,但不会自动安装; - 回到Spacewalk控制台,查看系统的更新状态,未审批的更新不会出现在客户端的待安装列表里,只有审批后的才会显示。
内容的提问来源于stack exchange,提问作者Aleš
相关产品推荐
相关产品推荐

