需要哪些磁盘空间和其他配置才能确保可以unattended-upgrades
无限期地无人值守运行?我问这个问题是为了了解某台服务器出了什么问题。
2014 年初,我在 Amazon EC2 上设置了一个 Ubuntu 12.04.4 LTS 系统(使用 ami-c45f6281),启用了无人值守升级来维护安全更新。然后我就让它顺其自然吧。
查看日志,我发现 2015-05-20,无人值守升级失败,显然是因为磁盘空间不足。这似乎是日志文件中的关键行/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
此后的日子里,从那时到现在,我看到的都是这样的:
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
但是这个初始错误让我感到困惑,因为df
似乎表明我有超过 1 GB 的可用磁盘空间:
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
这可能与EC2 实例上的 grub 引导加载程序存在此错误但是该错误描述了更新后甚至无法正确启动的情况,这是一个非常令人担忧的前景,现在我甚至害怕尝试重新启动。
更一般地说,我想知道 Ubuntu 和无人值守升级是否真的是构建“设置后就忘掉”系统的明智方法。也许这个想法很幼稚,正确的做法是关闭更新并尽量减少攻击面,或者选择更面向服务器的发行版?