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ページが参考になる。日本語版はここ