web-dev-qa-db-ja.com

12.04でのlibxml2のダウングレード

何らかの理由で、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の正しいバージョンにダウングレードしますか?

2
Mircea M

試してください:

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-recommendsapt-getを主張しますが、推奨パッケージをインストールの依存関係とは見なしません。

読む apt-get正確なセンザンコウのマンページ

お役に立てば幸いです。

2
swift