GNU/Linux >> Belajar Linux >  >> Arch Linux

Cara Memperbaiki Kesalahan "pacman:error saat memuat perpustakaan bersama" Di Arch Linux

Selama beberapa hari terakhir, saya telah menguji PIP . secara ekstensif dan Pipenv alat di sistem Arch Linux saya. Saat menguji alat ini, saya harus menginstal ulang dan menurunkan versi Python2.x, paket Python 3.x dan beberapa paket dependensi Python lainnya berkali-kali. Pada titik tertentu, Arch Linux saya rusak dan pacman berhenti bekerja. Setiap kali saya menjalankan pacman, saya mendapatkan pesan kesalahan yang mengatakan "pacman:error while loading shared library:libidn2.so.0:could open shared object file:No such file or directory" .

pacman:kesalahan saat memuat pustaka bersama:libidn2.so.0:tidak dapat membuka file objek bersama:Tidak ada file atau direktori seperti itu

Tidak hanya pacman, beberapa aplikasi lain, seperti pacaur, yaourt, packer, virtualbox dan transmission dll, juga berhenti bekerja. Ketika saya mencoba membuka salah satu dari aplikasi ini, saya terus mendapatkan pesan ini - "kesalahan saat memuat pustaka bersama:libidn2.so.0:tidak dapat membuka file objek bersama". Kemungkinannya adalah saya telah menghapus sesuatu yang tidak dapat saya ingat. Untuk nasib buruk saya, itu adalah sistem pribadi saya dan saya tidak ingin menginstal ulang karena memiliki banyak aplikasi. Jadi, menginstal ulang OS dan semua aplikasi mungkin membutuhkan waktu dua hari atau lebih. Setelah dengan giat mencari di wiki Arch Linux dan forum Linux lainnya seperti orang gila, akhirnya saya berhasil memperbaikinya. Jika Anda pernah mengalami masalah seperti ini, jangan cari di mana pun, cukup unduh file sumber dan salin file yang hilang ke /usr/lib/ map. Sejauh yang saya cari di web, metode ini tampaknya paling mudah sejauh ini. Baca terus untuk mengetahui bagaimana saya memperbaiki kesalahan ini.

Perbaiki "pacman:error saat memuat perpustakaan bersama" Kesalahan Di Arch Linux

Seperti yang sudah saya katakan, saya terus mendapatkan kesalahan ini - "pacman:error saat memuat perpustakaan bersama:libidn2.so.0:tidak dapat membuka file objek bersama:Tidak ada file atau direktori seperti itu" ketika saya menjalankan perintah pacman atau pembantu AUR seperti pacaur, packer, yaourt dan saya bahkan tidak dapat membuka aplikasi VirtualBox dan klien Transmisi. Jadi, masalah sebenarnya di sini adalah file "libidn2.so.0" telah hilang. Kita harus menemukannya!

$ ls -la /usr/lib/libidn*

Contoh keluaran dari sistem Arch Linux saya:

lrwxrwxrwx 1 root root 22 Jul 22 2013 /usr/lib/libidnkitlite.so -> libidnkitlite.so.1.0.2
lrwxrwxrwx 1 root root 22 Jul 22 2013 /usr/lib/libidnkitlite.so.1 -> libidnkitlite.so.1.0.2
-rw-r--r-- 1 root root 276352 Jul 22 2013 /usr/lib/libidnkitlite.so.1.0.2
lrwxrwxrwx 1 root root 18 Jul 22 2013 /usr/lib/libidnkit.so -> libidnkit.so.1.0.2
lrwxrwxrwx 1 root root 18 Jul 22 2013 /usr/lib/libidnkit.so.1 -> libidnkit.so.1.0.2
-rw-r--r-- 1 root root 282368 Jul 22 2013 /usr/lib/libidnkit.so.1.0.2
lrwxrwxrwx 1 root root 17 Aug 15 19:00 /usr/lib/libidn.so -> libidn.so.11.6.16
lrwxrwxrwx 1 root root 17 Aug 15 19:00 /usr/lib/libidn.so.11 -> libidn.so.11.6.16
-rwxr-xr-x 1 root root 210872 Aug 15 19:00 /usr/lib/libidn.so.11.6.16

Saya punya "libidn.so", tetapi tidak dapat menemukan "libidn2.so.0". Karena pacman dan pengelola paket lainnya tidak berfungsi, tidak ada cara untuk menginstal, meningkatkan, atau menurunkan versi paket apa pun dari repositori resmi atau cache lokal. Jadi, saya pikir satu-satunya cara adalah mengunduh paket yang memiliki file yang hilang dari Internet, mengekstraknya dan akhirnya menyalin file yang hilang ke direktori /usr/lib/. Biarkan saya membuat direktori untuk menyimpan file tar libdin2:

$ mkdir libidn
$ cd libidn

Temukan dan unduh versi terbaru dari paket ini. Pencarian google cepat membawa saya ke sini . Ekstrak filenya:

$ tar xf libidn2-2.0.4-2-x86_64.pkg.tar.xz

Perintah di atas mengekstrak isi file dalam direktori bernama "usr". Buka folder usr/lib:(Catatan - Ini adalah usr/lib , bukan /usr/lib )

$ cd usr/lib

Terakhir salin file yang hilang, dalam kasus kami ini adalah libidn2.so.0 , ke direktori /usr/lib/ dari sistem Arch Linux Anda.

$ sudo cp libidn2.so.0 /usr/lib/

Kemudian, saya berlari:

$ sudo pacman -syu

Perbarui Arch Linux

Voila! Pacman bekerja sekarang!! Ups! Oh tidak, tunggu.. Itu tidak berhasil. Saya mendapatkan kesalahan ini setelah beberapa menit.

[....]
(511/511) checking keys in keyring [######################] 100%
(511/511) checking package integrity [######################] 100%
(511/511) loading package files [######################] 100%
(511/511) checking for file conflicts [######################] 100%
error: failed to commit transaction (conflicting files)
libidn2: /usr/lib/libidn2.so.0 exists in filesystem
Errors occurred, no packages were upgraded.

Untuk memperbaikinya, saya menjalankan:

$ sudo pacman -S libidn2 --force

Kemudian, saya mencoba memperbarui lagi:

$ sudo pacman -Syu

Tetap!! Semua baik sekarang. Jadi, jika Anda pernah mengalami masalah seperti "kesalahan saat memuat perpustakaan bersama:.. tidak dapat membuka file objek bersama:Tidak ada file atau direktori seperti itu" , salah satu cara untuk memperbaikinya adalah dengan menemukan paket yang berisi file yang hilang, unduh versi terbaru dari paket tersebut, ekstrak dan salin file yang hilang ke /usr/lib/ direktori. Tentu saja, mungkin ada banyak cara untuk memperbaiki masalah semacam itu. Tetapi ini adalah satu-satunya solusi yang dapat saya temukan dan saya menemukan ini jauh lebih mudah dan lebih cepat. Trik ini mungkin juga bisa digunakan di distro Linux lainnya.

Bacaan terkait:

  • Cara Mengembalikan Rusak Arch Linux ke Status Kerja Sebelumnya
  • Cara Memperbaiki Error “unable to lock database” Di Arch Linux
  • Cara Memperbaiki Kesalahan “paket tidak valid atau rusak (tanda tangan PGP)” Di Arch Linux
  • Cara Mengatasi Masalah “Memulai peningkatan sistem penuh… tidak ada yang bisa dilakukan” Di Arch Linux
  • Cara Mengatasi “kesalahan:gagal melakukan transaksi (file yang bentrok)” Di Arch Linux

Arch Linux
  1. Cara menggunakan Pacman di Arch Linux

  2. Cara Memperbaiki Kesalahan "Peringatan:lokal lebih baru dari komunitas" Di Arch Linux

  3. Cara Memperbaiki Kesalahan "paket tidak valid atau rusak (tanda tangan PGP)" Di Arch Linux

  1. Kesalahan memuat pustaka bersama libcrypto.so.1.1 – OpenSSL [Perbaiki]

  2. Linux – Bagaimana Cara Mengganti Arch Linux ke Lts Kernel?

  3. rpm:kesalahan saat memuat pustaka bersama:header ELF tidak valid

  1. Cara Instal MariaDB di Arch Linux / Manjaro Linux

  2. Linux – Bagaimana Cara Menghapus Paket Lama yang Diinstal Oleh Pacman Di Arch Linux?

  3. Cara memperbaiki "kesalahan saat memuat perpustakaan bersama:libgtk-x11-2.0.so.0"