1. E: Sub-process /usr/bin/dpkg returned an error code (1)

解决办法如下:

1
2
3
4
5
6
7
8
cd /var/lib/dpkg
sudo mv info info_bak
sudo mkdir info
sudo apt update > /dev/null # 若要输出信息,去除重定向符及其后内容
sudo apt install -f
sudo mv info/* info_bak/ > /dev/null
sudo rm -r info
sudo mv info_bak info

【注】建议将上述代码封装成脚本执行,以备重复使用,避免稍有不慎写错代码导致信息丢失的情况。

2. dpkg: 警告: 无法找到软件包 XXX 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。

目前的解决办法就是重新安装对应软件包:

1
sudo apt reinstall xxx

如果过多此类警告,可以一键重新安装所有软件(需要花费大量时间):

1
sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`

【注】命令详解请查看 cut 命令 。

3. dpkg: 处理归档 XXX.deb 时出错:正在试图覆盖 …… 它同时被包含于软件包 …… 在处理时有错误发生:……

解决办法是让 dpkg 强制覆盖对应文件,对应的命令如下:

1
sudo dpkg -i --force-overwrite XXX.deb