我最近apt-get install unzip
在一台 Ubuntu 服务器上运行,出于某种原因,它开始更新系统上的几乎所有软件包 - apache、php、git、mysql、大量库等等。最终,在尝试添加新的内核映像时失败了:
update-initramfs: Generating /boot/initrd.img-3.5.0-54-generic
gzip: stdout: No space left on device
已安装大量内核。uname -r
当前返回3.5.0-36-generic
,但列出的内核比这更新约有 10 个。
我的问题是:
- 清除
/boot
分区的正常建议是删除不再使用的旧内核 - 您也可以删除较新的内核吗?它是一个远程服务器,因此如果引导加载程序中断,那将是一个真正的问题。 - 为什么要
apt-get install unzip
更新这么多不相关的软件包?
答案1
“启动时空间不足”是一个独立的问题,对于启用了磁盘加密的人来说,这似乎是一个持续存在的问题。它似乎已经作为错误报告报告了一年,但由于某种原因仍未修复。您可以使用
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
在控制台中——它会查找您已安装的内核包,然后清除除当前正在运行的内核包之外的所有包。
答案2
- 您可以删除除正在使用的内核之外的所有内核(参见
uname -r
)。您也许可以保留另一个内核以确保万无一失,但您肯定不需要 10 个内核。 - 我猜想您上次运行
apt-get
/时有一些未配置的包dpkg
。