9.7. 使用 Yum-cron 自动刷新软件包数据库和下载更新
yum-cron 服务会自动检查并下载软件包更新。安装后 yum-cron 服务提供的 cron 作业将立即处于活动状态。yum-cron 服务也可以自动安装下载的更新。
使用默认设置,yum-cron 服务:
- 每小时更新 yum 缓存中的元数据。
- 将待处理软件包更新下载至 yum 缓存每天一次。如果存储库中提供了新软件包,则会发送电子邮件。如需更多信息,请参阅第 第 9.7.2 节 “设置可选电子邮件通知” 章。
yum-cron 服务有两个配置文件:
/etc/yum/yum-cron.conf- 用于日常任务。
/etc/yum/yum-cron-hourly.conf- 用于每小时任务。
9.7.1. 启用自动安装更新 复制链接链接已复制到粘贴板!
要启用自动安装下载的更新,请通过设置 apply_updates 选项来编辑每日安装的配置文件或每小时安装的配置文件:
apply_updates = yes
apply_updates = yes
9.7.2. 设置可选电子邮件通知 复制链接链接已复制到粘贴板!
默认情况下,yum-cron 服务使用 cron 来发送包含已执行命令输出的电子邮件。此电子邮件按照 cron 配置发送,通常发送到本地超级用户,并存储在 /var/spool/mail/root 文件中。
您可以使用不同于影响所有 cron 作业 的设置的特定电子邮件配置。但是,此电子邮件配置不支持 TLS,整个电子邮件内置逻辑非常基本。
启用 yum-cron 内置电子邮件通知:
打开所选
yum-cron配置文件:/etc/yum/yum-cron.conf- 用于日常任务。
/etc/yum/yum-cron-hourly.conf- 用于每小时任务。
在
[emitters]部分,设置以下选项:emit_via = email
emit_via = emailCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
根据需要设置
email_from、email_to、email_host选项
9.7.3. 启用或禁用特定存储库 复制链接链接已复制到粘贴板!
yum-cron 不支持对存储库的特定配置。作为为 yum-cron 启用或禁用特定软件仓库的一个临时解决方案,但一般不要为 yum 启用或禁用以下步骤:
- 创建系统任意位置的空存储库配置目录。
-
将
/etc/yum.repos.d/目录中的所有配置文件复制到此新创建的目录中。 在
/etc/yum.repos.d/ 中的对应.按如下所示设置repo配置文件中,启用的选项:已启用 = 1- 启用存储库:
已启用 = 0- 以禁用存储库。
在所选
yum-cron配置文件的末尾添加以下选项,它指向新创建的存储库目录:reposdir=/path/to/new/reposdir
reposdir=/path/to/new/reposdirCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7.4. 测试 Yum-cron 设置 复制链接链接已复制到粘贴板!
在不等待下一次调度 yum-cron 任务的情况下测试 yum-cron 设置:
打开所选
yum-cron配置文件:/etc/yum/yum-cron.conf- 用于日常任务。
/etc/yum/yum-cron-hourly.conf- 用于每小时任务。
在所选配置文件中设置
random_sleep选项,如下所示:random_sleep = 0
random_sleep = 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行配置文件:
yum-cron /etc/yum/yum-cron.conf yum-cron /etc/yum/yum-cron-hourly.conf
# yum-cron /etc/yum/yum-cron.conf # yum-cron /etc/yum/yum-cron-hourly.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7.5. 禁用 Yum-cron 消息 复制链接链接已复制到粘贴板!
yum-cron 消息无法完全禁用,但只能限制为具有关键优先级的消息。限制信息:
打开所选
yum-cron配置文件:/etc/yum/yum-cron.conf- 用于日常任务。
/etc/yum/yum-cron-hourly.conf- 用于每小时任务。
在配置文件的
[base]部分中设置以下选项:debuglevel = -4
debuglevel = -4Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7.6. 自动清除软件包 复制链接链接已复制到粘贴板!
yum-cron 服务不支持删除与 yum clean all 命令类似的包的任何配置选项。要自动清理软件包,您可以将 cron 作业创建为可执行 shell 脚本:
在
/etc/cron.daily/目录中创建一个 shell 脚本,其中包含:#!/bin/sh yum clean all
#!/bin/sh yum clean allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使脚本可执行:
chmod +x /etc/cron.daily/script-name.sh
# chmod +x /etc/cron.daily/script-name.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow