哪裡可以下載缺少的libc.so.6

哪裡可以下載缺少的libc.so.6

我最近不小心刪除了這個文件/lib/x86_64-linux-gnu/libc.so.6.大多數程式都需要這個文件,所以我的電腦基本上壞了,我只能透過即時USB存取硬碟。

我正在運行 64 位元 Crunchbang Waldorf,它是基於 Debian 的。

我該如何更換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 的發行版。

有了這些假設,首先使用您的 USB 記憶棒啟動您的系統。然後/lib/x86_64-linux-gnu/libc.so.6使用命令查詢哪個套件擁有該檔案dpkg -S /lib/x86_64-linux-gnu/libc.so.6(該檔案將由名為「libc6」的套件擁有,但無論如何這是一個很好的練習)。

當您的系統透過 USB 棒即時發行版運行時,請從以下位置下載所需的一個或多個軟體包:Crunchbang 華爾道夫網站

然後將硬碟安裝到某個目錄。為了舉例,我將再次假設您將從硬碟安裝根分割區到/mnt.

--root /mnt然後剩下要做的就是使用指令 for重新安裝所需的軟體包dpkg。這樣,套件就不會最終進入您的即時 USB 記憶棒檔案系統,而是進入您硬碟上已有的系統。

答案2

libc.so.6文件存在於libc6包中。

您必須從哪個儲存庫中找出該libc6軟體包安裝在您的電腦上。 (檢查/etc/apt/sources.list等)。

然後手動下載它(例如,如果它是使用預設儲存庫的 Debian 機器,您可以從這裡),然後使用@SamiLaine 提供的說明進行安裝。

答案3

在 root shell 中嘗試:

ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

如果libc-2.13.so版本不適合您的系統,請使用 bash 中的製表符補全來找到正確的版本。

如果這不起作用,您可以使用靜態連結版本LD配置在根外殼中:

/sbin/ldconfig

如果 libc 連結的目標庫已刪除,請從以下位置下載 debian 軟體包:軟體包:libc6頁面,使用dpkg-deb -X(手冊頁)並複製libc-2.13.so/lib/x86_64-linux-gnu.然後運行 Tconfig 以確保所有連結都正確。

答案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

相關內容