当我启动 Ubuntu 服务器时,出现以下警告消息:
=> /boot is using 100.0% of 235MB
当我查看 /boot 时,我发现有很多依赖于内核版本的文件。
ls -al /boot/
abi-3.13.0-*-generic
config-3.13.0-*-generic
initrd.img-3.13.0-*-generic
System.map-3.13.0-*-generic
vmlinuz-3.13.0-*-generic
其中 * 对应 24,35,36,37,39,40,41,43,44
我怎样才能安全地清理它?
谢谢
答案1
卸载不再使用的旧内核版本。我通常会保留安装的最后两三个版本,并删除较旧的版本。例如,您可以运行
apt-get purge linux-image-3.13.0-{24,35,36,37,39,40}-generic
当您执行此操作时,上面列出的旧文件将从 /boot 中删除。
答案2
我使用这段只写的脚本来完成这项工作。我想我在 StackExchange 上对类似问题的先前回答中找到了它,但现在找不到它了。无论如何 - 此脚本保留了内核和相关文件的运行版本,但删除了所有其他版本:
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
我花了相当多的时间研究它,并且设法向自己解释它是如何工作的......
答案3
我编写了一个可以自动完成这项工作的工具,希望它能帮助到其他人:https://github.com/erichs/bootnukem。