/boot 已 100% 满,apt-get purge linux-image-xxxx-generic 不起作用

Man*_*nny 5 boot kernel disk-usage

我有一个/boot超载。试图关注/dev/sda1 /boot is full,但被卡住了。

历史:

df
Filesystem            1K-blocks    Used Available Use% Mounted on
udev                     485360       0    485360   0% /dev
tmpfs                    100744   10824     89920  11% /run
/dev/mapper/vg00-lv01  49011528 7513836  39300100  17% /
tmpfs                    503716       0    503716   0% /dev/shm
tmpfs                      5120       0      5120   0% /run/lock
tmpfs                    503716       0    503716   0% /sys/fs/cgroup
/dev/sda1                474730  466955         0 100% /boot

dpkg --list | grep linux-image

ii  linux-image-4.4.0-21-generic       4.4.0-21.37                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-59-generic       4.4.0-59.80                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-62-generic       4.4.0-62.83                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-63-generic       4.4.0-63.84                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-64-generic       4.4.0-64.85                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-66-generic       4.4.0-66.87                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-67-generic       4.4.0-67.88                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-70-generic       4.4.0-70.91                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-71-generic       4.4.0-71.92                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
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-extra-4.4.0-21-generic 4.4.0-21.37                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-59-generic 4.4.0-59.80                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-62-generic 4.4.0-62.83                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-63-generic 4.4.0-63.84                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-64-generic 4.4.0-64.85                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-66-generic 4.4.0-66.87                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-67-generic 4.4.0-67.88                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-70-generic 4.4.0-70.91                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-71-generic 4.4.0-71.92                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-extra-4.4.0-72-generic 4.4.0-72.93                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-extra-4.4.0-75-generic 4.4.0-75.96                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-generic                4.4.0.75.81                                amd64        Generic Linux kernel image
Run Code Online (Sandbox Code Playgroud)

!!!哇,这么多,怎么会这样?

进而:

uname -r
4.4.0-21-generic
Run Code Online (Sandbox Code Playgroud)

尝试清除未使用的图像:

apt-get purge linux-image-4.4.0-59-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-extra-4.4.0-59-generic : Depends: linux-image-4.4.0-59-generic but it is not going to be installed
 linux-image-extra-4.4.0-75-generic : Depends: linux-image-4.4.0-75-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-4.4.0-75-generic but it is not going to be installed
                       Recommends: thermald but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

dgo*_*lez 10

删除旧内核以释放/boot分区中的空间

如果您的系统使用旧内核运行(通常默认情况下是最新的内核启动),您应该从安装的最新内核启动,这似乎是linux-image-4.4.0-72-generic您的情况。

从 GRUB 菜单中选择它(Shift如果 GRUB 根本不显示,请在引导过程中按住或反复按)。

当您从最新的内核启动时,首先运行sudo apt-get -f install,尝试修复未满足的依赖项问题,如果可以,请继续使用以下前两种方法中的任何一种;如果失败跳转到手动包清除

恰当的方式

尝试使用 apt 正确管理空间问题:

  • 运行sudo apt autoclean && sudo apt autoremove,apt 应该正确管理删除所有旧内核和相关包,如果您没有过多地使用它

使用来自byobu包的purge_old_kernels

如果apt 方法不起作用或没有删除足够的空间:

  • 安装byobu运行sudo apt install byobu.
  • 然后运行sudo purge-old-kernels,它应该以比直接清除软件包更干净的方式删除旧内核。

手动包装清除

如果有哦以上的工作:

  • 清除最旧的(未运行)内核sudo apt-get purge linux-image-4.4.0-21-generic && sudo update-grub
  • 重新启动并从可用的最新内核启动。
  • 运行sudo apt-get -f install
  • 运行sudo apt update && sudo apt full-upgrade
  • 使用最新的内核重新启动。
  • 通过apt 方式和/或 _purge_old_kernels_清理旧内核。

dpkg的方式

作为最后的手段,您可以尝试以不是最安全dpkg方式进行操作。

  • 从终端运行(从最新安装的内核运行)

    echo $(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p') $(dpkg --list | grep linux-headers | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p') | xargs sudo apt-get -y purge
    
    Run Code Online (Sandbox Code Playgroud)

    借用这个回答

  • 重新启动系统并运行 sudo apt-get -f install

  • 做一个全面升级sudo apt update && sudo apt full-upgrade
  • 如果需要,重新启动(新内核??)并采用适当的方式sudo apt autoclean && sudo apt autoremove
  • 如果仍然保留任何旧的内核版本(除了始终保留作为安全预防措施的当前和先前版本),请sudo purge_old_kernelsbyoby包运行, 命令。