upstart/systemd と runit でこのエラーが発生するのはなぜですか?

upstart/systemd と runit でこのエラーが発生するのはなぜですか?

私はsudo apt-get install git-allUbuntu 16.04で実行しており、最終的に次のようになります。

Setting up runit (2.1.2-3ubuntu1) ...
start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
dpkg: error processing package runit (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of git-daemon-run:
 git-daemon-run depends on runit; however:
  Package runit is not configured yet.

dpkg: error processing package git-daemon-run (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                      Errors were encountered while processing:
 runit
 git-daemon-run
E: Sub-process /usr/bin/dpkg returned an error code (1)

システムを再起動した後もこのエラーが発生します。文字通り私のシステム全体を詰まらせます。私は走るkillall update-notifier。実行しましたが、sudo apt-get install git-all同じエラーメッセージが表示されます。実行しましたが、pgrep -a apt出力は出ません。実行しましたが、pgrep -a update出力は出ません。このイベントのバグ報告ここ

  • グラップで、次を選択します。高度なオプション>Ubuntu(アップスタート)Linuxカーネル4.22。ただ端末で同じようにしてくださいシステム同じエラーが発生します。

runitでこのエラーが発生するのはなぜですか?

ベストアンサー1

ゲレットペプxyr の独自の runit と Bernstein の Debian 用の daemontools パッケージを維持する彼は、「init-system neutrality」(Debian systemd 以降普及)の概念を実際に実装した数少ない開発者の一人です。 van Smoorenburg init、upstart、およびsystemdでこれらの実行をサポートするための努力が行われています。

たとえば、パッケージのどこかでシステムが解凍されたrunitのインストール後にメンテナンススクリプトを見つけることができます/var/lib/dpkg/info/runit.postinst。ご覧のとおり、upstartがあるかどうかを検出し、runsvdirupstartがあると起動します。 systemdとrunit.service

残念ながら、Ubuntu 14以降では両方システムそしてアップスタートがインストールされました。したがって、パッケージのインストール後、メンテナンススクリプトはstartupstartコマンドを使用してupstartジョブを実行しようとします。もちろん、upstartはデフォルトでUbuntu 15以降のシステム全体のサービスマネージャではなく、upstartstartコマンドは機能しません。

この問題を克服するためにスクリプトをパッチする方法のおおよそのアイデアは次のとおりです。


-r /usr/share/debconf/confmodule をテストする場合。
  。 /usr/share/debconf/confmodule
  データベースの消去
フィリピン諸島

テストする場合 -d /run/systemd/system ;
  systemctl が runit.service を起動します。
elif test -x /sbin/start;
  /sbin/start は vdir を実行します。
フィリピン諸島

理想的ではありませんが、スタートです。 runit.prermまた、runit.postrm少し調整が必要です。

追加読書

おすすめ記事