Nov 102012
 

In un precedente articolo abbiamo visto come Abilitare gli aggiornamenti automatici di sicurezza in Debian/Ubuntu , lo uso questa metodo sulla mia VPS Debian e devo dire che grazie a questo ho dimenticato le preoccupazioni per la sicurezza grazie agli aggiornamenti automatici, ma forse voi avete una Red Hat 6 o Centos 6 e volete anche voi dormire tranquilli?

Non c’è nessun problema, oggi vedremo come ottenere lo stesso risultato su una macchina Centos 6.



Installare yum-cron

Il pacchetto che ci permette di fare gli aggiornamenti automatici tramite yum è yum-cron , per farlo è sufficiente aprire un terminale come utente root ed eseguire il comando:

yum -y install yum-cron

Per impostazione predefinita, il software è configurato per scaricare tutti gli aggiornamenti ed applicarli immediatamente dopo il download, ma possiamo cambiare questi comportamenti nel suo file di configurazione /etc/sysconfig/yum-cron i parametri che si possono cambiare per cambiare questo comportamento sono questi 2:

# Don't install, just check (valid: yes|no)
CHECK_ONLY=no
 
# Don't install, just check and download (valid: yes|no)
# Implies CHECK_ONLY=yes (gotta check first to see what to download)
DOWNLOAD_ONLY=no

A mio parere, il valore predefinito è buono per quello che voglio ottenere, scaricare e installare tutti gli aggiornamenti, se si desidera solo una mail che vi dica quali pacchetti sono disponibili configurate il parametro CHECK_ONLY a yes, questo NON scaricherà gli aggiornamenti, ma verificherà solo se ci sono aggiornamenti ed invierà una e-mail all’account di root se c’è qualcosa che può essere aggiornato.

È possibile impostare il parametro MAILTO a un indirizzo di posta elettronica valido, per impostazione predefinita questo parametro non è impostato:

# by default MAILTO is unset, so crond mails the output by itself
# example:  MAILTO=root
MAILTO=

Modificare questa a qualcosa come [email protected] .

E ora, prima di abilitare gli aggiornamenti automatici bisogna tenere presente 2 cose correlate a Centos/Red Hat:

1) I pacchetti di distribuzione per queste distribuzioni non danno informazioni precise sulla sicurezza, quindi quello che possiamo fare è un aggiornamento automatico di tutto il sistema, non solo dei pacchetti sulal sicurezza sicurezza come in Debian.

2) A causa del punto numero 1, questa procedura aggiorna ogni singolo pacchetto del sistema, quindi è importante che, come prima cosa si impostino correttamente i pacchetti che non dovrebbe essere automaticamente aggiornati.


Bloccare alcuni pacchetti dagli aggiornamenti automati in Centos

Ci sono 2 modi per ottenere questo obiettivo:

– Se si desidera escludere alcuni pacchetti dagli aggiornamenti automatici anche quando si da un yum update dalla riga di comando è possibile impostare l’opzione exclude nel file /etc/yum.conf , quindi si può impostare qualcosa di simile:

exclude=kernel* php*

– Se si desidera escludere alcuni pacchetti solo dagli aggiornamenti automatici è possibile modificare il file /etc/sysconfig/yum-cron e impostare l’opzione YUM_PARAMETER con -x nomepacchetto , è necessario ripetere -x per ogni pacchetto che si desidera escludere, quindi ad esempio:

YUM_PARAMETER="-x kernel* -x php*"

Si dovrebbe quindi eseguire un ‘yum update’ per assicurarsi che si è aggiornati. Questo sarà anche utile per verificare che non ci sono conflitti. Ricordate, se ci sono conflitti yum non sarà in grado di fare l’aggiornamento. Ciò significa che yum-cron non sarà in grado di aggiornare automaticamente il sistema.

Abilitare gli aggiornamenti automatici

Ora non resta che abilitare gli aggiornamenti automatici con il comando:

[root@host ~]# /etc/init.d/yum-cron start
Enabling nightly yum update: [ OK ]

Ed abilitare questo demone al boot con il comando:

[root@host ~]# chkconfig yum-cron on

L’aggiornamento del sistema sarà fatto durante i processi programmati in cron.daily del sistema.

Popular Posts:

Flattr this!

  8 Responses to “Abilitare gli aggiornamenti automatici in Centos 6 e Red Hat 6”

  1. Thank you for the article… very informative. I didn’t know there is ‘yum-cron’ for this. I used to use a simple ‘yum update -y’ in a shell script inside cron.daily which I assume it’s the same thing..

  2. Reinventing the wheel, yum-updatesd can already do that.

  3. yum-updatesd is better suited for desktop, and yum-cron for servers.

  4. yumupdatesd was available in RHEL/CentOS 5.x.
    It was replaced in RHEL/CentOS 6.x with yum-cron.

  5. is that any way to run yum-cron only for a specific day say Sunday rather than everyday.

    • @ dipan mukherjee

      in /etc/sysconfig there is a file called yum-cron

      To open and edit this file execute the following command:

      nano /etc/sysconfig/yum-cron

      When the file is open in Nano look for this part:


      # you may set DAYS_OF_WEEK to the days of the week you want to run
      # default is every day
      #DAYS_OF_WEEK="0123456"

      Changing the number will set certain days. 0 = Sunday, 1 = Monday, 2 = Tuesday, etc… Set the value to “0” to cron every Sunday.

      # you may set DAYS_OF_WEEK to the days of the week you want to run
      # default is every day
      #DAYS_OF_WEEK="0"

      Good luck

  6. Thanks for update.Actually we had needed a specific time in weekend to run and send mail to us for this purpose I have moved the file from /etc/cron.daily/0yum.cron to /etc/cron.d/0yum.cron and made changes as per my requirement. It is working fine. Ok we will check the solution which you provide.
    # crontab -l
    0 2 * * 6 /etc/cron.d/0yum.cron

  7. Another way of updating everything but leaving certian packages alone is to sue the “versionlock” option with yum.

    Download/install it

    [root@foo samba]# yum install yum-versionlock

    And now version lock samba

    [root@foo samba]# yum versionlock samba

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*