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
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
-
根据需要设置
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
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
运行配置文件:
# yum-cron /etc/yum/yum-cron.conf # yum-cron /etc/yum/yum-cron-hourly.conf
9.7.5. 禁用 Yum-cron 消息
yum-cron
消息无法完全禁用,但只能限制为具有关键优先级的消息。限制信息:
打开所选
yum-cron
配置文件:/etc/yum/yum-cron.conf
- 用于日常任务。
/etc/yum/yum-cron-hourly.conf
- 用于每小时任务。
在配置文件的
[base]
部分中设置以下选项:debuglevel = -4
9.7.6. 自动清除软件包
yum-cron
服务不支持删除与 yum clean all
命令类似的包的任何配置选项。要自动清理软件包,您可以将 cron 作业创建为可执行 shell 脚本:
在
/etc/cron.daily/
目录中创建一个 shell 脚本,其中包含:#!/bin/sh yum clean all
使脚本可执行:
# chmod +x /etc/cron.daily/script-name.sh