Warum dieser Fehler bezüglich Upstart/Systemd mit Runit?

Warum dieser Fehler bezüglich Upstart/Systemd mit Runit?

Ich verwende sudo apt-get install git-allUbuntu 16.04 und sehe am Ende Folgendes

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)

Ich bekomme den Fehler auch nach dem Neustart meines Systems. Es blockiert wirklich mein ganzes System. Ich führe aus killall update-notifier. Ich führe aus sudo apt-get install git-all, aber ich bekomme die gleiche Fehlermeldung. Ich führe aus, pgrep -a aptaber bekomme nichts als Ausgabe. Ich führe aus pgrep -a update, aber bekomme nichts als Ausgabe. Ein Fehlerbericht über den FallHier.

  • Wählen Sie in GrubErweiterte Optionen>Ubuntu (Upstart) Linux-Kernel 4.22. Das Gleiche nur im Terminal machen, ohnesystemdverursacht den gleichen Fehler.

Warum tritt dieser Fehler hier bei runit auf?

Antwort1

Gerrit Pape, der sowohl xyrs eigenes Runit als auch Bernsteins Daemontools-Pakete für Debian betreut, ist einer der wenigen Entwickler, die sich die Idee der „Init-Systemneutralität“ (die nach dem Wirbel um Debian-Systemd vielfach gepriesen wurde) wirklich zu Herzen genommen haben und sich intensiv darum bemüht haben, die Ausführung dieser Pakete unter van Smoorenburg init, Upstart und Systemd zu unterstützen.

Das Post-Installation-Maintainer-Skript für runit finden Sie auf Ihrem System ausgepackt aus dem Paket an einer beliebigen Stelle, z. B. /var/lib/dpkg/info/runit.postinst. Wie Sie sehen, versucht es, die Anwesenheit von Upstart zu erkennen und den runsvdirUpstart-Job zu starten, wenn Upstart vorhanden ist. Dasselbe macht es mit systemd und runit.service.

Leider unter Ubuntu 14 und höherbeidesystemdUndupstart sind installiert. Und so versucht das Post-Installation-Maintainer-Skript für das Paket, den Upstart-Job mit dem Upstart- startBefehl auszuführen. Natürlich ist Upstart (standardmäßig) nicht der systemweite Service-Manager in Ubuntu 15 und höher und der Upstart- startBefehl funktioniert nicht.

Nachfolgend finden Sie eine grobe Anleitung zum Patchen des Skripts, um dieses Problem zu beheben:


wenn test -r /usr/share/debconf/confmodule; dann
  . /usr/share/debconf/confmodule
  db_purge
fi

wenn test -d /run/systemd/system; dann
  systemctl start runit.service
elif test -x /sbin/start ; dann
  /sbin/start runsvdir
fi

Dies ist zwar nicht optimal, aber ein Anfang. runit.prermZudem runit.postrmsind einige Anpassungen erforderlich.

Weiterführende Literatur

Antwort2

Ich habe eine vorübergehende Lösung für das Problem gefunden. Ändern Sie den Standort der Quellserver usw. vom Hauptserver nach Finnland oder Estland. Dies löst das akute Problem für eine Weile.

verwandte Informationen