Apt

libc6 升級後sudo:賬戶驗證失敗,你的賬戶是否被鎖定? - 在我關閉並從 live CD 修復之前我該怎麼辦

  • January 26, 2022

我試圖安裝一些軟體包(apache mariaDB),但我的出現了問題 sudo apt install apache2 mariadb-server apt-transport-https

最後出現了錯誤

Checking init scripts...
Unpacking libc6:armhf (2.32-4+rpi1) over (2.29-2+rpi1) ...
Setting up libc6:armhf (2.32-4+rpi1) ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
dpkg: error processing package libc6:armhf (--configure):
installed libc6:armhf package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
libc6:armhf
Error: Timeout was reached
E: Sub-process /usr/bin/dpkg returned an error code (1)
You have new mail in /var/mail/pi

這似乎是一個已知的錯誤。那時(2021 年 3 月)人們在 4.4.10 左右更新到 gblic2.30 和 libcrypt,我正在更新到 libc62.32 和 libcrypt1:4.4.27,所以我不知道為什麼這個錯誤仍然存在(!)

我對這個錯誤的理解是,我需要在預期該庫的位置放置一個連結或文件,例如

ln -s /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 /lib/libcrypto.so.1

唯一的問題是我需要成為 root 才能做到這一點,sudo或者su現在是不可能的,甚至從 ssh 登錄也是不可能的!

我讀到這裡唯一的希望是創建文件或符號連結,或者從 liveCD/USB 引導機器,或者放置保存根文件系統的 SD 卡並手動編輯該部分。

我的問題是:

  • 在我關閉這個樹莓派並取出SD卡手動創建連結之前,我仍然可以使用我登錄的終端,有什麼可以嘗試的修復嗎?

我強調我不能 sudo …

如果您無法成為 ,則無法創建連結root

我認為你必須使用一個 Linux 系統,你可以在其中工作root,插入 SD 卡並創建連結。

請注意,未修改的ln -s ...命令將在您正在執行的系統的目錄中創建連結,而不是在 SD 卡上。你必須使用類似的東西

ln -s /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 /path/to/the/sd-card/lib/libcrypto.so.1

或者

cd /path/to/the/sd-card/lib && ln -s /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 libcrypto.so.1

檢查/usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1SD 卡上是否存在共享庫。否則,您可能必須找到正確的名稱和/或位置。


**注意:**此答案僅涵蓋如果您沒有 root 訪問權限,如何創建連結的問題。我不知道這是否能解決所有問題。在創建連結並啟動 Raspberry Pi 後,您可能需要修復損壞的包或不完整的包安裝。

引用自:https://unix.stackexchange.com/questions/688034