it-swarm.com.de

Wie behebe ich die fehlende libudev.so.0, damit Chrome erneut gestartet wird?

Der Versuch, chrome zu starten, führt zu folgendem Fehler in der Befehlszeile:

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

Der Fehler trat zum ersten Mal in Ubuntu 13.04 auf. Ich habe versucht, Chrome zu bereinigen und neu zu installieren. Nach dem Upgrade auf Ubuntu 13.10 blieb es bestehen.

27
k0pernikus

Wenn Chrome nach einem Ubuntu-Upgrade von ≤12.10 auf ≥13.04 nicht startet, öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

Sudo dpkg-reconfigure google-chrome-stable

Erklärungen folgen.


Zumindest für Chrome Versionen von 28 bis 37 kann die Chrome Binärdatei den libudev.so.0 oder libudev.so.1 verwenden, der auf dem System vorhanden ist. Mit dem Fix auf Chromium/Chrome-Problem 226002 (das im April 2013 in den instabilen Kanal ging) bestimmt das Installationsprogramm, welches verwendet werden soll. Die Binärreferenzen libudev.so.0; Das Installationsprogramm erstellt eine symbolische Verknüpfung von /opt/google/chrome/libudev.so.0 zu libudev.so.1 auf dem System, wenn libudev.so.0 nicht gefunden wird.

Beachten Sie, dass es eine schlechte Idee wäre, eine in /usr/lib zu erstellen. Die Hauptversionsnummern in Bibliotheken ändern sich, wenn die neuere Version nicht kompatibel ist. Das Erstellen dieser symbolischen Verknüpfung funktioniert gut für Chrome, da nur Funktionen verwendet werden, die zwischen Version 0 und Version 1 kompatibel sind. Andere Anwendungen können abstürzen oder beschädigte Daten erzeugen, wenn Sie sie mit der falschen Version ausführen.

Die vom Chrome -Paket verwendete Methode funktioniert in den meisten Fällen gut, ist jedoch immer noch ein unsauberer Hack und hat eine Einschränkung. Wenn das libudev0-Paket nach der Installation von Chrome deinstalliert wird, was wahrscheinlich bei einem Ubuntu-Upgrade der Fall ist, wird Chrome weiterhin für die Verwendung von libudev.so.0 eingerichtet, die Datei jedoch nicht mehr verfügbar. Um dies zu beheben, führen Sie das Installationsskript erneut aus und stellen Sie diesmal fest, dass libudev.so.0 nicht verfügbar ist. Daher sollte der symbolische Link erstellt werden, um stattdessen libudev.so.1 zu verwenden. Sie können das Installationsskript erneut ausführen, indem Sie dpkg-reconfigure google-chrome-stable als root ausführen.

17
Gilles

Wie Gilles betonte, kann dieser Ansatz zu unerwünschtem Verhalten führen. Bitte versuchen Sie seine Lösung zuerst . Wenn es bei Ihnen nicht funktioniert und Sie die Implikation verstehen, dass dies zu einer unbeaufsichtigten Datenbeschädigung führen kann , können Sie Folgendes tun:

Unter der Annahme eines 64-Bit-Systems kann der fehlende Symlink folgendermaßen erstellt werden:

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

Für Ubuntu 18:

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

Für ein 32-Bit-System:

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

Möglicherweise müssen Sie Ihre lokale Version von libudev überprüfen.

36
k0pernikus