我在 Ubuntu 12.10 上,当我尝试安装 skype 时,我收到了关于缺少依赖项的预期消息,当我运行
sudo apt-get install -f
我明白了
The following extra packages will be installed:
lib32asound2 lib32z1 libc6-i386
Suggested packages:
lib32asound2-plugins
The following packages will be REMOVED:
libdbusmenu-qt2 libphonon4 libqt4-declarative libqt4-designer libqt4-help
libqt4-opengl libqt4-qt3support libqt4-scripttools libqt4-sql-mysql
libqt4-svg libqt4-test libqtgui4 libqtwebkit4 musique phonon
phonon-backend-gstreamer python-qt4 qt-at-spi retext sni-qt sqlitebrowser
teamviewer virtualbox-4.3 vlc
The following NEW packages will be installed:
lib32asound2 lib32z1 libc6-i386
这消除了我的vlc、musique 和许多其他 qt 东西 我知道我做错了什么。但是什么呢?谢谢
答案1
尝试运行sudo apt-get install lib32asound2* lib32z1 libc6-i386
。这应该可以清除所有依赖关系,这就是命令-f
的作用 - 引用手册页:
-f, --fix-broken 修复。尝试纠正存在损坏依赖关系的系统。此选项与 install/remove 一起使用时,可以忽略任何软件包,以允许 APT 推断出可能的解决方案。指定的任何软件包都必须完全纠正问题。首次运行 APT 时有时需要此选项;APT 本身不允许系统中存在损坏的软件包依赖关系。系统的依赖结构可能已损坏到需要手动干预的程度。在某些情况下,将此选项与 -m 一起使用可能会产生错误。