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

概要

 apt-get でソフトウェアの更新をしようとしたらエラーになりました。(泣) 

最近エラーばっかり・・・ 

$ sudo apt-get upgrade
パッケージリストを読み込んでいます...

(略)

... 完了
アップグレードパッケージを検出しています ... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に追加で 0 B のディスク容量が消費されます。
続行しますか? [Y/n] y
squid3 (3.3.8-1ubuntu6.2) を設定しています ...
/var/lib/dpkg/info/squid3.postinst: 1: /var/lib/dpkg/info/squid3.postinst: cannot open /etc/squid3/squid.conf: No such file
dpkg: error processing package squid3 (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 2 を返しました
処理中にエラーが発生しました:
 squid3
E: Sub-process /usr/bin/dpkg returned an error code (1)

 赤文字のところを見ての通り、すでにおかしい状態。squid3が中途半端な状態でインストールされている?模様。

 

さてどうする?

参考サイト:フロントが苦手なWEBエンジニアの技術メモ: apt-getのpost-installationスクリプトエラー

 

上記サイトの通りにやったら解決しました!

 

①エラーの確認

 $ sudo dpkg --audit
以下のパッケージは最初の設定中に問題が発生したため、設定が終了していません。
dpkg --configure <パッケージ> か dselect で設定 (configure) メニューオプションを使って設定作業を再試行しなければなりません:
squid3               Full featured Web Proxy cache (HTTP proxy)

 

②--configureで実行しろと言われたのでやってみる。

$ sudo dpkg --configure squid3
squid3 (3.3.8-1ubuntu6.2) を設定しています ...
/var/lib/dpkg/info/squid3.postinst: 1: /var/lib/dpkg/info/squid3.postinst: cannot open /etc/squid3/squid.conf: No such file
dpkg: error processing package squid3 (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 2 を返しました
処理中にエラーが発生しました:
 squid3

③/var/lib/dpkg/info配下の特定のファイルを削除

どうも関連する以下のファイルを削除すればいいようです。今回はsquid3関連を削除。

 

$ ls | grep squid3
squid3-common.postinst
squid3-common.md5sums
squid3.postinst
squid3.prerm
squid3.preinst
squid3.postrm
squid3.conffiles
squid3.md5sums
squid3-common.list
squid3.list

 

$ sudo rm -fr squid3.postinst squid3.postrm squid3.prerm

 

 

④--configureを再起動

 

$ sudo dpkg --configure squid3
squid3 (3.3.8-1ubuntu6.2) を設定しています ...
(略)
squid3 は既に最新バージョンです。

 

 

で、この後apt-get upgradeも正常にできましたとさ。