Como ativar as atualizações automáticas no CentOS7?

1

Introdução

O objetivo é atualizar um sistema CentOS 7 automaticamente.

Tentativa

Com base em esta documentação , as seguintes etapas foram executadas:

  • yum-cron foi instalado
  • O yum-cron.conf foi alterado da seguinte forma:

    user@host ~ $ cat /etc/yum/yum-cron.conf 
    [commands]
    update_cmd = default
    update_messages = yes
    download_updates = yes
    apply_updates = yes
    
  • O yum-cron foi:

    • marcado ( systemctl status yum-cron )

      user@host ~ $ systemctl status 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 
      
    • ativado ( systemctl enable yum-cron )

    • iniciado ( systemctl start yum-cron )
  • Após alguns dias, o yum.log foi verificado

    user@host$ sudo cat /var/log/yum.log
    [sudo] password for user:
    Feb 23 18:49:51 Installed: libreoffice5.2-freedesktop-menus-5.2.5-1.noarch
    Mar 02 15:42:09 Installed: qpid-tools-1.35.0-1.el7.noarch
    Mar 27 08:41:33 Installed: yum-cron-3.4.3-150.el7.centos.noarch
    

mas nada foi instalado automaticamente. Isso foi verificado quando yum upgrade indicou que vários pacotes poderiam ser instalados:

user@host$ sudo yum upgrade

Transaction Summary
===================================================================================================================================================================================================================
Install    3 Packages (+2 Dependent packages)
Upgrade  155 Packages
Remove     2 Packages

Total size: 488 M
Total download size: 53 M
Is this ok [y/d/N]:

Discussão

  • Q: Talvez este problema esteja relacionado à versão do SO?

    user@host ~ $ cat /etc/redhat-release
    CentOS Linux release 7.3.1611 (Core)
    

    R: Não foi encontrada nenhuma evidência de que esse problema esteja relacionado ao CentOS 7.3.1611 .

por 030 30.03.2017 / 18:44

2 respostas

5

Você está perdendo uma grande quantidade de parâmetros que estão no padrão yum-cron.conf . Gostaria de saber se a omissão de alguns desses parâmetros é o que está causando o seu problema.

Aqui está uma das minhas yum-cron.conf configurações, decrufted:

# grep -v -e '^#' -e '^$' yum-cron.conf 
[commands]
update_cmd = default
update_messages = yes
download_updates = yes
apply_updates = yes
random_sleep = 10800
[emitters]
system_name = None
emit_via = stdio
ouput_width = 80
[email]
email_from = root@localhost
email_to = root
email_host = localhost
[groups]
group_list = None
group_package_types = mandatory, default
[base]
debuglevel = -2
mdpolicy = group:main

Além disso, verifique se /etc/cron.daily/0yum-cron.cron existe:

#!/bin/bash

# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi

# Action!
exec /usr/sbin/yum-cron

Por fim, verifique se os rótulos do SELinux, as permissões básicas e a propriedade do Unix estão corretos. Esses valores funcionam:

# ls -Z /etc/cron.daily/0yum-daily.cron /etc/yum/yum-cron.conf
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       /etc/cron.daily/0yum-daily.cron
-rw-r--r--. root root unconfined_u:object_r:etc_t:s0   /etc/yum/yum-cron.conf
    
por 05.04.2017 / 17:04
2

Uma coisa que pode ajudar a diagnosticar isso é verificar o e-mail da conta raiz. Qualquer processo executado pelo Anacron, ele capturará stdout e stderr e os enviará por email para a conta raiz do sistema. Além disso, yum-cron deve enviar e-mails de qualquer atividade. Seria sensato encaminhar a caixa de correio do root para um endereço de e-mail que você lê.

Adicionar set -x próximo ao início de /etc/cron.daily/0yum-cron.cron resultará em sh ecoando todos os comandos em execução, o que pode ajudar a determinar se o Anacron está sendo executado e se está sendo executado, se o script 0yum-cron.cron está executando corretamente.

    
por 07.04.2017 / 01:57