由于某种原因,我们网络中运行 Ubuntu Server 12.04 的其中一台服务器上,libxml2 的版本是 2.8.0(来自 Ubuntu 12.10)。
这会产生一些问题,尤其是因为我需要安装libxml2-dev
,但遇到了一些未满足的依赖项。我收到以下错误:
libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-5.1ubuntu4.9) but 2.8.0+dfsg1-5ubuntu2.2 is to be installed
我不知道为什么系统上存在较新版本的 libxml2,但是有没有办法使用新版本的 libxml2-dev(默认 sources.list 中不存在)或者安全地将 libxml2 降级为适合 12.04 的正确版本?
答案1
尝试:
apt search libxml2
此命令显示来自任何证据的搜索:存储库和已安装的软件包。
例如如果你看到可靠:
libxml2/trusty-updates,trusty-security,now 2.9.1+dfsg1-3ubuntu4.3 amd64
[installed]
GNOME XML library
libxml2-dbg/trusty-updates,trusty-security 2.9.1+dfsg1-3ubuntu4.3 amd64
Debugging symbols for the GNOME XML library
libxml2-dev/trusty-updates,trusty-security,now 2.9.1+dfsg1-3ubuntu4.3 amd64
[installed,automatic]
Development files for the GNOME XML library
因此,显然,如果您看到此输出,则您有很多机会安装版本。
但是如果您需要严格按版本获取软件包,请尝试像这样指示版本:
sudo apt-get install libxml2=2.9.1+dfsg1-3ubuntu4.3
sudo apt-get install libxml2-dbg=2.9.1+dfsg1-3ubuntu4.3
sudo apt-get install libxml2-dev=2.9.1+dfsg1-3ubuntu4.3
或者通过指示目标存储库:
sudo apt-get install libxml2/precise libxml2-dbg/precise libxml2-dev/precise
安装完成后,运行以下命令来保留已安装的版本,防止包管理器在将来自动更新它:
sudo echo "libxml2 hold" | sudo dpkg –set-selections
如果需要删除任何包,使用--no-remove
选项将随时退出安装过程而不提供任何提示:apt-get
sudo apt-get install --no-remove libxml2=2.7.8.dfsg-5.1ubuntu4.9
其他好东西:--no-install-recommends
声称apt-get
不将推荐的软件包视为安装的依赖项。
希望它能帮助你。