---
author: Gabriel Cánepa
category: 系统运维
comments_data:
- date: '2016-12-06 12:20:49'
  message: 更新了些什么你知道吗？更新站点或者组件包可靠吗？？！！出现了像苹果那样的TOOLKIT事件由谁来进行负责？？！！
  postip: 113.201.60.142
  username: 来自陕西西安的 Chrome 52.0|Windows 10 用户
- date: '2016-12-06 13:58:24'
  message: TOO YOUNG, TOO SIMPLE
  postip: 117.152.70.58
  username: 来自117.152.70.58的 Chrome 54.0|Windows 10 用户
- date: '2016-12-10 08:55:20'
  message: 登陆了一下，就是想搜一下有没有“如何在 Debian/Ubuntu 上配置自动安全更新”的翻译，然而没有-。-
  postip: 39.166.220.234
  username: 浩浩君 [QQ Browser 9.5|Windows 7]
- date: '2016-12-10 11:57:30'
  message: 自己写个systemd的service会不会？
  postip: 117.152.68.72
  username: 来自117.152.68.72的 Chrome 54.0|Windows 10 用户
- date: '2016-12-10 19:19:59'
  message: 哈哈，已经做了选题——很快就会有的。
  postip: 111.197.253.75
  username: linux [Chrome 54.0|Mac 10.11]
- date: '2016-12-15 08:32:06'
  message: 自动更新后遇到需要重启怎么办？例如kernel update了，自动reboot么？
  postip: 114.218.138.168
  username: 来自江苏苏州的 Safari 10.0|Mac 10.12 用户
count:
  commentnum: 6
  favtimes: 4
  likes: 0
  sharetimes: 0
  viewnum: 27121
date: '2016-12-06 11:21:00'
editorchoice: false
excerpt: 在 Linux 系统上，其中一个最重要的需求就是保持定期更新最新的安全补丁，或者为相应的 Linux 版本更新可用的安全补丁。
fromurl: http://www.tecmint.com/auto-install-security-patches-updates-on-centos-rhel/
id: 8015
islctt: true
largepic: /images/p/201612/06/112140lmuu47077kkfyi6w.png
permalink: /article-8015-1.html
pic: /images/p/201612/06/112140lmuu47077kkfyi6w.png.thumb.jpg
related:
- displayorder: 0
  raid: 8060
reviewer: ''
selector: ''
summary: 在 Linux 系统上，其中一个最重要的需求就是保持定期更新最新的安全补丁，或者为相应的 Linux 版本更新可用的安全补丁。
tags:
- 更新
- 安全补丁
thumb: false
title: 在 CentOS 和 RHEL 系统上安装或自动更新安全补丁
titlepic: true
translator: ucasFL
updated: '2016-12-06 11:21:00'
---

在 Linux 系统上，其中一个最重要的需求就是保持定期更新最新的安全补丁，或者为相应的 Linux 版本更新可用的安全补丁。


在之前的文章中，我们分享了[如何在 Debian 和 Ubuntu 系统上自动安装安全更新](/article-8060-1.html)，在这篇文章中，我们将分享如何在 CentOS/RHEL 7/6 版本中设置在需要时自动更新重要的安全补丁。


![](/images/p/201612/06/112140lmuu47077kkfyi6w.png)


和它同一家族的其它 Linux 版本（Fedora 或 Scientific Linux）中可以用类似的方法进行配置。


### 在 CentOS/RHEL 系统上配置自动安全更新


在 CentOS/RHEL 7/6 系统上，你需要安装下面的安装包：



```
# yum update -y && yum install yum-cron -y

```

### 在 CentOS/RHEL 7　系统上启用自动安全更新


安装完成以后，打开 `/etc/yum/yum-cron.conf`，然后找到下面这些行内容，你必须确保它们的值和下面展示的一样



```
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = yes

```

第一行表明自动更新命令行应该像这样：



```
# yum --security upgrade

```

而其它的行保证了能够通知并自动下载、安装安全升级。


为了使来自 root@localhost 的通知能够通过邮件发送给同一账户（再次说明，你可以选择其他账户，如果你想这样的话），下面这些行也是必须的。



```
emit_via = email
email_from = root@localhost
email_to = root

```

### 在 CentOS/RHEL 6 上启用自动安全更新


默认情况下， cron 任务被配置成了立即下载并安装所有更新，但是我们可以通过在 `/etc/sysconfig/yum-cron` 配置文件中把下面两个参数改为 `yes`，从而改变这种行为。



```
# 不要安装，只做检查（有效值： yes|no）
CHECK_ONLY=yes
# 不要安装，只做检查和下载（有效值： yes|no）
# 要求 CHECK_ONLY=yes（先要检查后才可以知道要下载什么）
DOWNLOAD_ONLY=yes

```

为了启用关于安装包更新的邮件通知，你需要把 `MAILTO` 参数设置为一个有效的邮件地址。



```
# 默认情况下 MAILTO 是没有设置的，crond 会将输出发送邮件给自己  
# （LCTT 译注：执行 cron 的用户，这里是 root）
# 例子： MAILTO=root
MAILTO=admin@tecmint.com

```

最后，打开并启用 `yum-cron` 服务：



```
------------- On CentOS/RHEL 7 ------------- 
systemctl start yum-cron
systemctl enable yum-cron
------------- On CentOS/RHEL 6 -------------  
# service yum-cron start
# chkconfig --level 35 yum-cron on

```

恭喜你，你已经成功的在 CentOS/RHEL 7/6 系统上设置了自动升级。


### 总结


在这篇文章中，我们讨论了如何保持你的服务器定期更新或升级最新的安全补丁。另外，为了保证当新的补丁被应用时你自己能够知道，你也学习了如何配置邮件通知。


如果你有任何关于这篇文章的疑问，请在下面的评论区留下你的问题。我们期待收到你的回复。




---


via: <http://www.tecmint.com/auto-install-security-patches-updates-on-centos-rhel/>


作者：[Gabriel Cánepa](http://www.tecmint.com/author/gacanepa/) 译者：[ucasFL](https://github.com/ucasFL) 校对：[jasminepeng](https://github.com/jasminepeng)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出