過去数週間、Ubuntu 12.04を実行しています。私は最近、Update Managerを通じていくつかのファイルをダウンロードしてインストールしようとしました。いくつかのファイルを見つけてダウンロードしましたが、インストールに失敗しました。エラーが発生しました:
installArchives() failed: (Reading database ...
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
reading files list for package 'libasn1-8-heimdal': Input/output error
apt-get upgrade
を使用してみましたが、同様のエラーが生成されました。
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
icedtea-6-jre-cacao icedtea-6-jre-jamvm openjdk-6-jre openjdk-6-jre-headless
openjdk-6-jre-lib
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.6 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
reading files list for package 'libasn1-8-heimdal': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
どんな助けも大歓迎です。前もって感謝します。
編集:役に立つかもしれないいくつかの追加情報があります。私の最初の問題は、Ubuntu Software Centerが開かないことでした。 Update ManagerとSynaptic Package Managerも開けないことがわかりました。それらはすべて、次の行に沿ってエラーを出しました:
"installArchives() failed: dpkg: error: reading package info file '/var/lib/dpkg/available': Input/output errorError in function:"
グーグルで何度も調べた結果、パッケージマネージャーが再び開くので、その問題を解決したようです。その後、Update Managerからアップデートをダウンロードしてインストールしようとすると、この投稿の冒頭でエラーが発生しました。
これらの手順 で問題を修正しました。
したがって、解決策は次のとおりです。
/var/lib/dpkg
ディレクトリに移動しますstatus
ファイルのバックアップを作成しますstatus
ファイルを編集します- エラーが発生したパッケージを検索します
このパッケージから行を削除するだけです(ただし、「Replaces」または「Depends」フィールドに壊れたパッケージが含まれている場合でも、他のパッケージに関係する他のすべての行を許可します)
[…]
status
ファイルに変更を保存します- 実行:
Sudo dpkg --configure -a
欠落している依存関係の再インストールを強制的に実行します(現在、いくつかあります)。
Sudo apt-get -f install
壊れたパッケージが他のパッケージに依存していない場合(まれな場合があります)、再インストールするだけだと思います。
Sudo apt-get install the_package
すべてが正常になり、新しいパッケージを更新、アップグレード、またはインストールできます!
私はそこに与えられた解決策にいくつかの違いがあったことに注意すべきです。ステータスファイルは編集が簡単ではありませんでした(重要なファイルであり、編集することを意図していなかったため)。そこに行った編集はすべて注意して行い、変更を加える前にファイルをバックアップする必要があります。
手順4〜8を3回繰り返す必要がありました(そのたびに、パッケージが異なるだけでエラーは同じになります)。最後に、すべてのパッケージが削除されると、それらを再インストールすることができ、問題が解決しました。
ディスクがiノードで破損している可能性があります。
ライブCDで、このコマンドを実行します
Sudo fdisk -l
ディスクとパーティションに注意してください。/dev/dsb1
の場合は、修復します。
Sudo fsck -y /dev/sdb1
再起動し、システムに戻ります
Sudo apt-get -f install
Sudo apt-get update
Sudo apt-get upgrade