使用 dpkg 时出错

使用 dpkg 时出错

我最近将 14.04 服务器升级到 14.10,升级过程中收到此错误消息:

设置 sysv-rc (2.88dsf-41ubuntu18) ...
信息:重新排序启动系统,记录到/var/lib/insserv/run-20141030T2142.log
错误:迁移时出现故障。

错误:无法迁移到基于依赖关系的启动顺序。

请参阅 http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
有关基于依赖关系的启动顺序的更多信息。
重新尝试迁移过程运行“dpkg --configure sysv-rc”。

dpkg:处理软件包 sysv-rc(--configure)时出错:
 子进程安装后安装脚本返回错误退出状态 1

每当我安装软件包或使用 dpkg 时,我都会遇到非常类似的错误。这种情况在 14.04 上从未发生过。



编辑:下面添加的是可能包含更多信息的日志

信息:将 rc0.d/S* 和 rc6.d/S* 转换为 K*。
ls:无法访问 S*:没有此文件或目录
ls:无法访问 S*:没有此文件或目录
信息:正在运行 insserv
insserv:警告:脚本“wide-dhcpv6-client”缺少 LSB 标签和覆盖
insserv:警告:脚本“bind9”缺少 LSB 标签和覆盖
insserv:如果停止,服务 bind9 和 apache2 之间会出现循环
insserv:涉及深度为 2 的服务 apache2 的循环
insserv:深度为 1 的循环涉及服务 bind9
insserv:涉及深度为 4 的服务 sendigs 的循环
insserv:立即退出,不改变启动顺序!

答案1

我遇到了完全相同的问题,但就我而言,这是由virtuoso-nepomuk脚本引起的。

我建议不要删除bind9apache,而只是将其脚本移出目录/etc/init.d。这样应该可以完成该过程,然后您可以apt-get install --reinstall ...在更新完成后对这些软件包执行操作以正确重新配置它们的启动。

答案2

听起来你的 bind9 和 wide-dhcpv6-client 配置文件有错误。如果你没有手动编辑这些文件(即你正在使用/想要使用默认的 DHCP/DNS 客户端行为),你应该发出

apt-get install --reinstall bind9 wide-dhcpv6-client

当它询问您是否希望保留当前配置文件时,告诉它用软件包维护者的版本覆盖您的配置文件。

使用 do-release-upgrade 从 Trusty 升级到 Xenial 后,我遇到了这个问题。我猜是某个地方没有正确地从 Upstart 升级到 systemd。无论如何,上面的方法为我解决了这个问题。

如果 apt 在您的 DHCP 服务器配置文件中报告错误,您可能还是想正确解决该问题。3vi1 的回答只是将可能的问题掩盖起来,以诱骗 apt 做您想做的事情。

答案3

在装有 Ubuntu 的 Dell Precision M3800 笔记本电脑上执行此操作后,我必须对 执行同样的事情/etc/init.d/dell*

相关内容