Qual espaço em disco e outras configurações são necessárias para que você possa confiar em unattended-upgrades
para executar autônoma mais ou menos indefinidamente? Estou pedindo isso para tentar entender o que deu errado com um determinado servidor.
No início de 2014, configurei um sistema LTS do Ubuntu 12.04.4 no Amazon EC2 (usando o ami-c45f6281), permitindo que upgrades autônomos mantivessem as atualizações de segurança. Então eu deixo ser.
Olhando nos registros, posso ver que, em 2015-05-20, os upgrades autônomos caíram, aparentemente devido à falta de espaço em disco. Esta parece ser a linha chave do arquivo de log /var/log/unattended-upgrades/unattended-upgrades-dpkg_2015-05-20_06:54:02.822902.log
:
Selecting previously unselected package linux-headers-3.2.0-84-virtual.
Unpacking linux-headers-3.2.0-84-virtual (from .../linux-headers-3.2.0-84-virtual_3.2.0-84.121_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-84-virtual_3.2.0-84.121_amd64.deb (--unpack):
error creating symbolic link './usr/src/linux-headers-3.2.0-84-virtual/include/linux/nfs2.h': No space left on device
Nos dias seguintes, tudo o que vejo é uma e outra vez até agora:
2015-11-02 06:28:44,233 INFO Initial blacklisted packages:
2015-11-02 06:28:44,249 INFO Starting unattended upgrades script
2015-11-02 06:28:44,256 INFO Allowed origins are: ['o=Ubuntu,a=precise-security']
2015-11-02 06:29:09,126 ERROR Cache has broken packages, exiting
Mas este erro inicial me confunde porque df
parece indicar que tenho mais de 1 GB de espaço livre em disco:
ubuntu@ip-172-31-27-132:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 5.7G 1.8G 77% /
udev 288M 12K 287M 1% /dev
tmpfs 60M 196K 59M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 296M 0 296M 0% /run/shm
Isso pode estar relacionado ao problema com o bootloader grub em instâncias do EC2 , mas esse bug descreve instâncias que não estão sendo inicializadas adequadamente após uma atualização, uma perspectiva muito alarmante que agora me assusta até mesmo tentar reiniciar.
Em geral, estou me perguntando se o Ubuntu e as atualizações autônomas são, na verdade, uma maneira sensata de construir um tipo de sistema "configure e esqueça". Talvez essa ideia tenha sido ingênua, e a maneira correta de fazer isso é desligar as atualizações e tentar minimizar a superfície de ataque, ou escolher uma distro mais orientada para o servidor?