コンパイルしてインストールしました。libc
私のホームディレクトリにローカルに。残念ながら、この後、ほとんどすべての基本ユーティリティは機能ls
しませんxz
。
次を実行するとエラーメッセージが表示されますls
。
ls: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
Googleが調査した結果、問題を解決するには、これらの基本ツールを再コンパイルして再接続する必要があることがわかりました。そのため、libc
インストールしたばかりのライブラリを簡単に削除することにしました。
libc
とから~/lib
ローカルにインストールされたバージョンを削除する方法は~/include
?~/lib
をインストールする前に多くのライブラリをインストールしたので、libc
多くのファイルが追加されました。その結果、今はすべてが混乱しています。
編集する:
最後の変更時刻に基づいてファイルを条件付きで削除すると、この問題を解決できるようです。よりクリーンなソリューションはありますか?
答え1
不要なライブラリファイルを削除しました。
find -mtime -1 -maxdepth 1 -exec rm -rf {} \;
現在のディレクトリから1日以内に変更されたファイルとディレクトリを見つけて、すべて削除します。
答え2
実行する作業は、新しくインストールされたファイルがインストールされている場所とディストリビューションの場所によって異なります。インストールするように設定した場合は、削除する/usr/local/lib
と元のls
ファイルが下に再び表示されます/usr/lib
。
通常、インストールする場所を上書きするとインストールプログラムが機能しなくなる可能性があるため、たとえばUbuntuからlibc6を再インストールする必要があります。
sudo apt-get install --reinstall libc6