Ubuntu修复-boot满了导致apt坏掉的问题

简介: Ubuntu修复-boot满了导致apt坏掉的问题

如果apt在安装某个包需要往/boot里装新内核,但是/boot又满了,那么apt在执行install, purge, remove, autoremove等命令时就会报依赖不满足的错。

可以采用这里的方案解决:https://askubuntu.com/a/906046

思路是先删除/boot里的旧内核,然后再apt --fix-broken install,重新安装这个包,即可解决问题。

由于旧内核是用apt安装的,不能直接rm删除,而是要先dpkg --purge删除,再rm删除。比如要删掉内核5.13.0-40,先找到对应的包:

apt list --installed | grep 5.13.0-40
输出:

linux-headers-5.13.0-40-generic/focal-updates,focal-security,now 5.13.0-40.45~20.04.1 amd64 [installed,automatic]
linux-hwe-5.13-headers-5.13.0-40/focal-updates,focal-updates,focal-security,focal-security,now 5.13.0-40.45~20.04.1 all [installed,automatic]
linux-image-5.13.0-40-generic/focal-updates,focal-security,now 5.13.0-40.45~20.04.1 amd64 [installed,automatic]
linux-modules-5.13.0-40-generic/focal-updates,focal-security,now 5.13.0-40.45~20.04.1 amd64 [installed,automatic]
linux-modules-extra-5.13.0-40-generic/focal-updates,focal-security,now 5.13.0-40.45~20.04.1 amd64 [installed,automatic]
然后一次性全purge掉(逐个purge可能会出现循环依赖的问题):

dpkg --purge linux-headers-5.13.0-40-generic linux-hwe-5.13-headers-5.13.0-40 linux-image-5.13.0-40-generic linux-modules-5.13.0-40-generic linux-modules-extra-5.13.0-40-generic
但是不知道为什么这一步并不会把内核文件删掉,因此再手动把文件删掉:

rm /boot/config-5.13.0-40-generic /boot/System.map-5.13.0-40-generic /boot/initrd.img-5.13.0-40-generic /boot/vmlinuz-5.13.0-40-generic
rm -r /usr/lib/modules/5.13.0-40-generic
然后更新grub:

{spa.hosen-school.com]
{spa.58hww.com]
{spa.landanwang.com]
{spa.nchxm.com]
{spa.easy318.com]
{spa.zhiy1.com]
{spa.intruderecu.com]
{spa.ccsyhjd.com]
update-grub
然后apt --fix-broken install就可以了。

讨论
其实如果能取消需要往/boot里安装新内核的包的安装更好:https://askubuntu.com/questions/525088/how-to-delete-broken-packages-in-ubuntu

sudo dpkg --remove --force-remove-reinstreq package_name
sudo apt-get update
但是不知道为什么虽然apt update是成功了,但是此后使用apt install的时候还是会报以前的错,就好像apt不知道那个包已经被删掉了一样。

而且下面的评论有人说--force-remove-reinstreq是个非常危险的选项。

相关文章
|
7月前
|
Ubuntu Linux 数据安全/隐私保护
修复Ubuntu 18.04终端无法启动的问题
经过这一系列动作,如果终端还是藏匿不出,那它可能被数字世界的某个角落困住了。但概率比较小。大多数情况下,按照上面的修复步骤,你的 Ubuntu 18.04 终端应该能恢复健康。当然,这些攻略仅相当于一把解开问题的钥匙,并非覆盖所有情况。如果还有坎儿,可能需要深入探查,或者寻求社区的力量。别忘了,团结就是力量,绝大多数问题都不是单枪匹马能解决的。
392 27
|
6月前
|
Ubuntu 安全
修复Ubuntu系统文件损坏问题:手动fsck指令
总结一下,使用 `fsck`修复文件系统是一个复杂的过程,涉及到诊断问题、安全卸载文件系统、执行检查与修复、并且通常在维护模式下完成。这个过程对于维护系统的健康和稳定至关重要。虽然命令和步骤可以按照标准手册执行,但每个系统的具体情况可能都有所不同,因此修复操作需要对系统和维护命令有所了解。在执行这一系列操作时请确保谨慎,并对系统有一定的认识,以避免不必要的数据丢失。
1071 8
|
5月前
|
Ubuntu IDE 开发工具
修复Ubuntu启动时提示"无可启动设备"的问题。
上述步骤旨在提供一套综合的诊断与修复策略。在操作过程中应当小心谨慎,尤其是所有与分区表相关的操作,因为一旦不当操作可能导致数据丢失。若非专业人士则建议在进行重要操作之前备份数据,并在实施修复措施时考虑寻求专业技术人员的帮助。
356 0
|
9月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
228 25
|
9月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
244 28
|
10月前
|
Ubuntu 安全 调度
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
393 21
|
9月前
|
Ubuntu Linux
Ubuntu中dpkg和apt命令:debian包安装详解
希望这让你对于Ubuntu中的dpkg和apt命令有了更为清晰的理解。下次你面对软件包安装的问题,就可以轻松应对,优雅地在你的Linux系统中游刃有余了。
997 10
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
511 0
|
Ubuntu 应用服务中间件 开发工具
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
304 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
|
Ubuntu Linux 文件存储
如何使用 Linux 构建自己的 NAS 系统?
【7月更文挑战第28天】
9293 7
如何使用 Linux 构建自己的 NAS 系统?