无法找到软件包 xxxxxxxxxx 的文件列表,现假定目前该软件包没有任何文件被安装在系统里

大量的报错:

dpkg: 警告: 无法找到软件包 libgpod4:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 vlc-plugin-samba:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libenchant-2-voikko:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 manpages-ja 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libserd-0-0:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libdrm-amdgpu1:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libwacom-common 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 task-malayalam-desktop 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libatk-adaptor:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libaprutil1:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 gir1.2-mediaart-2.0:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libxcb-damage0:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libhtml-form-perl 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libtotem0:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 libgnome-rr-4-2:amd64 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 g++-12 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
dpkg: 警告: 无法找到软件包 firefox-esr-l10n-en-gb 的文件列表,现假定目前该软件包没有任何文件被安装在系统里
....

起因:

  • 误删 /var/lib/dpkg/info/ 目录内容,致使相关依赖数据无法加载

原因:

  • dpkg命令获取不到dpkg软件包数据配置,dpkg却在系统内info目录下查询不到相关程序的配置文件信息;就会提示这个错误。

处理:

手动重新安装对应缺陷软件,刷新缓存记录。
因量较大,写脚本自动执行

FP获取需要刷新数据的列表信息,并将其写入SH脚本进行执行

#!/bin/bash
sudo apt install -y --reinstall nginx > b.txt
echo "#!/bin/bash" > a.sh
cat b.txt | awk -F ' ' '{print $4}' | awk -F ':' '{print "sudo apt install -y --reinstall "$1}' >> a.sh
cat a.sh | wc
chmod +x a.sh


二、执行SHELL脚本

[root@localhost ~/] ./a.sh

中途可能报错:Sub-process /usr/bin/dpkg returned an error code (1)

raspi-firmware: missing /boot/firmware, did you forget to mount it?
run-parts: /etc/initramfs/post-update.d//z50-raspi-firmware exited with return code 1
dpkg: 处理软件包 initramfs-tools (--configure)时出错:
 已安装 initramfs-tools 软件包 post-installation 脚本 子进程返回错误状态 1
在处理时有错误发生:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

则需要手动处理跳过以下本身有问题的包:

#!/bin/bash
sudo dpkg --configure -a
pid=`ps -ef | grep dpkg | grep root | awk -F ' ' '{print $3}'`
echo $pid
sudo kill -9 $pid
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.back
sudo mkdir /var/lib/dpkg/info
sudo apt install -y
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info.back /var/lib/dpkg/info

反复执行第二步,直至记录为零即可


异常:

正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 1397349(apt)持有... 2秒
强制kill掉它
ps -ef | grep dpkg | grep root | awk -F ' ' '{print $3}'
sudo kill -9 1397349

结果-完美解决(重启系统测试、各软件功能测试)

m@Home:~$ sudo apt install --reinstall vim
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
升级了 0 个软件包,新安装了 0 个软件包,重新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 1,567 kB 的归档。
解压缩后会消耗 0 B 的额外空间。
获取:1 https://mirrors.ustc.edu.cn/debian bookworm/main amd64 vim amd64 2:9.0.1378-2 [1,567 kB]
已下载 1,567 kB,耗时 1(2,274 kB/s)
(正在读取数据库 ... 系统当前共安装有 211344 个文件和目录。)
准备解压 .../vim_2%3a9.0.1378-2_amd64.deb  ...
正在解压 vim (2:9.0.1378-2) 并覆盖 (2:9.0.1378-2) ...
正在设置 vim (2:9.0.1378-2) ...
m@Home:~$ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值