最近、誤ってファイルを削除してしまいました。/lib/x86_64-linux-gnu/libc.so.6.
このファイルはほとんどのプログラムに必要なので、コンピューターは基本的に壊れており、ライブ USB 経由でのみハード ドライブにアクセスできます。
私は Debian ベースの 64 ビット Crunchbang Waldorf を実行しています。
どうすれば交換できますかlibc.so.6
?(/lib64/
ではないコピーが含まれています。
出力locate libc.so
(ライブ USB 上、壊れたハード ドライブがマウントされている)
/lib/x86_64-linux-gnu/libc.so.6
/rofs/lib/x86_64-linux-gnu/libc.so.6
/rofs/usr/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/x86_64-linux-gnu/libc.so.6
/etc/apt/sources.listの内容
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
## CRUNCHBANG
## Compatible with Debian Wheezy, but use at your own risk.
deb http://packages.crunchbang.org/waldorf waldorf main contrib
# deb-src http://packages.crunchbang.org/waldorf waldorf main
## DEBIAN
deb http://http.debian.net/debian wheezy main contrib non-free
# deb-src http://http.debian.org/debian wheezy main contrib non-free
## DEBIAN SECURITY
deb http://security.debian.org/ wheezy/updates main contrib
# deb-src http://security.debian.org/ wheezy/updates main
答え1
ライブ USB スティックには、実行しているディストリビューションと同じディストリビューションがインストールされている、または少なくとも Debian ベースのディストリビューションがインストールされているものと想定します。
/lib/x86_64-linux-gnu/libc.so.6
これらの前提に基づいて、まずライブ USB スティックを使用してシステムを起動します。次に、コマンドを使用して、どのパッケージがファイルを所有しているかを照会dpkg -S /lib/x86_64-linux-gnu/libc.so.6
します (ファイルは「libc6」というパッケージによって所有されていることがわかりますが、とにかく良い練習になります)。
USBスティックライブディストリビューションからシステムを実行している場合は、必要なパッケージをダウンロードしてください。Crunchbang Waldorf サイト。
次に、ハード ディスク ドライブを任意のディレクトリにマウントします。例として、ここでも、ハード ディスク ドライブのルート パーティションを の下にマウントすると仮定します/mnt
。
--root /mnt
その後は、のディレクティブを使用して必要なパッケージを再インストールするだけですdpkg
。 こうすることで、パッケージはライブ USB スティックのファイルシステムではなく、ハードディスクに既にあるシステムに保存されるようになります。
答え2
ファイルはパッケージlibc.so.6
内に存在しますlibc6
。
libc6
パッケージがどのリポジトリからマシンにインストールされたかを確認する必要があります。(/etc/apt/sources.list
などを確認してください)。
その後、手動でダウンロードします(たとえば、デフォルトのリポジトリを使用しているDebianマシンの場合は、ここ) をダウンロードし、@SamiLaine が提供した手順に従ってインストールします。
答え3
ルートシェルでこれを試してください:
ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
libc-2.13.so
システムに適切なバージョンがない場合は、bash のタブ補完を使用して適切なバージョンを見つけてください。
これがうまくいかない場合は、静的にリンクされたバージョンのldconfigルートシェルの場合:
/sbin/ldconfig
libcリンクのターゲットライブラリが削除された場合は、debianパッケージをパッケージ: libc6ページを解凍するには、dpkg-deb -X
(マニュアルページ)libc-2.13.so
を にコピーします/lib/x86_64-linux-gnu
。次に、ldconfig を実行して、すべてのリンクが正しいことを確認します。
答え4
ターミナル ( Ctrl++ ) を開きAlt、T次のコマンドを実行します。
64 ビット Ubuntu の場合:
sudo ln -s /lib64/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6
32 ビット Ubuntu の場合:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6