不足している libc.so.6 をダウンロードする場所

不足している libc.so.6 をダウンロードする場所

最近、誤ってファイルを削除してしまいました。/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++ ) を開きAltT次のコマンドを実行します。

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

関連情報