我是一个 Elementary OS (Ubuntu) 用户,有一段时间,当我尝试安装某些东西 ( sudo apt-get install [...]
) 时,我收到 Unmet dependency 错误,我输入sudo apt --fix-broken install
并收到另一个错误:
修复子进程
/usr/bin/dpkg
返回错误代码 (1)
这个错误应该通过以下方式解决sudo dpkg --configure -a
,我有一个依赖错误:
dpkg:依赖性问题阻止配置:未安装
kaccounts-integration
软件包。signond
[...]
所以我这样做了sudo apt-get install signond | sudo apt-get install kaccounts-integration
,并且在两者中我都得到了错误:
修复子进程
/usr/bin/dpkg
返回错误代码 (1)
如果我做sudo apt-get install -f
读取软件包列表...完成
构建依赖关系树
读取状态信息...完成
更正依赖关系...完成
将安装以下附加软件包:
signond
将安装以下新软件包:
signond
0 个已升级、1 个新安装、0 个到删除且 54 未升级。
3 未完全安装或拆除。
需要获取 0 B/166 kB 的档案。
此操作后,将使用 616 kB 的额外磁盘空间。
你想继续吗? [Y/n] y
(正在读取数据库...当前安装的306231个文件和目录。)
准备解压.../signond_8.60+r699+dbusapi1+pkg3~daily~ubuntu5.1.2.1_amd64.deb ...
解压Signond (8.60+r699+dbusapi1+pkg3~daily~ubuntu5.1.2.1) ...
dpkg: 处理存档 /var/cache/apt/archives/signond_8.60+r699+dbusapi1+pkg3~daily~ubuntu5.1.2 时出错.1_amd64.deb (--unpack):尝试覆盖 '/usr/share/dbus-1/services/com.google.code.AccountsSSO.SingleSignOn.service',它也在包 gsignond 1.1.0~r509+ 中pkg4~daily~ubuntu5.0.1
处理时遇到错误:
/var/cache/apt/archives/signond_8.60+r699+dbusapi1+pkg3~daily~ubuntu5.1.2.1_amd64.deb
E: 子进程 /usr/bin /dpkg 返回错误代码 (1)
答案1
dpkg:处理存档 /var/cache/apt/archives/signond_8.60+r699+dbusapi1+pkg3~daily~ubuntu5.1.2.1_amd64.deb 时出错(--unpack):
尝试覆盖 '/usr/share/dbus-1/services/com.google.code.AccountsSSO.SingleSignOn.service',它也在 gsignond 包中1.1.0~r509+pkg4~日常~ubuntu5.0.1
看起来您有两个包想要拥有相同的文件(signond
和gsignond
)。
dpkg
--force-overwrite
除非您使用它的选项,否则在这种情况下将退出并出现错误。
尝试apt-get -o Dpkg=force-overwrite -f install
。
或者添加DPkg { Options {"--force-overwrite";} };
到/etc/apt/apt.conf
使其apt
成为运行时的默认行为dpkg
(值得,IMO,因为随着发行版更新,文件从一个包移动到另一个包的情况并不罕见)。
或者(或此外gsignond
),仅安装或之一signond
。