問題
今朝 Ubuntu を立ち上げてみたら,画面右上のアップデートマネージャーが表示されるところに警告(進入禁止のマーク)が出ていた。そこをクリックしてみると,
”Error:cache E:Read error - read (5 Input/output error), E:The package lists or status file could not be parsed or opened.”
というメッセージがあり、
”agt-get で問題解決せよ”
のようなことが書いてあった。
経過
ところが
アップデートマネージャーを立ち上げるとすぐに消えてしまう
端末から sudo apt-get update としてもフリーズしたような状態が1分ほど続いたあと完了
続いて sudo apt-get upgrade とすると、2、3行表示されて硬直状態があり、そのまま終了
と、なってしまう。そして、画面右上の警告はそのままで、アップデートされた気配なし。
そこで、のメッセージをもとに検索すると、”Debian GNU∕Linux スレッド Ver. 55”に
fsck
再インストール
HDD交換
と出ていた。fsck はファイルシステム関係のコマンドだけど、とりあえず
sudo fsck /dev/sda1/
として実行する。途中何回か修復のするかどうか聞かれたので,とりあえず全て”yes”と、答える。
ここでもう一度
sudo apt-get update
を実行する。すると今度は
E: 読み込みエラー - 読み込み(入力/出力エラー)
E: パッケージリストまたはステータスファイルを解釈またはオープンすることができません。
と、エラーが出て終了してしまう。
解決策
続いて
”E: パッケージリストまたはステータスファイルを解釈またはオープンすることができません。”
をもとに検索。その結果から見つけた下記のページ
https://forums.ubuntulinux.jp/viewtopic.php?pid=92612#p92612
と、これとその中のリンク
http://memo.officebrook.net/20100812.html
を参考に以下のコマンドを1行ずつ実行した。
sudo rm /var/lib/apt/lists/* -vf
sudo rm /var/lib/apt/lists/partial/* -vf
sudo apt-get update
sudo apt-get upgrade
これでアップデートは無事終了し、警告は消えてくれた。
より良い解決策
解決後もう少しよく探すとに解決策が出ていた。それによると,
sudo rm /var/lib/ dpkg/status
sudo cp /var/lib/ dpkg/status- old /var/lib/ dpkg/status
sudo rm -rf /var/lib/ apt/lists/ *
sudo dpkg --configure -a
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install -f
sudo cp /var/lib/
sudo rm -rf /var/lib/
sudo dpkg --configure -a
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install -f
しかし、PackageManagerTroubleshootingProcedure によると、上でうまくいくなら
sudo rm /var/lib/ dpkg/status
sudo cp /var/lib/ dpkg/status- old /var/lib/ dpkg/status
sudo rm -rf /var/lib/ apt/lists/ *
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
sudo cp /var/lib/
sudo rm -rf /var/lib/
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
でもいいはずだ。
ありがとうございます!
返信削除最後のapt-getを使う方法でうまくいきました。