install/remove不能状態となったパッケージの処置
Ubuntuのアップデート通知が出ていたので、いつものようにアップデート操作を行ったところ、以下のようなエラーが出て失敗してしまった。以降はアップデートだけでなくパッケージ追加/削除などの、通常のパッケージ処理が全て失敗するようになった。
$ sudo aptitude safe-upgrade [sudo] password for takamatu: 以下のパッケージが更新されます: software-properties-gtk x11-common xorg xserver-xorg 4 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。 アーカイブ 173 kB 中 0 B を取得する必要があります。 展開後に 0 B のディスク領域が新たに消費されます。 先に進みますか? [Y/n/?] パッケージを事前設定しています ... (データベースを読み込んでいます ... 現在 225089 個のファイルとディレクトリがインストールされています。) software-properties-gtk 0.81.13.1 を (.../software-properties-gtk_0.81.13.2_all.deb で) 置換するための準備をしています ... software-properties-gtk を展開し、置換しています... dpkg: ../../src/archives.c:978: tarobject: アサーション `r == stab.st_size' が失敗しました。 E: Sub-process /usr/bin/dpkg exited unexpectedly パッケージをインストールできませんでした。復旧を試みています: shared-mime-info のトリガを処理しています ... desktop-file-utils のトリガを処理しています ... man-db のトリガを処理しています ... hicolor-icon-theme のトリガを処理しています ... bamfdaemon のトリガを処理しています ... Rebuilding /usr/share/applications/bamf.index... gnome-menus のトリガを処理しています ...
問題のパッケージを削除しようとしても、エラーが出て削除ができないという手詰まりな状態。
英語サイトに同じ事象の対処を発見
http://askubuntu.com/questions/68257/cant-install-remove-upgrade-any-package
上記URLで同様の事象に対するQ&Aがあったので、参考にして以下の通りパッケージの強制削除を行った。
$ sudo dpkg --force-all -r software-properties-gtk [sudo] password for takamatu: dpkg: 警告: --force が有効なので、問題を無視します: パッケージが非常に矛盾した状態に陥りました。 削除を行う前にこのパッケージを再インストールすべきです。 (データベースを読み込んでいます ... 現在 225088 個のファイルとディレクトリがインストールされています。) software-properties-gtk を削除しています ... man-db のトリガを処理しています ... desktop-file-utils のトリガを処理しています ... gnome-menus のトリガを処理しています ... bamfdaemon のトリガを処理しています ... Rebuilding /usr/share/applications/bamf.index... hicolor-icon-theme のトリガを処理しています ... shared-mime-info のトリガを処理しています ...
表示されるメッセージがとてもいやな感じだけど、インストールし直せば問題ないはず。
$ sudo aptitude install software-properties-gtk
たぶんこれで問題なし。と思っておこう。