Linux
Debian

dpkgやapt-get関連でエラーが出た時の対処法

サイトのSSL(Let's Encrypt)を更新しようとしたらエラーが出て大変だったのでメモ。

エラーメッセージ一覧

サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました

Sub-process /usr/bin/dpkg returned an error code (1)

E: Internal Error, No file name for

↑これはreinstall操作の時に出たと思う

原因を探る

sudo dpkg --audit

または問題が起こっているパッケージがわかっている場合は個別のステータスを見る。

Status: install ok half-configured

と出たので、どうやら2つほどうまく設定されていないパッケージがあるようだ。

しかしconfigがうまくいかない。

対応

/var/lib/dpkg/info の以下の、該当するパッケージ(ここではhogeとする)の

  • hoge.postinst
  • hoge.postrm
  • hoge.prerm

を削除してから

sudo dpkg --configure hoge

参考

【LIVA】【Ubuntu server14.04】apt-getでエラー発生(post-installationスクリプトエラー)

結果だけ見ると上のページと全く同じだった。

自分は以下のページが参考になったのでリンクしておきます。

※この記事は2017-07-22 09:00に公開したブログ記事を移転してきたものです。