Spouštím sudo apt-get install git-all
v Ubuntu 16.04 a na konci si přečtěte následující
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)
Chyba se zobrazí také po restartování systému. Opravdu to blokuje celý můj systém.
Spouštím killall update-notifier
. Spouštím sudo apt-get install git-all
ale
dostávám stejnou chybovou zprávu. Spouštím pgrep -a apt
ale nedostanete nic jako výstup. Spouštím pgrep -a update
ale nezískejte nic jako výstup.
Hlášení o chybě o případu zde.
- V Grub vyberte Pokročilé možnosti> Ubuntu (Upstart) Linux kernel 4.22 . Totéž pouze v terminálu bez systemd způsobí stejnou chybu.
Proč je tato chyba zde u runitu?
Přijatá odpověď:
Gerrit Pape, který spravuje jak vlastní runit xyr, tak balíčky Bernsteinových daemontools pro Debian, je jedním z mála vývojářů, kteří si vzali myšlenku „neutrality init-systému“ (která byla hodně omílaná po Debian systemd hoo-hah) opravdu k srdci. a usilovně se snažil podporovat jejich spouštění pod van Smoorenburg init
, upstart a systemd.
Skript správce po instalaci pro runit najdete rozbalený na vašem systému z balíčku někde, jako je /var/lib/dpkg/info/runit.postinst
. Jak můžete vidět, pokouší se detekovat přítomnost upstart a spustit runsvdir
úloha upstart, pokud je přítomen upstart. Totéž dělá s systemd a runit.service
.
Bohužel na Ubuntu 14 a novějším obě systemd a upstart jsou nainstalovány. A tak se skript údržby po instalaci balíčku pokouší spustit úlohu upstart pomocí start
upstart příkaz. Upstart samozřejmě není (ve výchozím nastavení) celosystémový správce služeb v Ubuntu 15 a novějších a upstartův start
příkaz nefunguje.
Následuje přibližná představa o tom, jak opravit skript, aby se to překonalo:
… if test -r /usr/share/debconf/confmodule; then . /usr/share/debconf/confmodule db_purge fi if test -d /run/systemd/system ; then systemctl start runit.service elif test -x /sbin/start ; then /sbin/start runsvdir fi
Není to ideální, ale je to začátek. runit.prerm
a runit.postrm
rovněž vyžadují určité úpravy.
Další čtení
- Jonathan de Boyne Pollard (2015).
/etc/inittab
je minulostí. . Často uváděné odpovědi. - Jonathan de Boyne Pollard (2014-11-04). spustit . konference debian-vote.
- Nikolay Hristov (2014-10-21). runit:Po nové instalaci jessie beta2 se nepodařilo nainstalovat runit . Chyba Debianu č. 766187.
- Andreas Beckmann (2014-11-03). daemontools-run:instalace se nezdaří bez /etc/inittab . Chyba Debianu č. 767933.
runit.postinst
. zdroj jednotky . Launchpad Ubuntu.- https://unix.stackexchange.com/a/196252/5132