Jump to...
redirecting...

Log for Ubuntu 台灣社群

大佬们好,小弟有一个问题,我在主机装上22.04,两个显示器接到集显上,现在感觉刷新的很卡,请问是什么原因
你在透過 SSH 連線 Linux 系統時,不慎刪除了 /lib 目錄 (2022) (★ 103 分)

在這篇文章中,作者描述了一個令人尷尬卻可能發生的情境──當使用 SSH 連線至 Linux 系統時,不慎刪除了關鍵的 /lib 目錄。由於 /lib 資料夾包含執行動態連結程式所必須的共享庫(包含 ld-linux),此舉會導致大部分非靜態可執行檔案(例如 ls、cat 等)無法運作,進而在執行時回傳「No such file or directory」錯誤,同時也無法啟動新的 SSH 連線或 tmux 視窗。

文章提出一種預防及救援方案,首先建議在系統中安裝靜態版 busybox(Busybox:一個集成多種工具的單一二進位檔,不依賴外部共享庫),以便於在意外發生時能夠利用其內建工具(例如 wget)下載及恢復遺失的庫檔。然而,由於像 Debian 這樣的最小安裝預設僅提供動態版 busybox,若系統缺乏靜態可執行檔,則需要採取其他方法。

作者進一步說明,若無靜態 busybox 可用,可透過 bash 內建功能進行救援。一種方法是利用 bash 的內建指令下載必須的檔案,並且透過覆寫已存在的可執行檔(例如用 cp 指令建立 busybox 的複本)來恢復系統功能。若連 bash 都不可用,則可以藉由多數 shell 內建的 printf 指令,轉換八進位字面值來重構二進位檔,從而達成系統恢復的目的。

此外,文章也提供了一個更進階的解決方法,說明如何利用 C 程式建立一個極小型的 ELF(Executable and Linkable Format,Linux 執行檔格式)程式,其功能僅限於從標準輸入拷貝到標準輸出。透過 gcc(GNU Compiler Collection,GNU 編譯器集)搭配 -Os 及其他最佳化參數,將編譯出來的二進位檔縮小至不到 1KB,再利用 Python 將該檔案轉換為一系列 printf 指令,以便透過 SSH 會話直接重現該程式。部分討論中,技術高手分享了他們遇過類似狀況時的經驗,並補充建議平時應預先安裝靜態版 busybox,以及在生產環境中設置備援機制,以防止意外刪除關鍵共享庫,從而提高系統的容錯性。

👥 55 則討論、評論 💬
https://news.ycombinator.com/item?id=43444160
1. 硬件撐不住那個負載
2. 其他原因,可以看看 Linux 內核日誌的 i915 驅動相關紀錄
Hello FOSSians,

The premier Ubuntu conference of Asia "UbuCon Asia 2025" is happening in Kathmandu, Nepal.

Conference Days : 30th-31st August
Venue: St. Xavier's College, Kathmandu

Interested to know more?
https://2025.ubucon.asia/

Are you willing to speak?
Call for proposal: https://2025.ubucon.asia/cfp

Regards,
~ Aaditya Singh
想去尼泊爾的趕快投稿喔~
要先查當地食物是不是辣的
😘
大家好
都睡了吗