我正在尝试安装git-daemon-run 包,它依赖于 runit 包。但是 runit 包无法正常升级。
当我跑去apt-get upgrade
升级时runit 包,出现以下错误:
设置 runit (2.1.1-6.2ubuntu3) ... 开始:未知作业:runsvdir dpkg: 处理软件包 runit (--install) 时出错: 子进程安装后安装脚本返回错误退出状态 1
我检查了 Ubuntu 错误数据库,发现启动板上的 Bug #406621。根据那里的解决方案,我应该修复位置,将其从upstart 过去使用的runsvdir.conf
旧位置更改为upstart 现在使用的位置。但在(我的)Ubuntu 14.04 中,根本没有,更不用说那里了。event.d
/etc/init
event.d
runsvdir.conf
我尝试安装或重新配置此包,而不是升级,但出现了同样的错误。值得注意的是,在 git 包安装过程中,第一次出现了此错误。
根@本地#dpkg -C 以下软件包仅配置了一半,可能是由于问题 首次配置它们时,应使用 dpkg --configure 或者 dselect 中的 configure 菜单选项: runit 全系统服务监督 root@local#apt-get purge runit 下列软件包将被删除: 运行* 1 未完全安装或删除。 此操作后,将释放419 kB的磁盘空间。 您想继续吗?[Y/n] y 正在删除 runit (2.1.1-6.2ubuntu3) ... 停止:未知作业:runsvdir 删除 SV inittab 条目... 清除 runit (2.1.1-6.2ubuntu3) 的配置文件... 处理 man-db (2.6.7.1-1ubuntu1) 的触发器... root@local# apt-get install runit 将会安装以下额外的软件包: 盖蒂 建议的软件包: socklog 运行 将会安装以下新软件包: fgetty runit 升级了 0 个,新安装了 2 个,删除了 0 个,并且未升级 16 个。 需要获取 0 B/134 kB 的档案。 此操作后,将使用550 kB的额外磁盘空间。 您想继续吗?[Y/n] y 设置 fgetty (0.6-5build1) ... 设置 runit (2.1.1-6.2ubuntu3) ... 开始:未知作业:runsvdir dpkg:处理软件包 runit(--configure)时出错: 子进程安装后安装脚本返回错误退出状态 1 处理 ureadahead 的触发器(0.100.0-16)... 处理时遇到错误: 运行 E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
答案1
runsvdir 是 runit 包含的应用程序,用于启动指定的服务目录(即: /etc/runit/service/default )。它应该独立于 upstart/sysvinit/systemd/openrc 与 runit 和 runit-init 一起运行,或者作为 Runit 的 runsvdir-start shell 脚本或配置文件的辅助服务运行。它与 runsv 和 sv 协同工作,不应归类为未知。