再次.../boot 已满

再次.../boot 已满
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一定令人印象深刻!

  1. 卸载内核如果你不使用这个将会清理你的 /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]

如果你希望继续升级内核,然后继续以下步骤。这是针对新用户或不熟练用户的推荐选项。

  1. 更新内核元包所以他们引入了正确的最新内核

    sudo apt clean linux-image-generic linux-image-extra-generic
    sudo apt install --reinstall linux-image-generic linux-image-extra-generic
    
  2. 升级系统,它将引入最新的内核(-98)并测试你的包管理器是否正常运行

    sudo apt update
    sudo apt upgrade
    
  3. 重启进入新内核。每月甚至每季度重新启动一次将防止问题再次发生...或者,如果您是脚本专家,您可以修改 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]+//')")

使用上面的脚本。我有一段时间没用它了,但它应该有用。这将删除除当前正在使用的内核版本之外的所有内核版本。

相关内容