Błąd „Nie można połączyć się z Upstart” podczas instalacji git-all

21

Używam 15.04.

Więc pracuję z git i zainstalowałem standardową wersję. Skonfigurowałem klucze ssh i udało mi się sklonować jedno z moich repozytoriów do odpowiedniego folderu. Wszystko działało świetnie, a potem zdecydowałem, że warto zainstalować więcej pakietów. Pobiegłem sudo apt-get install git-all. Patrzę na kody błędów, które mają teraz do czynienia z upstartem.

start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
No apport report written because the error message indicates its a followup error from a previous failure.
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
Errors were encountered while processing:
 runit
 git-daemon-run
E: Sub-process /usr/bin/dpkg returned an error code (1)

Tak się dzieje, gdy nawet aktualizuję / aktualizuję system. W tym momencie wszystko, co chcę zrobić, to móc zainstalować oprogramowanie i zaktualizować moje obecne oprogramowanie. Czy jest jakiś sposób, w jaki mogę potencjalnie odwrócić ten problem lub przynajmniej go naprawić?

Edycja: Na szczęście ten problem został rozwiązany zaledwie dzień lub dwa po jego wydaniu. Przyjęta odpowiedź działała idealnie i zajęła się moim problemem

Elektronika
źródło

Odpowiedzi:

13

Musisz wymusić usunięcie runit. Bieganie sudo dpkg -r runitpowinno działać. Może być konieczne użycie jednej z --force-*opcji.

saiarcot895
źródło
4
git-daemon-runzależało od tego, runitwięc usunąłem go, a następnie usunąłem runit. Teraz testujemy, czy git nadal działa. To jednak naprawiło mój obecny problem!
Electronicks
git-daemon-runjest prawdopodobnie do uruchamiania serwera GIt (jak w przypadku posiadania git://linków do komputera w celu zdalnego dostępu). Nie mam runitzainstalowanego i mogę korzystać z git.
saiarcot895
Musiałem zrobić sudo apt-get remove --purge git-daemon-runwszystko, aby zatrzymać wszystkie błędy „niezaspokojonej zależności”.
JasoonS
22

Dzieje się tak z powodu tego błędu https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164

Musisz usunąć runiti git-daemon-run. To powinno rozwiązać problem.

sudo apt-get purge runit git-daemon-run

Nie zapomnij odwiedzić raportu o błędzie i kliknąć Tak, ten błąd dotyczy mnie .

git-all bez błędu

Wygląda na to, że możesz mieć git-allwsparcie demona bez niepowodzenia tego błędu. git-allzaleca, albo git-daemon-runczy git-daemon-sysvinitpakiet. aptwybierał git-daemon-runjako pierwszy wybór. Ale jeśli wyraźnie wymienisz pakiet, który chcesz (tj. git-daemon-sysvinit), aptNie będzie próbował zainstalować git-daemon-run.

Wszystko, co musisz zrobić, to

sudo apt-get install git-all git-daemon-sysvinit

Mam nadzieję, że to pomaga.

Anwar
źródło
Masz rację, dziękuję za link błędu .
Billal Begueradj
2
Otrzymałem link błędu z tej odpowiedzi i link do tej odpowiedzi z komentarza Zanny pod pytaniem. Dzięki nim. @BillalBEGUERADJ
Anwar
5

Próbować:

sudo apt update 
sudo apt --purge remove git 
sudo apt install git

zamiast.

Scott Deagan
źródło
2

Spróbuj odinstalować git-all, zainstalować git-daemon-sysvinit, a następnie zainstalować git-allponownie. Jeśli spojrzysz na właściwości pakietu w Synaptic, przekonasz się, że git-allzależy to od jednego git-daemon-run lub git-daemon-sysvinit . git-daemon-runto ten, który jest instalowany domyślnie z jakiegoś powodu, nawet jeśli jest uszkodzony w Ubuntu 15.04 i nowszych. (Patrz https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164 ) Ale jeśli najpierw zainstalujesz git-daemon-sysvinitręcznie, to git-allzależność zostanie zaspokojona przez pakiet, który faktycznie działa. Następnie możesz zainstalować git-alli wszystko powinno być w porządku.

Stephen G. Tuggy
źródło
1
Powinienem był wyjaśnić, że korzystałem ze stacji roboczej i nie próbowałem wtedy skonfigurować serwera git. Ale dla każdego, kto na to natrafi, jest to dobra informacja ^
Electronicks
1

Prawdopodobnie używasz Ubuntu pod wirtualnym hostem. Jeśli tak, musisz zmodyfikować initctl, aby zwracał wartość true, wykonując następujące kroki. Najpierw musisz powiedzieć dpkg, że zamierzasz zmienić instalację pakietu upstart, używając:

sudo dpkg-divert --local --rename --add /sbin/initctl

Następnie musisz utworzyć atrapę initctl jako link do true:

ln -s /bin/true /sbin/initctl
Rohan Khude
źródło
Nie korzystałem z wirtualnego hosta, ale i tak dziękuję
Electronicks