Почему возникает эта ошибка upstart/systemd с runit?

Почему возникает эта ошибка upstart/systemd с runit?

Я запускаю sudo apt-get install git-allв Ubuntu 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, но не получаю ничего на выходе. Отчет об ошибке по делуздесь.

  • В Grub выберитеРасширенные настройки>Ubuntu (Upstart) Linux ядро ​​4.22. Делаем то же самое только в терминале безсистемдвызывает ту же ошибку.

Почему эта ошибка возникает при запуске runit?

решение1

Геррит Папе, который поддерживает как собственный runit xyr, так и пакеты daemontools Bernstein для Debian, является одним из немногих разработчиков, которые действительно восприняли идею «нейтральности системы init» (которая так и зазвучала после шумихи вокруг Debian systemd) близко к сердцу и приложил все усилия для поддержки их работы под управлением van Smoorenburg init, upstart и systemd.

Скрипт обслуживания после установки для runit вы найдете распакованным в вашей системе из пакета где-то, например /var/lib/dpkg/info/runit.postinst. Как вы можете видеть, он пытается обнаружить наличие upstart и запустить runsvdirзадание upstart, если upstart присутствует. Он делает то же самое с systemd и runit.service.

К сожалению, в Ubuntu 14 и более поздних версияхобасистемдиupstart установлены. И поэтому скрипт обслуживания после установки пакета пытается запустить задание upstart с помощью startкоманды upstart. Конечно, upstart не является (по умолчанию) системным менеджером служб в Ubuntu 15 и более поздних версиях, и startкоманда upstart не работает.

Ниже приведена приблизительная идея того, как исправить скрипт, чтобы обойти эту проблему:


если тест -r /usr/share/debconf/confmodule; тогда
  . /usr/share/debconf/confmodule
  db_purge
фи

если тест -d /run/systemd/system ; тогда
  systemctl start runit.service
elif test -x /sbin/start ; затем
  /sbin/start запускает vdir
фи

Это не идеально, но это начало, runit.prermи оно runit.postrmтакже требует некоторых корректировок.

дальнейшее чтение

решение2

Мне удалось найти временное решение проблемы. Изменить расположение исходных серверов и т.п. с основного сервера на Финляндию или Эстонию. Это решает острую проблему на некоторое время.

Связанный контент