Erro "Não foi possível conectar ao Upstart" ao instalar o git-all

21

Estou usando o 15.04.

Então, eu estou trabalhando com o git e instalei a versão padrão. Eu configurei as chaves ssh e consegui clonar um dos meus repositórios na pasta correta. Tudo estava funcionando muito bem e então decidi que era uma boa ideia instalar mais pacotes. Corri sudo apt-get install git-all. Estou olhando para os códigos de erro que agora precisam lidar com o iniciante.

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)

É o que acontece quando eu atualizo / atualizo meu sistema. Neste ponto, tudo o que estou procurando fazer é poder instalar o software e atualizar meu software atual. Existe alguma maneira de potencialmente reverter esse problema ou pelo menos corrigi-lo?

Edit: Felizmente, este problema foi resolvido apenas um dia ou dois depois que aconteceu. A resposta aceita funcionou perfeitamente e cuidou do meu problema

Electronicks
fonte

Respostas:

13

Você precisará remover à força runit. Correr sudo dpkg -r runitdeve funcionar. Pode ser necessário usar uma das --force-*opções.

saiarcot895
fonte
4
git-daemon-rundependia, runitentão eu o removi e removi runit. Agora testando para ver se o git ainda funciona. No entanto, isso corrigiu meu problema atual!
Electronicks
git-daemon-runé provavelmente para executar um servidor GIt (como ter git://links para o seu computador para acesso remoto). Não tenho runitinstalado e posso usar o git.
precisa saber é o seguinte
Depois disso tudo, tive sudo apt-get remove --purge git-daemon-runque parar todos os erros de 'dependência não atendida'.
JasoonS
22

Está acontecendo por causa desse bug https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164

Você precisa remover runite git-daemon-run. Isso deve resolver o problema.

sudo apt-get purge runit git-daemon-run

Não se esqueça de visitar o relatório de erros e clicar em Sim, esse bug me afeta .

git-all sem erro

Parece que você pode ter git-allcom o suporte daemon sem falhar neste erro. git-allrecomenda um git-daemon-runou um git-daemon-sysvinitpacote. aptestava escolhendo git-daemon-runcomo primeira escolha. Mas se você mencionar explicitamente o pacote que deseja (ou seja git-daemon-sysvinit), aptnão tentará instalar git-daemon-run.

Tudo que você precisa fazer é

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

Espero que ajude.

Anwar
fonte
Você está certo, obrigado pelo link do bug .
Billal Begueradj
2
Eu obtive o link do bug desta resposta e o link para essa resposta do comentário de Zanna abaixo da pergunta. Graças a eles. @BillalBEGUERADJ
Anwar
5

Experimentar:

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

em vez de.

Scott Deagan
fonte
2

Tente desinstalar git-all, instalar git-daemon-sysvinite instalar git-allnovamente. Se você observar as propriedades do pacote no Synaptic, descobrirá que isso git-alldepende de um git-daemon-run ou de outrogit-daemon-sysvinit . git-daemon-runé o que é instalado por padrão por algum motivo, mesmo que esteja quebrado no Ubuntu 15.04 e posterior. (Veja https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164 ) Mas se você instalar git-daemon-sysvinitmanualmente primeiro, git-alla dependência de será satisfeita por um pacote que realmente funciona. Você pode instalar git-alle tudo ficará bem.

Stephen G Tuggy
fonte
1
Eu deveria ter esclarecido que estava usando uma estação de trabalho e não estava tentando configurar um servidor git no momento. Mas para quem atravessa isso e é, isso é bom informações ^
Electronicks
1

Você provavelmente está usando o Ubuntu em um host virtual. Nesse caso, você precisará modificar o initctl para retornar true usando as etapas a seguir. Primeiro, você precisa dizer ao dpkg que irá alterar a instalação do pacote inicial usando:

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

Em seguida, você precisa criar um initctl fictício como um link para true:

ln -s /bin/true /sbin/initctl
Rohan Khude
fonte
Eu não estava usando um host virtual, mas obrigado de qualquer maneira
Electronicks