runit을 사용한 upstart/systemd에 대해 이 오류가 발생하는 이유는 무엇입니까?

runit을 사용한 upstart/systemd에 대해 이 오류가 발생하는 이유는 무엇입니까?

Ubuntu 16.04에서 실행 sudo apt-get install git-all하고 결국 다음을 봅니다.

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의 데비안용 daemontools 패키지를 모두 관리하는 는 "초기 시스템 중립성"(데비안 시스템 이후에 많은 논란이 되었던) 아이디어를 마음에 새긴 몇 안 되는 개발자 중 한 명입니다. van Smoorenburg init, upstart 및 systemd 에서 이러한 실행을 지원하기 위해 열심히 노력했습니다 .

runit에 대한 설치 후 유지 관리자 스크립트는 /var/lib/dpkg/info/runit.postinst. 보시다시피, upstart의 존재를 감지하고 runsvdirupstart가 있으면 upstart 작업을 시작하려고 시도합니다. systemd 및 runit.service.

불행히도 Ubuntu 14 이상에서는둘 다체계화된그리고스타트업이 설치되었습니다. 따라서 패키지의 설치 후 유지 관리자 스크립트는 upstart start명령을 사용하여 upstart 작업을 실행하려고 합니다. 물론 upstart는 (기본적으로) Ubuntu 15 이상의 시스템 전체 서비스 관리자가 아니므로 upstart start명령이 작동하지 않습니다.

다음은 이를 극복하기 위해 스크립트를 패치하는 방법에 대한 대략적인 아이디어입니다.


if test -r /usr/share/debconf/confmodule; 그 다음에
  . /usr/share/debconf/confmodule
  db_purge
fi

if test -d /run/systemd/system ; 그 다음에
  systemctl start runit.service
elif 테스트 -x /sbin/start ; 그 다음에
  /sbin/start runningsvdir
fi

이상적이지는 않지만 시작에 불과합니다. runit.prerm마찬가지로 runit.postrm약간의 조정이 필요합니다.

추가 읽기

답변2

문제에 대한 임시 해결책을 찾았습니다. 원본 서버 등의 위치를 ​​메인 서버에서 핀란드, 에스토니아로 변경합니다. 잠시 동안 심각한 문제를 해결합니다.

관련 정보