Comment réparer libudev.so.0 manquant pour que Chrome redémarre?

27

Essayer de démarrer les rendements de chrome en erreur suivante sur la ligne de commande:

/opt/google/chrome/chrome: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

L'erreur est apparue pour la première fois dans Ubuntu 13.04, j'ai essayé de purger et de réinstaller Chrome. Il a persisté après la mise à niveau vers Ubuntu 13.10.

    
posée k0pernikus 01.11.2013 - 02:58
la source

2 réponses

17

Si Chrome ne démarre pas après une mise à niveau d'Ubuntu de ≤12.10 à ≥13.04, ouvrez un terminal et exécutez la commande suivante:

sudo dpkg-reconfigure google-chrome-stable

Les explications suivent.

Au moins pour les versions de Chrome 28 à 37, le fichier binaire Chrome peut utiliser libudev.so.0 ou libudev.so.1 du système. Avec le correctif pour Chromium / Chrome problème 226002 (qui est entré dans le canal instable en avril 2013), l'installateur détermine lequel utiliser. Les références binaires libudev.so.0 ; le programme d'installation crée un lien symbolique de /opt/google/chrome/libudev.so.0 à libudev.so.1 sur le système si libudev.so.0 n'est pas trouvé.

Notez que ce serait une mauvaise idée d'en créer un dans /usr/lib . Les numéros de version principaux dans les bibliothèques changent lorsque la nouvelle version est incompatible. La création de ce lien symbolique fonctionne bien pour Chrome car il n'utilise que des fonctionnalités compatibles entre la version 0 et la version 1. D'autres applications peuvent se bloquer ou produire des données corrompues si vous les forcez à utiliser la mauvaise version.

La méthode utilisée par le package Chrome fonctionne bien dans la plupart des cas, mais il s’agit toujours d’un piratage sale et limité. Si le package libudev0 est désinstallé après l'installation de Chrome, ce qui est susceptible de se produire lors de la mise à niveau d'Ubuntu, Chrome sera toujours configuré pour utiliser libudev.so.0 mais le fichier ne sera plus disponible. Pour résoudre ce problème, exécutez à nouveau le script d'installation et, cette fois, détectez que libudev.so.0 n'est pas disponible. Par conséquent, il doit créer le lien symbolique pour utiliser libudev.so.1 à la place. Vous pouvez réexécuter le script d'installation en exécutant dpkg-reconfigure google-chrome-stable en tant que root.

    
réponse donnée Gilles 01.10.2014 - 18:33
la source
36

Comme l’a souligné Gilles, cette approche peut conduire à des comportements indésirables. Veuillez essayer sa solution en premier . Si cela ne fonctionne pas pour vous et si vous comprenez que cela peut conduire à une corruption des données silencieuse , vous pouvez procéder comme suit:

En supposant un système 64 bits, le lien symbolique manquant peut être créé via:

sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.3.5 /usr/lib/libudev.so.0

Pour Ubuntu 18:

sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.6.9 /usr/lib/libudev.so.0

Pour un système 32 bits:

sudo ln -s /lib/i386-linux-gnu/libudev.so.1.3.5  /usr/lib/libudev.so.0

Vous devrez peut-être vérifier votre version locale de libudev.

    
réponse donnée k0pernikus 01.11.2013 - 02:58
la source

Lire d'autres questions sur les étiquettes