[Kernel/Drive] 升级linux-image-deepin-hwe-amd64依赖失败,无法安装软件了
Tofloor
poster avatar
Vn
deepin
2025-02-25 10:23
Author
1、deepin系统信息

deepin社区版23 当前内核版本 6.6.63-amd64-desktop-hwe

2、今天早上手贱,执行sudo apt dist-upgrade升级发现报下面错误,在应用商店更新Chrome和微信发现也失败,连原来的软件也没了

以后不敢随便升级了, 急等中,谢谢!

sudo apt dist-upgrade

正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
 linux-image-deepin-hwe-amd64 : 依赖: linux-image-6.6.71-amd64-desktop-hwe 但是它还没有被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
3、执行sudo apt --fix-broken install修复又报下面错误
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
正在修复依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
  libb64-0d libjwt0
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
  linux-image-6.6.71-amd64-desktop-hwe
下列软件包将被【卸载】:
  linux-image-6.6.40-amd64-desktop-hwe
下列【新】软件包将被安装:
  linux-image-6.6.71-amd64-desktop-hwe
升级了 0 个软件包,新安装了 1 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
有 4 个软件包没有被完全安装或卸载。
需要下载 0 B/97.1 MB 的归档。
解压缩后会消耗 27.8 MB 的额外空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 403755 个文件和目录。)
正在卸载 linux-image-6.6.40-amd64-desktop-hwe (23.01.00.33) ...
update-initramfs: Deleting /boot/initrd.img-6.6.40-amd64-desktop-hwe
Generating grub configuration file ...
Found theme: /boot/grub/themes/deepin/theme.txt
Found background image: /boot/grub/themes/deepin/background.jpg
Found linux image: /boot/vmlinuz-6.6.63-amd64-desktop-hwe
Found linux image: /boot/vmlinuz-6.6.59-amd64-desktop-hwe
Found initrd image: /boot/initrd.img-6.6.59-amd64-desktop-hwe
Found linux image: /boot/vmlinuz-6.6.47-amd64-desktop-hwe
Found initrd image: /boot/initrd.img-6.6.47-amd64-desktop-hwe
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Deepin 23 (23) on /dev/nvme0n1p4
sed: couldn't flush stdout: 设备上没有空间
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 4
dpkg: 处理软件包 linux-image-6.6.40-amd64-desktop-hwe (--remove)时出错:
 已安装 linux-image-6.6.40-amd64-desktop-hwe 软件包 post-removal 脚本 子进程返回错误状态 4
dpkg: 出现过多错误,正在停止
在处理时有错误发生:
 linux-image-6.6.40-amd64-desktop-hwe
由于出现了太多错误,处理过程被中止了。
E: Sub-process /usr/bin/dpkg returned an error code (1)
Reply Favorite View the author
All Replies
xye9008
deepin
2025-02-25 11:11
#1

linux内核空间不够了,安装新内核未成功,在论坛搜清理内核空间的方法。

Reply View the author
Vn
deepin
2025-02-25 13:40
#2
It has been deleted!
xye9008
deepin
2025-02-25 13:43
#3
Vn It has been deleted!

用卸载软件的命令已不行,论坛里有人回答过,去指定的内核空间使用sudo rm -rf 去删除,具体不太清楚了。

给你贴一个AI的回答:

在Deepin 23系统中,如果内核空间已满且使用sudo apt purge无法清理多余的内核,可以通过以下步骤手动删除旧内核文件:

  1. 列出已安装的内核
    首先,使用以下命令列出当前系统中已安装的所有内核:
    dpkg --get-selections | grep linux

这将显示所有与Linux内核相关的包,包括linux-image、linux-headers和linux-modules等。通过此命令可以明确哪些内核版本是已安装的[3][6][8]。
2. 确认当前使用的内核版本
使用以下命令查看当前正在使用的内核版本:
uname -r

确保不要删除正在使用的内核版本,否则可能导致系统无法启动[3][6][8]。
3. 手动删除旧内核文件
如果sudo apt purge无法清理旧内核,可以手动删除旧内核文件。以下是具体步骤:
a. 删除旧内核包
使用以下命令删除指定的旧内核包。例如,要删除linux-5.4.70版本的内核:
sudo apt remove --purge linux-headers-5.4.70 linux-image-unsigned-5.4.70 linux-modules-5.4.70

如果不确定具体版本,可以使用通配符:
sudo apt remove --purge linux-5.4.70

此命令会删除所有与指定内核版本相关的包[6][7][8]。
b. 手动清理/boot目录
如果旧内核文件仍然存在于/boot目录中,可以手动删除它们。首先切换到/boot目录:
cd /boot

然后删除旧内核文件。例如:
sudo rm -rf 5.4.70

注意:删除时请确保不要误删当前使用的内核文件[3][6][8]。
c. 清理/lib/modules目录
旧内核模块可能还存在于/lib/modules目录中。切换到该目录并删除旧版本的模块:
cd /lib/modules
sudo rm -rf 5.4.70

同样,确保不要删除当前内核版本的模块[3][6][8]。
4. 清理启动项
如果旧内核的启动项仍然存在于启动菜单中,可以使用以下方法清理:
a. 使用efibootmgr删除启动项(适用于UEFI系统)
安装并运行efibootmgr:
sudo apt install efibootmgr
sudo efibootmgr -v

找到与旧内核相关的启动项,然后使用以下命令删除:
sudo efibootmgr -b -B

注意:是需要删除的启动项编号[2][9]。
b. 使用grub-customizer清理启动菜单
安装grub-customizer并运行:
sudo apt install grub-customizer
grub-customizer

在图形界面中,可以选择删除旧内核的启动项[2][9]。
5. 最后清理
完成上述步骤后,运行以下命令清理系统缓存:
sudo apt autoremove --purge
sudo apt clean

这将确保所有不必要的包和缓存文件都被清理干净[6][7][8]。
注意事项

备份重要数据:在执行删除操作前,务必备份重要数据,以防误操作导致数据丢失。
确认当前内核版本:在删除旧内核时,确保不要删除正在使用的内核版本,以免导致系统无法启动。
谨慎使用手动删除命令:手动删除文件时,请仔细检查文件名,避免误删系统关键文件。

通过以上步骤,可以有效清理Deepin 23系统中占用空间的旧内核文件,释放磁盘空间[3][6][7][8]。

Reply View the author
Vn
deepin
2025-02-25 15:50
#4
xye9008

用卸载软件的命令已不行,论坛里有人回答过,去指定的内核空间使用sudo rm -rf 去删除,具体不太清楚了。

给你贴一个AI的回答:

在Deepin 23系统中,如果内核空间已满且使用sudo apt purge无法清理多余的内核,可以通过以下步骤手动删除旧内核文件:

  1. 列出已安装的内核
    首先,使用以下命令列出当前系统中已安装的所有内核:
    dpkg --get-selections | grep linux

这将显示所有与Linux内核相关的包,包括linux-image、linux-headers和linux-modules等。通过此命令可以明确哪些内核版本是已安装的[3][6][8]。
2. 确认当前使用的内核版本
使用以下命令查看当前正在使用的内核版本:
uname -r

确保不要删除正在使用的内核版本,否则可能导致系统无法启动[3][6][8]。
3. 手动删除旧内核文件
如果sudo apt purge无法清理旧内核,可以手动删除旧内核文件。以下是具体步骤:
a. 删除旧内核包
使用以下命令删除指定的旧内核包。例如,要删除linux-5.4.70版本的内核:
sudo apt remove --purge linux-headers-5.4.70 linux-image-unsigned-5.4.70 linux-modules-5.4.70

如果不确定具体版本,可以使用通配符:
sudo apt remove --purge linux-5.4.70

此命令会删除所有与指定内核版本相关的包[6][7][8]。
b. 手动清理/boot目录
如果旧内核文件仍然存在于/boot目录中,可以手动删除它们。首先切换到/boot目录:
cd /boot

然后删除旧内核文件。例如:
sudo rm -rf 5.4.70

注意:删除时请确保不要误删当前使用的内核文件[3][6][8]。
c. 清理/lib/modules目录
旧内核模块可能还存在于/lib/modules目录中。切换到该目录并删除旧版本的模块:
cd /lib/modules
sudo rm -rf 5.4.70

同样,确保不要删除当前内核版本的模块[3][6][8]。
4. 清理启动项
如果旧内核的启动项仍然存在于启动菜单中,可以使用以下方法清理:
a. 使用efibootmgr删除启动项(适用于UEFI系统)
安装并运行efibootmgr:
sudo apt install efibootmgr
sudo efibootmgr -v

找到与旧内核相关的启动项,然后使用以下命令删除:
sudo efibootmgr -b -B

注意:是需要删除的启动项编号[2][9]。
b. 使用grub-customizer清理启动菜单
安装grub-customizer并运行:
sudo apt install grub-customizer
grub-customizer

在图形界面中,可以选择删除旧内核的启动项[2][9]。
5. 最后清理
完成上述步骤后,运行以下命令清理系统缓存:
sudo apt autoremove --purge
sudo apt clean

这将确保所有不必要的包和缓存文件都被清理干净[6][7][8]。
注意事项

备份重要数据:在执行删除操作前,务必备份重要数据,以防误操作导致数据丢失。
确认当前内核版本:在删除旧内核时,确保不要删除正在使用的内核版本,以免导致系统无法启动。
谨慎使用手动删除命令:手动删除文件时,请仔细检查文件名,避免误删系统关键文件。

通过以上步骤,可以有效清理Deepin 23系统中占用空间的旧内核文件,释放磁盘空间[3][6][7][8]。

谢谢已解决了

Reply View the author
Vn
deepin
2025-02-25 16:05
#5

找了一天的解决方法,最终在DeepSeek帮助下清理旧的内核后正常安装软件使用。

解决方法如下:

1. 检查磁盘空间

首先检查 /boot 分区的可用空间:

df -h /boot

如果 /boot 分区已满,可以删除一些旧的内核镜像和相关的文件来释放空间。

2. 删除旧的内核镜像

你可以手动删除一些旧的内核镜像来释放空间。首先列出已安装的内核:

dpkg --list | grep linux-image

然后删除不需要的旧内核版本。例如,删除 linux-image-6.6.40-amd64-desktop-hwe

sudo apt-get remove --purge linux-image-6.6.40-amd64-desktop-hwe

如果 apt-get 无法正常工作,可以尝试强制删除

sudo dpkg --purge linux-image-6.6.40-amd64-desktop-hwe
3. 清理 GRUB 配置

如果磁盘空间问题解决后,仍然遇到 GRUB 配置问题,可以尝试重新生成 GRUB 配置文件:

sudo update-grub
4. 手动清理

如果第2、3步骤执行报/boot空间不足,可以多执几次以下命令:

# 查看存储空间,/boot/snapshot占用绝大部分空间
df -h /boot
df -h /boot/snapshot
# 如果/boot即将满时清空/boot/snapshot/以确保第2、3步骤正常执行
rm -rf /boot/snapshot/*
5. 检查 GRUB 脚本

如果问题仍然存在,检查 /etc/grub.d/99_deepin-boot-kit 脚本的第 45 行,看看是否有明显的错误或需要调整的地方。

6. 重启系统

在完成上述步骤后,重启系统以确保所有更改生效:

sudo reboot
Reply View the author