> CentOS > CentOS运维 >

如何自动更新 CentOS 6

保证Linux系统安全的重要环节就是保持系统的随时的更新,特别是Security updates的更新。

首先,第一个问题是: 是否应该让你的CentOS服务器保持自动更新? 这个问题其实并没有一个显而易见的答案。保持自动更新可以随时更新安全补丁,各种模块的新功能等,但同时也可能对系统的稳定性带来影响,可能会发生自动更新后某些模块和功能出现问题的情况。

我的建议是:

如果是公司的企业级服务器,还是手动更新比较好,首先在测试服务器上测试相应的更新,确认没有问题后再应用到正式的服务器上。 同时对安全类的补丁和功能性的补丁区分对待。 Security updates 应该尽快应用,而功能性的patchs应该在确保没有问题的时候才安装到正式的服务器上。

如果是自己个人的服务器,用来放置自己的网站什么的,对稳定性要求没有那么高,而且不想天天去检查更新,使用自动更新可能是更好的选择。

解决了是否要自动更新的问题,下面的问题就是如何使自己的系统能自动保持更新了。可以使用下面的任何一种方法。

方法一: 利用系统的cron服务, 编辑/etc/crontab文件,使之每天自动执行yum update命令

1
SHELL=/bin/bash
2

3
PATH=/sbin:/bin:/usr/sbin:/usr/bin
4

5
MAILTO=youremail@domain.com
6

7
HOME=/
8

9
# For details see man 4 crontabs
10

11
# Example of job definition:
12
# .---------------- minute (0 - 59)
13
# | .------------- hour (0 - 23)
14
# | | .---------- day of month (1 - 31)
15
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
16
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
17
# | | | | |
18
# * * * * * user-name command to be executed
19

20
0 3 * * * root yum -y  update            //每天3点中自动执行yum update!
方法二: 使用yum-cron服务

yum-cron会在/etc/cron.daily 目录下生成一个0yum.cron文件,缺省情况下会每天自动更新你的系统。你也可以通过修改/etc/sysconfig/yum-cron来设定自动更新的选项。 这个方法其实和方法一并没有本质的差别。

缺省情况下,yum-cron一般并没有安装,需要先安装,然后启动服务

查看源代码打印帮助
1
yum install yum-cron
2

3
chkconfig --level 345 yum-cron on
4

5
service yum-cron start
你可以修改/etc/sysconfig/yum-cron中的一些设置,

1
CHECK_ONLY=no  (如果改成yes,表明只是检查是否有新的更新,并不实际安装)
2
DOWNLOAD_ONLY=no  (如果改成yes, 表明检查更新并下载,但并不安装)
3
MAILTO= youremailaddress (这个地方要改成你自己的email)
(责任编辑:IT)