Rhel

ldconfig –> sudo: 你在 passwd 數據庫中不存在

  • March 31, 2022

好的,我犯了一個錯誤,我正在努力修復它:

我正在尋找一個libGL.so連結項目,並在建構期間安裝的(與柯南相關的)包中找到它。預設系統/usr/lib64/libGL.so.1似乎沒有被選中(不同的版本/依賴項?)

所以我轉而ld.so.config添加包含 的文件夾libGL.so,就在另一行下面:

include /etc/ld.so.config.d/*
/hfs/xyz/conan-package-123/../usr/lib64/   # the line I added

然後我跑了

sudo ldconfig

然後受到一系列形式錯誤的歡迎

"ldconfig: /hfs/xyz/conan-package-123/../usr/lib64/libGL.so is not a symbolic link"

連結仍然不起作用,但更糟糕的是,我似乎失去了 sudo 權限,並且不能再 runsudo ldconfigsu ldconfigedit/write /etc/ld.so.config。我還嘗試使用我的主目錄中的本地版本來使用ldconfig標誌-f和記憶體文件-C,我似乎沒有恢復我的權限。

作為記錄,我的/etc/passwd文件是-rw-r--r-- root root並且/etcdrwxr-xr-x root root,並且pwck

wck: Permission denied.
pwck: cannot lock /etc/passwd; try again later.

我應該為此重新啟動一些服務嗎?否則這將是一個真正的問題 22. 我能做什麼?

我的 VNC 超時後,問題變得更糟,因為 VNC 連接會放棄連接。我被鎖了!

顯然,整個身份驗證過程突然變得無聊。我的理由是 sulogin-shell 正在從 ld.so.cache 中獲取帶有 libc 版本的連結程式碼,這會與已載入的其他版本發生衝突。在啟動過程的早期階段,它會抱怨 sulogin 版本衝突並且無法載入加密 cgp 模組。

唯一的選擇是到物理機現場並嘗試查看發生了什麼。經過一番探勘,我找到瞭如何侵入我的 RHEL8 系統。

  • 重啟並按shift進入GRUB
  • 選擇引導配置文件並按“e”進行編輯(其他救援選項不起作用)
  • init=/bin/bash在載入核心的行的末尾添加,這會給你一個root提示
  • 顯然你也可以放在rw前面(我後來才知道)
  • 按“ctrl-x”啟動該更改
  • 這會讓你進入某種帶有提示的假根模式
  • mount /proc
  • mount -o rw,remount /將條目重新掛載/etc/fstab為讀/寫
  • 現在您可以再次更改文件和文件夾!我(重新)移動了錯誤/etc/ld.so.cache並重寫了/etc/ld.so.conf文件,但沒有包含有問題的路徑。然後我去尋找/usr/sbin/ldconfig並重建記憶體。
  • sync確保所有更改都寫入磁碟
  • umount
  • 冷重啟,瞧,登錄提示重新出現正常。

之後,sudo 也再次正常工作。

對我來說是的,我的 Linux 業力剛剛上升。

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