内核/boot 为 100%满,易于清理linux映像 x.x. x.x 泛型将无法工作

分享于 

8分钟阅读

ubuntu

  繁體 雙語

问题:

我有一个 /boot 过载。 试图跟随 /dev/sda1/boot,但已经被卡住。

历史:


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



哇这么多,怎么会发生? !

然后:


uname -r


4.4.0-21-generic



尝试清除未使用的图像:


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).



有谁知道?


回答 1:

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

在系统运行时,如果你的系统正在运行,那么你应该从安装的最新内核引导,这似乎是在你的情况下。

从GRUB菜单(。如果GRUB不显示,则在引导期间按住或者重复按Shift键) 中选择它。

当你从最新内核启动时,首先运行 sudo apt-get -f install 如果你在使用前两种方法时,尝试修复未满足的依赖项问题,请继续进行,如果失败,请跳至手动包清除。

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

  • 运行 sudo apt autoclean && sudo apt autoremove 如果你没有对所有旧内核和相关软件包进行 messed,apt应该正确地管理它。

使用 purge_old_kernels 从byobu封装

如果是,apt方法不工作或者没有删除足够的空间:

  • 安装 byobusudo 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 and和/或者清理旧的内核。

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
    
    
    
    

    借来这个响应。

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

  • 做一个完全升级 sudo apt update && sudo apt full-upgrade
  • sudo apt autoclean && sudo apt autoremove
  • 如果仍然保留任何旧内核版本( 此外,除了当前和以前的版本,始终作为安全预防措施保持。),则从 byoby 包运行 sudo purge_old_kernels 命令。

回答 2:

如果 /boot 太满,apt remove 无法正常工作( No space left on device ) rm just只需要删除一些属于你想要删除的内核的文件,释放足够空间,这样你就可以正确地对这些包进行。 但是在运行 rm 时,如果你不想删除文件,你甚至不想删除文件,那么简单的apt install --reinstall 将会修复它。

常见的误解相反,这完全没有问题,因为任何人都可以看到它们是否实际尝试。 ( 特别是,我经常读到这样做会导致"损坏的软件包"。 不,这不是坏包的意思。



图像  GET  generic  内核  APT  Apt-get  
相关文章