21 June 2009

(Ubuntu) dpkg: syntax error: unknown group `root' in statoverride fileの対処

Ubuntu 8.1で、proftpdをapt-getでインストールしようとしたところ、次のようなエラーが表示された。

root@localhost:~# apt-get install proftpd ~ パッケージについてのメッセージが表示される(省略)~ この操作後に追加で 2822kB のディスク容量が消費されます。 続行しますか [Y/n]? y パッケージを事前設定しています ... dpkg: syntax error: unknown group `root' in statoverride file E: Sub-process /usr/bin/dpkg returned an error code (2)

Googleで原因を検索してみたところ、/var/lib/dpkg/statoverride のエラーを除去すべしと書かれている。

/var/lib/dpkg/statoverride
root mlocate 2755 /usr/bin/mlocate hplip root 755 /var/run/hplip ← この記述がおかしい

確かに、グループ『root』は存在しない。(先頭が大文字の『Root』グループは存在するが…)

解決方法はrootをRootと書き換えればよいのであろうが、hplip(HP製のプリンタドライバ)も利用しているわけではないので、この際、パッケージごとアンインストールしてしまうほうがすっきりする。

root@localhost:~# apt-get remove hplip

その後、/var/lib/dpkg/statoverrideファイルより、「hplip root 755 /var/run/hplip」の行を除去すれば問題解決。

参考資料 : dpkg-statoverride のmanページが参考になる。日本語版はここ