古いUbuntuでdebパッケージがアンインストールできなくなって困った->解決


古いUbuntuでdebパッケージがアンインストールできなくなって困った

今更ながらUbuntu12.Xの話です。

ちょっと事情があって時間&場所限定で動作させているのですが、とらるパッケージ(deb)を試したあとに通常手順であるdpkg -Pでアンインストールが出来ず、ドはまりしましたのでここに記録として残しておきます。

参考にした手順
http://forums.debian.net/viewtopic.php?p=117903

ポイント1:アンインストールが開始できない

通常ですと以下の手順でアンインストールできるのですが、エラーで止まってしまう。。
※-以下のアルファベットレターが大文字と小文字で処理が異なりますので注意してください。

1.パッケージ名を特定
dpkg -lとインストール時のアーカイブ名から当たりを付けます。
詳細の確認はdplg -s [パッケージ名]でパッケージ情報確認します。

2.パッケージと設定を削除
dpg -P [パッケージ名] エラーが出てアンインストールの処理自体が中断されます。

ポイント2:上書きインストールも出来ない
詳しくは省略しますがこの作業途中にもともと動いていたファイルも壊れてしまい「そのまま使い続ける」という選択肢はなくなってしまいました。

■/var/lib/dpkg/info/の中にある情報を操作する
この中にパッケージ名ごとに情報が管理されていますので、[パッケージ名].prerm形式のファイルを見つけます。そして先頭行に以下のコードを挿入します。

アクセス件が無い場合には適宜アクセス権を変更し、上書き保存します。
これでアンインストール可能になります。