Bagaimana cara memperbaiki libudev.so.0 yang hilang agar Chrome mulai lagi?

27

Mencoba memulai hasil chrome dalam kesalahan berikut pada baris perintah:

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

Kesalahan pertama kali muncul di Ubuntu 13.04, saya mencoba membersihkan dan menginstal ulang Chrome. Itu bertahan setelah memutakhirkan ke Ubuntu 13.10.

k0pernikus
sumber

Jawaban:

17

Jika Chrome tidak dimulai setelah upgrade Ubuntu dari ≤12.10 ke ≥13.04, buka terminal dan jalankan perintah berikut:

sudo dpkg-reconfigure google-chrome-stable

Penjelasannya mengikuti.


Paling tidak untuk versi Chrome dari 28 hingga 37, biner Chrome dapat menggunakan mana saja dari libudev.so.0atau libudev.so.1hadir pada sistem. Dengan perbaikan ke Chromium / Chrome Edisi 226002 (yang masuk ke saluran yang tidak stabil pada April 2013), penginstal menentukan yang mana yang akan digunakan. Referensi biner libudev.so.0; installer membuat tautan simbolis dari /opt/google/chrome/libudev.so.0ke libudev.so.1pada sistem jika libudev.so.0tidak ditemukan.

Perhatikan bahwa akan membuatnya menjadi ide yang buruk /usr/lib. Nomor versi utama di pustaka berubah ketika versi yang lebih baru tidak kompatibel. Membuat tautan simbolis ini berfungsi baik untuk Chrome karena hanya menggunakan fitur yang kompatibel antara versi 0 dan versi 1. Aplikasi lain mungkin macet atau menghasilkan data yang rusak jika Anda memaksanya untuk berjalan dengan versi yang salah.

Metode yang digunakan oleh paket Chrome berfungsi dengan baik di sebagian besar keadaan, tetapi ini masih merupakan hack yang kotor, dan memiliki batasan. Jika libudev0paket dihapus setelah Chrome diinstal, yang kemungkinan terjadi ketika Anda meningkatkan Ubuntu, maka Chrome masih akan disiapkan untuk digunakan libudev.so.0tetapi file tidak akan tersedia lagi. Untuk memperbaikinya, libudev.so.0buat skrip instalasi berjalan lagi, dan kali ini deteksi yang tidak tersedia sehingga harus membuat tautan simbolik untuk digunakan libudev.so.1. Anda dapat menjalankan kembali skrip instalasi dengan menjalankannya dpkg-reconfigure google-chrome-stablesebagai root.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
36

Seperti yang ditunjukkan Gilles, pendekatan ini dapat mengarah pada perilaku yang tidak diinginkan. Silakan coba solusinya terlebih dahulu . Jika tidak berhasil untuk Anda dan Anda memahami implikasi bahwa ini dapat menyebabkan korupsi data diam-diam , Anda dapat melakukan hal berikut:

Dengan asumsi sistem 64-bit, symlink yang hilang dapat dibuat melalui:

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

Untuk Ubuntu 18:

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

Untuk sistem 32-bit:

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

Anda mungkin harus memeriksa versi libudev lokal Anda.

k0pernikus
sumber
1
Jawaban ini juga berlaku untuk masalah seperti "Google Chrome tidak dimulai setelah ditingkatkan ke 13.10."
Sri
Ini juga berfungsi untuk Dartium (versi pengembangan Chromium dengan Dart VM tertanam). Meskipun saya membuat tautan terhadap tautan libudev.so.1 sebagai gantinya dengan harapan bahwa jika versi perubahan tautannya masih terhapus, tetapi saya tidak yakin tentang itu. Satu-satunya hal yang bisa saya katakan adalah itu berhasil untuk saya. Kubuntu 14.10.
user69112
2
Ini adalah ide yang buruk: ini bekerja untuk Chrome, tetapi bisa merusak program lain yang tidak berasal dari Ubuntu - alih-alih mendapatkan pesan kesalahan, Anda bisa mendapatkan korupsi data diam-diam.
Gilles 'SANGAT berhenti menjadi jahat'
Ini bekerja untuk saya
Sungguk Lim