更新マネージャー/ apt-getアップグレードを介して更新をインストールできません


12

過去数週間、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からアップデートをダウンロードしてインストールしようとすると、この投稿の冒頭でエラーが発生しました。


どのファイルをダウンロードしましたか?どこから?更新マネージャーはそれと何の関係がありますか?
mikewhatever

メッセージ内のパッケージをアンインストール(および後で再インストール)しようとする場合があります。それが失敗した場合、キャッシュをクリアしようとするかもしれません。
ジョンSグルーバー

私はまだこの問題の修正に取り組んでいますが、まだチャンスがありません。機会があれば、goo.gl / oOKqGの手順を試してみます。
user64654

14.04ではなく12.04をインストールすることにしたのはなぜですか?結局のところ、あなたは数週間前にそれを手に入れたと言っていました、そしてTrustyは約9ヶ月間出てきました。
ジョンスコット

回答:


16

私はこれらの指示の問題を修正しました。

したがって、解決策は次のとおりです。

  1. /var/lib/dpkgディレクトリに移動します
  2. statusファイルのバックアップを作成します
  3. statusファイルを編集する
  4. エラーが発生したパッケージを検索します
  5. このパッケージから行を削除するだけです(ただし、[置換]または[依存]フィールドに壊れたパッケージが含まれていても、他のパッケージに関係する他のすべての行を許可します)

    […]

  6. statusファイルに変更を保存する

  7. 実行: sudo dpkg --configure -a
  8. 欠落している依存関係の再インストールを強制します(現在、いくつかの理由があるため):

    sudo apt-get -f install
    

    壊れたパッケージが他のパッケージに依存していない場合(まれな場合があります)、再インストールするだけだと思います。

    sudo apt-get install the_package
    
  9. すべてが正常になり、新しいパッケージを更新、アップグレード、またはインストールできます!

私はそこに与えられた解決策にいくつかの違いがあったことに注意すべきです。ステータスファイルは編集が簡単ではありませんでした(重要なファイルであり、編集することを意図していなかったため)。そこで行われる編集はすべて注意して行い、変更を行う前にファイルをバックアップする必要があります。

手順4〜8を3回繰り返す必要がありました(そのたびに、パッケージが異なるだけでエラーは同じになります)。最後に、すべてのパッケージが削除されると、それらを再インストールすることができ、問題が解決しました。


どのパッケージがエラーの原因を見つけましたか?
Seanny123

@ Seanny123 apt-get installの以前の試行では、おそらくエラーが表示されていました。たとえば、私の場合、プロンプトが返される直前に「パッケージ 'manpages-dev'のファイルリストの読み取り:入力/出力エラー」があります。ステータスファイルで「Package:manpages-dev」を検索し、次の「Package:」行までの行を削除しました。その後、「apt-get install manpages-dev」を手動で実行する必要があり、その後失敗した「apt-get dist-upgrade」はエラーなしで完了しました。(user64654に感謝!)
ピーターハンセン

2

ディスクが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

経由sudo shutdown -rF nowでfsckを実行しましたが、それ以上何もせずに、すべてが再びうまくいきました。
クロー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.