Friday, November 18, 2016

apt-get: Package is in a very bad inconsistent state の問題

私は先日 Kubuntu 14.04 から 16.04 にディストリビューションをアップデートしました.そして,次のようにパッケージを更新しようとしました.

 sudo apt-get update; sudo apt-get upgrade; sudo apt-get autoremove;

すると,次のようなエラーになりました.

 dpkg: error processing gcc-doc (--remove):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
 Errors were encountered while processing:
  gcc-doc
 E: Sub-process /usr/bin/dpkg returned an error code (1)

これを直すために次のようなことをしたのですが,全てだめでした.

 sudo dpkg --remove --force-remove-reinstreq gcc-doc
 sudo dpkg --configure -a
 sudo apt-get clean
 sudo apt-get autoclean

困ったので,ちょっと力づくの方法をとりました.

/var/lib/dpkg/info にある gcc-doc に関係するファイルをみつけて消去します.

 find /var/lib/dpkg/info/ -name *gcc-doc* -print | xargs rm

そして,次のコマンドを実行して,gcc-doc を再インストールしました.

 sudo apt-get update; sudo apt-get upgrade;
 sudo apt-get install gcc-doc

これでエラーはなくなりましたが,apt-get や dpkg を使って解決したのではないので,リスクがあります.この方法は他に解決方法がみつからない時にだけ,このリスクを理解したうえでお使い下さい.

No comments:

Post a Comment