df -h
给出:
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 799M 81M 718M 11% /run
/dev/mapper/buildingbase--vg-root 287G 27G 246G 10% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda1 472M 466M 0 100% /boot
/dev/vdb1 2.0T 647G 1.4T 32% /mnt/bigstorage
tmpfs 799M 0 799M 0% /run/user/1000
我的内核
uname -r
4.4.0-72-generic
然后我安装的内核...
dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+'
如你所见,没有旧内核:-{
ii linux-image-4.4.0-72-generic 4.4.0-72.93 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-75-generic 4.4.0-75.96 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-78-generic 4.4.0-78.99 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-79-generic 4.4.0-79.100 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-81-generic 4.4.0-81.104 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-83-generic 4.4.0-83.106 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-87-generic 4.4.0-87.110 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-89-generic 4.4.0-89.112 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-91-generic 4.4.0-91.114 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-92-generic 4.4.0-92.115 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
我该如何清理/boot
?
当然
sudo apt-get autoremove
无法正常工作...空间不足
答案1
Apt 的自动删除逻辑假设您需要较新的内核,并且不会将较新的内核标记为符合自动删除条件
您已启动到最旧的内核。Apt 的自动删除逻辑不会删除任何较新的内容。
你uptime
一定令人印象深刻!
卸载内核如果你不使用这个将会清理你的 /boot:
sudo dpkg --remove linux-image-4.4.0-{75,78,79,81,83,87,89,91,92}-generic linux-image-extra-4.4.0-{75,78,79,81,83,87,89,91,92}-generic
现在你必须做出选择:您是否希望定期继续升级内核?或者您希望在发行版的整个生命周期内继续使用当前内核?(这不是永久的选择,您可以随时更改。)
如果你想完全放弃内核升级,可以使用apt-hold到阻止下载较新的内核并安装。然后你可以在这里停下来并忽略这个答案的其余部分。这是不是 对于新用户或不熟练的用户,这是推荐的选项。[感谢@panther]
如果你希望继续升级内核,然后继续以下步骤。这是针对新用户或不熟练用户的推荐选项。
更新内核元包所以他们引入了正确的最新内核
sudo apt clean linux-image-generic linux-image-extra-generic sudo apt install --reinstall linux-image-generic linux-image-extra-generic
升级系统,它将引入最新的内核(-98)并测试你的包管理器是否正常运行
sudo apt update sudo apt upgrade
重启进入新内核。每月甚至每季度重新启动一次将防止问题再次发生...或者,如果您是脚本专家,您可以修改 apt 的自动删除逻辑(它只是一个脚本)以删除中间较新的内核。
或者,如果你不喜欢重新启动,请尝试拼接。拼接是一项更新服务,可自动将补丁应用于 Linux 内核,而无需重新启动计算机。[感谢@panther]
答案2
sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")
使用上面的脚本。我有一段时间没用它了,但它应该有用。这将删除除当前正在使用的内核版本之外的所有内核版本。