Linux

阻止機器啟動的 ctl 文件

  • September 30, 2017

這是我發現自己處於一個相當荒謬的困境。在過去的某個時候,我安裝了一個軟體(ejabberd,如果你很好奇,但我認為這並不重要),那就是試圖在我啟動機器時立即啟動。很久以後,使用 Erlang/OTP(ejabberd 依賴於啟動),我找到了一種在機器上安裝 Erlang 的更好(用於開發)方法,因此我解除安裝了以前安裝的方法(通過 apt-get install )。後來,在玩一些東西時,我注意到 erl - 用於啟動 Erlang 虛擬機的二進製文件等 - 仍然位於我的 /usr/bin 中。“啊,” - 我想 - “我不需要這個愚蠢的東西,apt-get remove 沒有做好清理工作,sudo rm -rf!”……

……哎呀!

現在,當我嘗試啟動時,我看到一條很長的線:

/usr/sbin/ejabberdctl:60:執行:/usr/bin/erl:未找到

無法啟動 - 無法解除安裝。我可以中斷啟動過程並查看更改啟動選項和 BIOS 設置的選項 - 但不知道這些是否以及如何幫助我解決問題。有什麼想法嗎?非常感謝!

從其他介質啟動,例如從 U 盤啟動。假設您使用的是 Debian 或 Ubuntu,它可能與該發行版的安裝映像一起使用(您可以進入 shell),或者您可以使用SystemRescueCD之類的東西(除了名稱之外,它可以從各種媒體啟動,包括網路通過 PXE 啟動)。

啟動並進入 shell 後,安裝硬碟的系統分區。檢查你的損壞rm -rf(你沒有說你是在哪個目錄中做的)。

如果它很簡單,你可以修復它,修復它。否則,您可能需要重新安裝系統的(小或大)部分。如果您需要進行完整安裝,您可以先保存在其他地方安裝的軟體包列表(查看/var/lib/dpkg/status),這樣您就可以將系統恢復到它所處的狀態。從您的發行版的安裝映像引導可能會很方便。

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