我使用的是 64 位元 Crunchbang,它是基於 Debian 的。
我試圖解決 libc6 的某個問題,並天真地遵循了 askUbuntu 答案的建議(關聯)這讓我運行以下命令:
sudo ln -sf /lib32/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6
現在我無法運行單一終端命令或 GUI 程式。在終端上我收到大量錯誤。ls
例如,這裡是:
ls:載入共用函式庫時發生錯誤:libs.so.6:錯誤的 ELF 類別:ELFCLASS32
sed:載入共用函式庫時發生錯誤:libs.so.6:錯誤的 ELF 類別:ELFCLASS32
/usr/bin/env:載入共用函式庫時發生錯誤:libs.so.6:錯誤的 ELF 類別:ELFCLASS32
日期:載入共用函式庫時發生錯誤:libs.so.6:錯誤的 ELF 類別:ELFCLASS32
sed:載入共用函式庫時發生錯誤:libs.so.6:錯誤的 ELF 類別:ELFCLASS32
GUI 程式根本不會啟動或給我奇怪的錯誤訊息。
簡而言之,我無法刪除導致這場災難的符號連結。我該怎麼做才能讓我的計算機重新運作?
答案1
/lib32 資料夾只能包含 32 位元庫。您在 /lib32 中創建了 libc.so.6 的鏈接,該鏈接指向同一文件的 64 位元版本。取得 32 位元版本的 libc.so.6 並將其放置在 /lib32 資料夾中。
答案2
由於您已經弄亂了libc 並且通常每個有用的實用程式都依賴它,因此您唯一真正方便的選擇是啟動Live CD / USB 並修復它,或者將您的硬碟插入其他人的電腦中(不要啟動它)並從那裡修復它。
要修復它,請撤消您所做的事情。
但是,您-f
對選項的錯誤選擇ln
以及假定無法備份任何原始文件意味著,如果/lib/x86_64-linux-gnu/libc.so.6
在您執行該命令之前實際存在該文件,則它會被覆蓋。在這種情況下,最好的選擇是從其他地方獲取副本,希望是相容版本,然後在機器再次運行後強制重新安裝 libc,以確保正確檔案的所有正確版本都在正確的地方。
如果您一開始就沒有該文件,那麼不用擔心。
清理完這一切後,請考慮嘗試針對您的問題嘗試風險較小的解決方案,例如為您的平台揭開並安裝正確的軟體包等,而不是使用關鍵庫的符號連結。