在 debian 中收到错误消息“E: 子进程 /usr/bin/dpkg 返回错误代码 (1)”

在 debian 中收到错误消息“E: 子进程 /usr/bin/dpkg 返回错误代码 (1)”

我正在尝试在我的 Debian 服务器上安装 Java,但是每次运行这些命令时都会收到错误消息 -

insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Max recursions depth 99 reached
insserv:  loop involving service resolvconf at depth 10
insserv:  loop involving service checkfs at depth 8
insserv: There is a loop between service tomcat and checkroot if started
insserv: There is a loop between service rmnologin and mountdevsubfs if started
insserv: There is a loop between service tomcat and resolvconf if started
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing x11-common (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
 exim4-base
 exim4-daemon-light
 exim4
 avahi-daemon
 libnss-mdns
 x11-common
E: Sub-process /usr/bin/dpkg returned an error code (1)

我正在使用这些命令-

apt-get upgrade --show-upgraded
apt-get install openjdk-6-jdk
apt-get install sun-java6-jdk

有人知道我该如何解决这个问题吗?谢谢

答案1

您可以在下面查找产生错误的脚本/var/lib/dpkg/info;它可能被命名为avahi-daemon.postinst

危险的:如果你真的知道自己在做什么,你可以尝试注释掉产生错误的行,然后尝试再次配置软件包

dpkg --configure -a

答案2

我遇到了类似的问题,为了解决这个问题,我删除了当前的 Avahi 配置

sudo rm /etc/init.d/avahi-daemon

如果不存在,请尝试使用 avahi-daemon.dpkg-new 而不是 avahi-daemon

然后我运行了安装

sudo apt-get -f install avahi-daemon

希望有所帮助。

答案3

因此,中的 LSB 标头有问题/etc/init.d/avahi-daemon。我怀疑是因为该文件已被修改,导致您无法获取该文件的当前打包版本。我希望您检查的是将 dpkg 认为的该文件的当前版本与您在文件系统中实际拥有的版本进行比较。此命令将告诉您当前打包的版本是什么:

dpkg -s avahi-daemon | grep /etc/init.d/avahi-daemon

这应该返回一个类似这样的 md5sum:

/etc/init.d/avahi-daemon 3c6d0943a969795d08675ad16ac74f62

通过运行 将其与您当前拥有的版本进行比较md5sum /etc/init.d/avahi-daemon。如果此总和与 dpkg 返回的总和不同,则实际上这就是问题所在。如果是这样,您可以通过告诉 dpkg 使用以下命令覆盖 avahi-daemon 包的所有 conffile 来纠正它:

apt-get -o DPkg::Options::="--force-confnew" --reinstall install avahi-daemon

此后,尝试运行dpkg --configure -a ; apt-get -f install以完成待处理的操作。

请注意,这将覆盖 avahi 的所有配置。如果您需要保存一些自定义设置,我们可以讨论如何保存。

如果 md5sums 确实匹配,那么请从顶部发布 LSB 标头/etc/init.d/avahi-daemon,并告诉我们报告的版本dpkg -l avahi-daemon

相关内容