apt-get 错误:尝试覆盖共享“文件名”,该文件名与包“package”的其他实例不同

apt-get 错误:尝试覆盖共享“文件名”,该文件名与包“package”的其他实例不同

我尝试在 Debian Wheezy 上安装几个 Ubuntu 软件包,但失败了,现在我已经损坏了软件包。

问题是,运行apt-get -f install也失败,出现以下错误:

Preparing to replace libqtwebkit4:amd64 2.2.1-1ubuntu4 (using .../libqtwebkit4_2.2.1-5_amd64.deb) ...
Unpacking replacement libqtwebkit4:amd64 ...
dpkg: error processing /var/cache/apt/archives/libqtwebkit4_2.2.1-5_amd64.deb (--unpack):
 trying to overwrite shared '/usr/share/doc/libqtwebkit4/changelog.Debian.gz', which is different from other instances of package libqtwebkit4:amd64
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

它似乎在抱怨覆盖某些文件。我应该尝试删除或移动这些文件吗?

答案1

最后,我移动了有问题的文件的目录:

sudo mv /usr/share/doc/libqtwebkit4 /usr/share/doc/libqtwebkit4.backup

之后apt-get -f install 运行成功。

答案2

我尝试在 Debian Wheezy 上安装几个 Ubuntu 软件包

你的问题是:Ubuntu 和 Debian 使用相同的软件包格式,但你不能轻易地在同一系统上混合 Debian 和 Ubuntu 软件包,因为这些版本具有不同版本的软件包。如果您混合使用 Debian 或 Ubuntu 的多个版本,您也会遇到类似的问题。有时可以这样做,主要是如果您安装了叶包(没有其他包依赖的包),但不建议这样做。

更具体地说,这里的问题是您libqtwebkit4针对不同的体系结构(i386amd64)安装了不同版本的软件包。两种架构都需要具有相同的版本。apt-get install libqtwebkit4 libqtwebkit4:i386可能会解决这个问题,尽管您可能已经达到了需要手动摆弄的状态。原则上,如果您仅使用 APT 就达到了这种状态,那么 APT 应该能够让您摆脱这种状态。另一方面,如果您dpkg手动调用,则预计可能需要一些手动修复。

相关内容