何らかの理由で、Ubuntu Server 12.04を実行しているネットワークにあるサーバーの1つで、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の正しいバージョンにダウングレードしますか?
試してください:
apt search libxml2
このコマンドは、任意の証拠からの検索を表示します:repositories and installed packages。
たとえばtrustyの場合:
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
を主張しますが、推奨パッケージをインストールの依存関係とは見なしません。
お役に立てば幸いです。