我最近将 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
脚本引起的。
我建议不要删除bind9
和apache
,而只是将其脚本移出目录/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*
。