• 如果你想设置无人自动升级,我们推荐你将这个值修改为security,它会告诉 yum 仅仅升级修复安全问题的软件包。


    定期升级你的 CentOS 系统,是所有系统安全中最重要的措施之一。如果你不使用最新的安全补丁升级你的操作系统软件包,你将会让你的机器很容易被攻击。

    如果你管理者多个 CentOS 机器,手动升级系统软件包会很花时间。及时你管理一个简单的 CentOS,有时候安装时你也可能忽视一个重要的更新。这时候,自动更新就派上用场了。

    在这篇指南中,我们将会一起看看在 CentOS 7 上配置自动更新。同样的指令适合 CentOS 6.

    一、前提条件

    在继续这篇指南之前,确保你以 sudo 用户身份登录系统。

    二、安装 yum-cron 软件包

    yum-cron软件包允许你把自动运行 yum 命令作为一个定时任务来检测,下载和应用更新。很可能这个软包已经被安装在你的 CentOS 系统上。如果没有被安装,你可以同运行下面的命令安装这个软件包:

    sudo yum install yum-cron
    

    一旦安装完成,启用并且启动服务:

    sudo systemctl enable yum-cron
    sudo systemctl start yum-cron
    

    想要验证服务器正在运行,输入下面的命令:

    systemctl status yum-cron
    

    关于 yum-cron 服务状态的信息将会被展示在屏幕上:

    yum-cron.service - Run automatic yum updates as a cron job
       Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
       Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
      Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
     Main PID: 2713 (code=exited, status=0/SUCCESS)
       CGroup: /system.slice/yum-cron.service
    

    三、配置 yum-cron

    yum-cron 有两个配置文件,它们被存储在/etc/yum目录下,关于小时的配置在yum-cron-hourly.conf,而关于每天的配置在yum-cron.conf

    这个yum-cron仅仅控制 cron 任务是否将会运行。这个yum-cron工具被下面的文件调用,/etc/cron.hourly/0yum-hourly.cron/etc/cron.hourly/0yum-hourly.cron

    默认情况下,小时的 cron 被配置成什么都不做。如果有升级可用,每天的 cron 被设置成下载但是不安装可用的升级,并且发送消息到标准输出。默认的设置对于重要生产系统是很有效的,因为对于这种环境,你想要收到升级消息通知,并且在测试服务器上测试更新之后,才在生产服务器上手动更新。

    这个配置文件以段为单位进行组织的,每一段都包含评论用来描述那一行配置是做什么的。

    想要编辑 yum-cron 配置文件,使用你的文本编辑器打开文件:

    sudo nano /etc/yum/yum-cron-hourly.conf
    

    在第一段,[commands]你可以定义你想要升级的软件包类型,启用消息通知,下载,以及设置在更新可用时自动更新。默认情况下,update_cmd被设置成默认,更新所有的软件包。如果你想设置无人自动升级,我们推荐你将这个值修改为security,它会告诉 yum 仅仅升级修复安全问题的软件包。

    在下面的例子中,我们将update_cmd修改成security,并且通过设置apply_updatesyes来启用无人自动更新。 /etc/yum/yum-cron-hourly.conf

    [commands]
    update_cmd = security
    update_messages = yes
    download_updates = yes
    apply_updates = no
    random_sleep = 360
    

    第二段定义了如何发送消息。想要同时给标准输出和 email 发送消息,修改这个值emit_viastdio,email。 /etc/yum/yum-cron-hourly.conf

    [emitters]
    system_name = None
    emit_via = stdio,email
    output_width = 80
    

    [email]段你可以设置发送和接受的 email 地址。确保你的系统上已经安装了发送邮件的工具,例如 mailx 或者 postfix。 /etc/yum/yum-cron-hourly.conf

    [email]
    email_from = root@centos.host
    email_to = me@example.com
    email_host = localhost
    

    [base]段允许你覆盖定义在yum.conf文件中的设置。如果你想排除某些包,不让它被升级,你可以使用exclude参数。在下面的例子中,我们配置[mongodb]软件包。 /etc/yum/yum-cron-hourly.conf

    [base]
    debuglevel = -2
    mdpolicy = group:main
    exclude = mongodb*
    

    你不必重启你的yum-cron服务来使修改生效。

    四、查看日志

    使用grep来检查 关联 yum 的 cron 定时任务是否被执行了:

    sudo grep yum /var/log/cron
    
    May  4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
    May  4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
    May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
    May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron
    

    yum 升级历史被记录在/var/log/yum文件。你可以使用 tail 命令查看最近的更新。

    sudo tail -f  /var/log/yum.log
    
    May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
    May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
    May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64
  • 相关阅读:
    #Kruskal算法 ——求最小生成树 ~20.8.17
    #最小生成树 #Prim算法 ——求最小生成树 ~20.8.15
    #Floyd #多源最短路 ~2020.08.15
    #Bellman-Ford最短路算法 #SPFA(spfa)算法 2020.08.14
    #单源最短路 #Dijkstra 学习心得 20.8.13
    #拓扑序列 学习心得 ~2020.08.13
    96.奇怪的汉诺塔
    95.费解的开关
    94.递归实现排列型枚举
    93.递归实现组合型枚举
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/12499733.html
Copyright © 2020-2023  润新知