Ошибка «Не удается подключиться к Upstart» при установке git-all


21

Я использую 15.04.

Поэтому я работаю с git и установил стандартную версию. Я установил ключи ssh и смог клонировать один из моих репозиториев в нужную папку. Все работало отлично, и тогда я решил, что это хорошая идея - установить больше пакетов. Я побежал sudo apt-get install git-all. Я смотрю на коды ошибок, теперь приходится иметь дело с выскочкой.

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)

Это то, что происходит, когда я даже обновляю / обновляю свою систему. На данный момент все, что я хочу сделать, это иметь возможность установить программное обеспечение и обновить мое текущее программное обеспечение. Есть ли способ, которым я могу потенциально решить эту проблему или хотя бы исправить ее?

Изменить: К счастью, эта проблема была решена только через день или два после того, как это произошло. Принятый ответ сработал отлично и позаботился о моей проблеме

Ответы:


13

Вам нужно будет принудительно удалить runit. Бег sudo dpkg -r runitдолжен работать. Возможно, вам придется использовать один из --force-*вариантов.


4
git-daemon-runзависит от того, runitчтобы я удалил его, а затем удалил runit. Теперь проверяем, работает ли git. Это, однако, исправило мою текущую проблему!
Electronicks

git-daemon-runвероятно для запуска GIt-сервера (например, для git://связи с вашим компьютером для удаленного доступа). Я не runitустановил и могу использовать git.
saiarcot895

Я должен был сделать sudo apt-get remove --purge git-daemon-runпосле всего этого, чтобы остановить все ошибки «неудовлетворенной зависимости».
JasoonS

22

Это происходит из-за этой ошибки https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164

Вы должны удалить runitи git-daemon-run. Это должно решить проблему.

sudo apt-get purge runit git-daemon-run

Не забудьте посетить отчет об ошибке и нажать Да, эта ошибка влияет на меня .

git-all без ошибок

Похоже, что вы можете иметь git-allс поддержкой демона без сбоев в этой ошибке. git-allрекомендует git-daemon-runили git-daemon-sysvinitпакет. aptвыбирал git-daemon-runкак первый выбор. Но если вы явно упомянете пакет, который вы хотите (т.е. git-daemon-sysvinit), aptне пытайтесь установить git-daemon-run.

Все, что вам нужно сделать, это

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

Надеюсь, это поможет.


Вы правы, спасибо за ссылку на ошибку .
Биллаль Бегерадж

2
Я получил ссылку на ошибку из этого ответа и ссылку на этот ответ из комментария Занны под вопросом. Спасибо им. @BillalBEGUERADJ
Анвар


2

Попробуйте удалить git-all, установить git-daemon-sysvinit, затем установить git-allснова. Если вы посмотрите на свойства пакета в Synaptic, вы обнаружите, что это git-allзависит от того git-daemon-run или другогоgit-daemon-sysvinit . git-daemon-runэто тот, который устанавливается по умолчанию по какой-то причине, хотя он не работает в Ubuntu 15.04 и выше. (См. Https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164 ). Но если git-daemon-sysvinitсначала установить вручную, то git-allзависимость будет удовлетворена пакетом, который действительно работает. Вы можете установить git-all, и все должно быть в порядке.


1
Я должен был уточнить, что я использовал рабочую станцию ​​и не пытался настроить git-сервер в то время. Но для тех, кто сталкивается с этим и есть, это хорошая информация ^
Electronicks

1

Вы, вероятно, используете Ubuntu под виртуальным хостом. Если это так, вам нужно изменить initctl, чтобы он возвращал значение true, выполнив следующие шаги. Во-первых, вы должны сообщить dpkg, что вы собираетесь изменить установку пакета upstart, используя:

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

Затем вам нужно создать фиктивный initctl как ссылку на true:

ln -s /bin/true /sbin/initctl

Я не использовал виртуальный хост, но все равно спасибо
Electronicks
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.