我正在尝试在 12.04LTS 中安装 Skype。
它无法从软件中心安装,并抱怨它skype-bin
是一个虚拟包。
skype-bin fails to install from apt-get, requires ia32-libs.
网上有多个资源指向安装ia32-libs-multiarch
。挺公平的。
尝试ia32-libs-multiarch
从进行安装apt-get
。另外还有几个来自 32 位软件包的依赖项处于搁置状态。每个软件包都有另外 4、5 个 32 位软件包依赖项处于搁置状态。真的,这简直是地狱。
我怎样才能告诉 Ubuntu 不要保留任何事物,只是安装该死的软件包及其依赖项?
答案1
我在尝试安装 wine 和 acroread 时遇到了类似的依赖关系中断问题,在从 11.04 升级到 12.04(跳过 11.10)后尝试安装 ia32-libs-multiarch 时也遇到了类似的问题。似乎我在 11.04 中的一些 ppa 在系统中安装了较新版本的应用程序。升级后,这些应用程序的残留似乎对依赖关系造成了一些混乱。
到目前为止,似乎有效的解决方案是在德国 ubuntu 论坛上找到的(http://forum.ubuntuusers.de,来自用户 Lasall 的帖子):
首先需要降级并执行以下操作:创建“首选项”文件:
sudo vi /etc/apt/preferences
并插入以下行:
Package: *
Pin: release a=precise*
Pin-Priority: 2012
Pin-Priority 必须大于 1000。
然后你可以使用以下方法降级有问题的应用程序:
sudo apt-get dist-upgrade
然后,您可以安装抱怨依赖关系的软件包,例如
sudo apt-get install ia32-libs-multiarch
或sudo apt-get install ia32-libs
。
最后,您应该删除刚刚创建的文件:
sudo rm /etc/apt/preferences
因为否则就不会发现新的更新。
希望这也对你有帮助!
答案2
看本节Debian 发行说明中的有关禁用软件包保留的指南。
您的问题也可能是由 PPA 软件包引起的。包括apt-get install skype
的输出可能有助于理解这里的原因
答案3
我相信 Skype(4.x)的当前版本不再受此影响,因为它已经具备多架构感知能力!
Canonical 合作伙伴存储库中的软件包skype-bin
可用作i386
:
apt-cache policy skype-bin
skype-bin:i386:
Installed: 4.1.0.20.0-0ubuntu0.12.04.2
Candidate: 4.1.0.20.0-0ubuntu0.12.04.2
Version table:
*** 4.1.0.20.0-0ubuntu0.12.04.2 0
500 http://archive.canonical.com/ubuntu/ precise/partner i386 Packages
100 /var/lib/dpkg/status
apt-cache show skype-bin | grep -i arch
Architecture: i386
Multi-Arch: foreign
这使得它能够通过对i386
包的常规依赖而完美地安装。