GNU/Linux >> Linux の 問題 >  >> Arch Linux

Arch Linuxでの「pacman:共有ライブラリのロード中のエラー」エラーを修正する方法

過去数日間、私は PIPを広範囲にテストしてきました およびPipenv ArchLinuxシステムのツール。これらのツールをテストしている間、Python2.x、Python 3.xパッケージ、およびその他のPython依存関係パッケージを何度も再インストールしてダウングレードする必要がありました。ある時点で、それは私のArch Linuxを壊し、pacmanは動作を停止しました。 pacmanを実行するたびに、「pacman:共有ライブラリのロード中にエラーが発生しました:libidn2.so.0:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません」というエラーが発生しました。 。

pacman:共有ライブラリのロード中にエラーが発生しました:libidn2.so.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

pacmanだけでなく、pacaur、yaourt、packer、virtualbox、transmissionなどの他のアプリケーションも動作を停止しました。これらのアプリケーションのいずれかを開こうとすると、「共有ライブラリのロード中にエラーが発生しました:libidn2.so.0:共有オブジェクトファイルを開くことができません」というメッセージが表示され続けます。思い出せないものをアンインストールした可能性があります。運が悪かったのですが、これは私の個人的なシステムであり、アプリケーションがたくさんあるので再インストールしたくありません。そのため、OSとすべてのアプリケーションの再インストールには、2日またはそれ以上かかる場合があります。 Arch Linux wikiや狂人のような他のLinuxフォーラムを精力的に検索した後、私はついにそれを修正することができました。このような問題が発生した場合は、どこにも目を向けずに、ソースファイルをダウンロードして、不足しているファイルを / usr / lib /にコピーしてください。 フォルダ。私がウェブで検索した限り、この方法はこれまでのところ非常に簡単な方法のようです。このエラーをどのように修正したかを知るために読んでください。

「pacman:共有ライブラリのロード中にエラーが発生しました」を修正しました。ArchLinuxでのエラー

すでに述べたように、このエラーが発生し続けました-「pacman:共有ライブラリのロード中にエラーが発生しました:libidn2.so.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません」 pacmanコマンドまたはpacaur、packer、yaourtなどのAURヘルパーを実行すると、VirtualBoxアプリケーションとTransmissionクライアントを開くことさえできません。したがって、ここでの実際の問題は、ファイル "libidn2.so.0"です。 行方不明になっています。私たちはそれを見つける必要があります!

$ ls -la /usr/lib/libidn*

Arch Linuxシステムからの出力例:

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

「libidn.so」を持っていましたが、「libidn2.so.0」が見つかりません。 pacmanおよびその他のパッケージマネージャーが機能しなかったため、公式リポジトリまたはローカルキャッシュからパッケージをインストール、アップグレード、またはダウングレードする方法はありません。したがって、インターネットから不足しているファイルを含むパッケージをダウンロードし、それを抽出して、最後に不足しているファイルを/ usr /lib/ディレクトリにコピーすることが唯一の方法であると考えました。 libdin2 tarファイルを保存するためのディレクトリを作成しましょう:

$ mkdir libidn
$ cd libidn

このパッケージの最新バージョンを見つけてダウンロードします。クイックグーグル検索は私をここにもたらしました 。ファイルを抽出します:

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

上記のコマンドは、「usr」という名前のディレクトリにあるファイルの内容を抽出しました。 usr/libフォルダーに移動します:( - usr / libです 、 / usr / libではありません )

$ cd usr/lib

最後に、不足しているファイルをコピーします。この場合は、 libidn2.so.0です。 、ArchLinuxシステムの/usr /lib/ディレクトリに移動します。

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

次に、実行しました:

$ sudo pacman -syu

ArchLinuxを更新する

出来上がり!パックマンは今働いています!おっと!ああ、いや、待って..それはうまくいきませんでした。数分後にこのエラーが発生しました。

[....]
(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.

これを修正するために、私は実行しました:

$ sudo pacman -S libidn2 --force

その後、もう一度更新してみました:

$ sudo pacman -Syu

修理済み!!今はすべて良いです。したがって、「共有ライブラリの読み込み中にエラーが発生しました:..共有オブジェクトファイルを開くことができません:そのようなファイルやディレクトリはありません」のような問題が発生した場合 、これを修正する1つの方法は、不足しているファイルを含むパッケージを見つけ、そのパッケージの最新バージョンをダウンロードして抽出し、不足しているファイルを / usr / lib /にコピーすることです。 ディレクトリ。もちろん、そのような問題を解決する方法はたくさんあります。しかし、これは私が見つけることができた唯一の実用的な解決策であり、私はこれをはるかに簡単かつ迅速に見つけることができます。このトリックは他のLinuxディストリビューションでも機能する可能性があります。

関連記事:

  • 壊れたArchLinuxを以前の動作状態に復元する方法
  • ArchLinuxで「データベースをロックできない」エラーを修正する方法
  • Arch Linuxで「無効または破損したパッケージ(PGP署名)」エラーを修正する方法
  • 「完全なシステムアップグレードを開始する…何もすることがない」問題をArchLinuxで解決する方法
  • Arch Linuxで「エラー:トランザクションのコミットに失敗しました(ファイルの競合)」を解決する方法

Arch Linux
  1. 共有ライブラリのロード中にPythonインストールエラーを修正する方法:libssl.so.1.0.0? [解決済み]

  2. 共有ライブラリの読み込み中の Linux エラー:共有オブジェクト ファイルを開けません:そのようなファイルまたはディレクトリはありません

  3. 共有ライブラリの読み込み中にエラーが発生しました:libncurses.so.5:

  1. Arch Linux /ManjaroLinuxにMariaDBをインストールする方法

  2. ArchLinuxでPacmanを使用する方法

  3. Linuxでのcron認証失敗エラーを修正するにはどうすればよいですか?

  1. 共有ライブラリの読み込み中にエラーが発生しましたlibcrypto.so.1.1–OpenSSL[修正]

  2. Linux – Arch LinuxをLtsカーネルに切り替える方法は?

  3. Linux – Arch LinuxでPacmanによってインストールされた古いパッケージを削除する方法は?