Làm cách nào để sửa libudev.so.0 bị thiếu để Chrome bắt đầu lại?


27

Cố gắng bắt đầu sản lượng chrome trong lỗi sau trên dòng lệnh:

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

Lỗi xuất hiện lần đầu trong Ubuntu 13.04, tôi đã thử thanh lọc và cài đặt lại Chrome. Nó vẫn tồn tại sau khi nâng cấp lên Ubuntu 13.10.

Câu trả lời:


17

Nếu Chrome không khởi động sau khi nâng cấp Ubuntu từ ≤12.10 lên .013.04, hãy mở một thiết bị đầu cuối và chạy lệnh sau:

sudo dpkg-reconfigure google-chrome-stable

Giải thích theo sau.


Ít nhất là đối với các phiên bản Chrome từ 28 đến 37, nhị phân Chrome có thể sử dụng bất kỳ libudev.so.0hoặc libudev.so.1có mặt trên hệ thống. Với bản sửa lỗi cho vấn đề Chromium / Chrome 226002 (đã đi vào kênh không ổn định vào tháng 4 năm 2013), trình cài đặt sẽ xác định cái nào sẽ sử dụng. Các tài liệu tham khảo nhị phân libudev.so.0; trình cài đặt tạo một liên kết tượng trưng từ /opt/google/chrome/libudev.so.0đến libudev.so.1hệ thống nếu libudev.so.0không tìm thấy.

Lưu ý rằng nó sẽ là một ý tưởng tồi để tạo một trong /usr/lib. Số phiên bản chính trong thư viện thay đổi khi phiên bản mới hơn không tương thích. Tạo liên kết tượng trưng này hoạt động tốt cho Chrome vì nó chỉ sử dụng các tính năng tương thích giữa phiên bản 0 và phiên bản 1. Các ứng dụng khác có thể bị sập hoặc tạo dữ liệu bị hỏng nếu bạn buộc chúng chạy sai phiên bản.

Phương pháp được sử dụng bởi gói Chrome hoạt động tốt trong hầu hết các trường hợp, nhưng nó vẫn là một bản hack bẩn và nó có một hạn chế. Nếu libudev0gói được gỡ cài đặt sau khi Chrome được cài đặt, điều này có thể xảy ra khi bạn nâng cấp Ubuntu, thì Chrome vẫn sẽ được thiết lập để sử dụng libudev.so.0nhưng tệp sẽ không còn khả dụng nữa. Để khắc phục điều này, làm cho tập lệnh cài đặt chạy lại và lần này phát hiện libudev.so.0không có sẵn để thay vào đó nên tạo liên kết tượng trưng để sử dụng libudev.so.1. Bạn có thể chạy lại tập lệnh cài đặt bằng cách chạy dpkg-reconfigure google-chrome-stablebằng root.


36

Như Gilles đã chỉ ra, phương pháp này có thể dẫn đến hành vi không mong muốn. Hãy thử giải pháp của anh ấy trước . Nếu nó không hiệu quả với bạn và bạn hiểu hàm ý rằng điều này có thể dẫn đến tham nhũng dữ liệu thầm lặng , bạn có thể làm như sau:

Giả sử hệ thống 64 bit, liên kết tượng trưng bị thiếu có thể được tạo thông qua:

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

Đối với Ubuntu 18:

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

Đối với hệ thống 32 bit:

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

Bạn có thể phải kiểm tra phiên bản địa phương của libudev.


1
Câu trả lời này cũng áp dụng cho vấn đề như "Google Chrome không bắt đầu sau khi nâng cấp lên 13.10."
Sri

Điều này cũng hoạt động đối với Dartium (phiên bản phát triển của Chromium với nhúng VM VM). Mặc dù tôi đã tạo liên kết chống lại liên kết libudev.so.1 thay vào đó với hy vọng rằng nếu phiên bản thay đổi, liên kết vẫn bị lung lay, nhưng tôi không chắc về điều đó. Điều duy nhất tôi có thể nói là nó làm việc cho tôi. Kubfox 14.10.
dùng69112

2
Đây là một ý tưởng tồi: nó hoạt động cho Chrome, nhưng nó có thể phá vỡ các chương trình khác không đến từ Ubuntu - thay vì nhận được thông báo lỗi, bạn có thể bị hỏng dữ liệu im lặng.
Gilles 'SO- ngừng trở nên xấu xa'

Điều này hiệu quả với tôi
Sungguk Lim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.