aptを使用してDebianで壊れたlibxml2-devの依存関係を修正する方法は?

aptを使用してDebianで壊れたlibxml2-devの依存関係を修正する方法は?

Debian Squeezeインストールでこれを実行すると、sudo apt-get upgrade次のエラーが発生します。

You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-2+squeeze3) but 2.7.8.dfsg-2+squeeze5 is installed
E: Unmet dependencies. Try using -f.

「squeeze3」と「squeeze5」が何を意味するのかよくわかりませんが、これはlibxml2パッケージの唯一の違いです。

"sudo apt-get install -f"を試すと、次のような結果が表示されます。

The following extra packages will be installed:
  libxml2-dev
The following packages will be upgraded:
  libxml2-dev
1 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
108 not fully installed or removed.
Need to get 0 B/830 kB of archives.
After this operation, 69.6 kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 96842 files and directories currently installed.)
Preparing to replace libxml2-dev 2.7.8.dfsg-2+squeeze3 (using .../libxml2-dev_2.7.8.dfsg-2+squeeze5_amd64.deb) ...
Unpacking replacement libxml2-dev ...
dpkg: error processing /var/cache/apt/archives/libxml2-dev_2.7.8.dfsg-2+squeeze5_amd64.deb (--unpack):
 unable to install new version of `./usr/include/libxml2': No such file or directory
configured to not write apport reports
                                      dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libxml2-dev_2.7.8.dfsg-2+squeeze5_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

同様のエラーが発生する可能性がありますsudo apt-get upgrade -f

私の/etc/apt/sources.listは現在次のとおりです。

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

この問題をどのように解決できますか?ありがとうございます!

ベストアンサー1

squeeze3スクイーズの3番目のパッチバージョンであり、squeeze55番目のパッチバージョンです。これはバージョン番号の一部です。ライブラリと開発ファイルのバージョンは正確に一致する必要があるため、apt-get install -fAPTではシステムバージョンが一致しない場合に実行されると予想するのが一般的です。

異常なのは、アップグレードがlibxml2-dev失敗することです。読み取れないというメッセージ/usr/include/libxml2は一般的ではありません。これは、インストールが何らかの方法で破損していることを示しているようです。ディレクトリがまだ存在することを確認してください。ある時点で移動または削除した場合は…ディレクトリを再作成または移動して復元してください。ディレクトリが存在するが、次の内容が表示される場合

$ ls -ld /usr/include/libxml2
?????????? ??? ???????? ???????? 4096 ??? ?? ???? /usr/include/libxml2

これにより、ファイルシステムまたはRAMが破損する可能性があります。まず、記憶力を確認してください:これはファイルシステムの破損の最も一般的な原因です。 RAMの状態を確認するまで、できるだけ少なく書き込んでください。これにより損傷が激しくなる可能性があります。そこから取り除く方法は、損傷の性質と程度によって異なります。

おすすめ記事