语法错误:statoverride 文件中的未知用户“munin”

语法错误:statoverride 文件中的未知用户“munin”

运行 Ubuntu 12.04 lts 的服务器

前几天我在服务器上安装了 munin。后来我决定用 apt-get 将其删除。

我注意到并非所有内容都从安装中删除,因此手动删除了 munin web 目录并从服务器中删除了 munin 用户名和组。

但是我刚刚尝试运行 apt-get upgrade,它现在返回一个错误:

dpkg:无法恢复的致命错误,中止:语法错误:statoverride 文件中的未知用户“munin”E:子进程 /usr/bin/dpkg 返回错误代码 (2)

我现在不知所措。这是什么意思?谷歌搜索结果真的没什么帮助。

有人可以帮忙吗?

谢谢,约翰

答案1

看看

/var/lib/dpkg/statoverride

如果有任何线

root munin 750 /etc/munin/plugin-conf.d

尝试:

dpkg-statoverride --remove /etc/munin/plugin-conf.d

答案2

我注意到安装中并非所有内容都被删除,因此手动删除了 munin web 目录并从服务器中删除了 munin 用户名和组。

不要这样做!由于您没有正确清除/etc/passwd文件中存储的用户,dpkg 查询该文件以将其与 statoverride 文件进行比较,但结果不匹配,dpkg 发出警告。相反,dpkg 将清除软件包,并删除软件包创建的所有目录和用户,而无需用户亲自处理。

sudo apt-get purge package

这应该可以。

答案3

我试图重新安装 apache2,但由于某种我无法修复的原因,它拒绝启动

$ sudo apt-get install apache2 dpkg: unrecoverable fatal error, aborting: syntax error:unknown group 'nagios' in statoverride file

调查:dpkg/statoverride

cat /var/lib/dpkg/statoverride root postdrop 2555 /usr/sbin/postdrop root postdrop 2555 /usr/sbin/postqueue root mlocate 2755 /usr/bin/mlocate postfix postdrop 2710 /var/spool/postfix/public root nagios 4750 /check_icmp root ssl-cert 710 /etc/ssl/private root crontab 2755 /usr/bin/crontab

解决方案是:
:/etc/php5/apache2/conf.d$ sudo sed -i '/nagios/d' /var/lib/dpkg/statoverride

结果
:/etc/php5/apache2/conf.d$ cat /var/lib/dpkg/statoverride root postdrop 2555 /usr/sbin/postdrop root postdrop 2555 /usr/sbin/postqueue root mlocate 2755 /usr/bin/mlocate postfix postdrop 2710 /var/spool/postfix/public root ssl-cert 710 /etc/ssl/private root crontab 2755 /usr/bin/crontab

信用:Ubuntu statoverride 中的未知用户

相关内容