domingo, 18 de agosto de 2013

Debian Linux: actualizações automáticas de segurança via cron-apt

OS: Debian 7 "Wheezy"

0.- Instalar update-notifier (opcional)
~$ su
~$ apt-get install update-notifier


1.- Instalar cron-apt
~$ apt-get install cron-apt

2.- Editar o ficheiro /etc/cron-apt/action.d/3-download de modo a actualizar apenas os pacotes (e não a distro):
~$ nano /etc/cron-apt/action.d/3-download
autoclean -y
#dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
upgrade -d -y -o APT::Get::Show-Upgraded=true


3.- Criar os seguintes ficheiros para permitir as actualizações automáticas de segurança:
~$ nano /etc/cron-apt/action.d/5-security
upgrade -y -o APT::Get::Show-Upgraded=true

~$ nano /etc/cron-apt/config.d/5-security
OPTIONS="-o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/security.sources.list -o Dir::Etc::SourceParts=\"/dev/null\""


4.- Criar o ficheiro security.sources.list com base na sources.list:
~$ cp /etc/apt/sources.list /etc/apt/security.sources.list

... e apagar tudo excepto:

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main


[Nota: Não esquecer de editar este ficheiro quando actualizarmos o sistema -- substituir "wheezy" pelo novo nome da distro].

5.- Configurar o ficheiro /etc/cron.d/cron-apt de acordo com o horário pretendido. Por defeito, corre às 4 da manhã.
~$ nano /etc/cron.d/cron-apt
#
# Regular cron jobs for the cron-apt package
#
# Every night at 4 o'clock.
0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
# Every hour.
# 0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
# Every five minutes.
# */5 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2


6.- Executar o cron-apt via anacron criando um atalho no /etc/cron.daily:
~$ ln -s /usr/sbin/cron-apt /etc/cron.daily/

Para mais informações, consultar:
- http://www.the-art-of-web.com/system/cron-apt-wheezy/
- https://help.ubuntu.com/community/AutoWeeklyUpdateHowTo
...
- http://naoimporta.com/blog/cron-vs-anacron-como-configurar-o-anacron-no-linux/
...
- http://v1.corenominal.org/howto-setup-a-crontab-file/