运行 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