web-dev-qa-db-fra.com

Échec de la connexion au socket / com / ubuntu / upstart: connexion refusée: des erreurs se sont produites lors du traitement: runit

J'utilise Ubuntu 15.04. Chaque fois que j'essayais d'installer un paquet, le message d'erreur apparaissait dans le titre. Comment puis-je me débarrasser de ce message d'erreur gênant?

:~$ uname -a
Linux LongerVision001 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.04
Release:        15.04
Codename:       vivid
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
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
Errors were encountered while processing:
 runit
E: Sub-process /usr/bin/dpkg returned an error code (1)
14
Pei JIA

J'ai rencontré la même erreur. En lisant le message d'erreur, il apparaît que le script d'installation runitattend upstartà un moment donné, mais mon système (et je suppose que le vôtre) est en cours d'exécution systemdname__. Notamment, j'ai une autre machine qui pas avait cette erreur lors de l'installation; la seule différence de fond est que la machine en erreur était une mise à niveau à partir de 14.10, tandis que la machine "fonctionne" était une nouvelle installation.

Étant donné que Vivid n’est pas un système LTS, j’estime que l’on pourrait modifier le fichier dpkg après l’installation afin de le remettre sur les rails. (Cette astuce devrait également fonctionner pour les installations LTS, mais espérons que ce ne sera pas un problème).

Quand dpkg se trompe avec

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
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
 runit
E: Sub-process /usr/bin/dpkg returned an error code (1)

il aura laissé le paquet runit dans un état semi-installé. Vous devriez trouver un fichier runit.postinst dans /var/lib/dpkg/info/. Ce fichier est exécuté dans le cadre des détails de post-installation du package runit (principalement pour le démarrage de runit immédiatement après l'installation, par opposition à l'attente du prochain démarrage du système). L'erreur est que le script semble oublier la nature exclusive de systemdname __/upstartname__. Puisque vous n'utilisez manifestement pas upstartname__, commentez les lignes correspondantes (lignes 58 à 60 de mon installation, actuellement).

Avant:

if [ -x /sbin/start ]; then #provided by upstart
  /sbin/start runsvdir
fi

Après:

#if [ -x /sbin/start ]; then #provided by upstart
#  /sbin/start runsvdir
#fi

Lorsque vous avez enregistré ce changement, vous pouvez indiquer à apt de terminer là où il s'est arrêté et vous devriez être prêt à partir:

$ Sudo apt-get install -f

19

Purger juste le début, c'est cassé quand même.

UPD: runit semble être incompatible avec systemd sur ubuntu, cela pourrait être une surprise après un redémarrage, runit va tout simplement échouer en disant que ce n'est pas pid 1:

- runit: fatal: must be run as process no 1.

Donc, l’autre façon est de passer à la méthode récente:

Sudo aptitude install upstart-sysv
Sudo update-initramfs -u
Sudo reboot
5
hryamzik