Centos

如何刪除使系統無法啟動的服務?

  • February 10, 2021

我創建了一個使用 exec 啟動腳本的服務,因為它適用於新貴。在 systemd 上,它會阻止系統啟動,因為它等待我的腳本結束,但由於它是一個網路伺服器,它直到停止才會結束。我如何解決它?

更新(具體)答案

您可以通過向核心命令行添加參數來輕鬆阻止服務啟動:

systemd.mask=name.service

原始(一般)答案

正如 MariusMatutiae 提到的,您必須修改單元文件(或禁用它)。為此,您可以啟動一個不同的 Linux(為此目的安裝一個小的附加 Linux 是個好主意;您也可以從 CD/DVD 或 USB 記憶棒啟動),或者您使用啟動選項啟動這個 Linux這可以防止遇到這個問題。

來自http://freedesktop.org/wiki/Software/systemd/Debugging/

啟動救援或緊急目標

要直接啟動到救援目標添加systemd.unit=rescue.target或只是1到核心命令行。如果在啟動基本系統之後,在啟動“正常”服務期間出現問題,則此目標很有用。如果是這種情況,您應該能夠從這裡禁用不良服務。如果救援目標也不會啟動,則可能是更小的緊急目標。

要直接啟動到緊急外殼添加systemd.unit=emergency.targetemergency核心命令行。請注意,在緊急外殼中,您必須在編輯任何文件之前自行重新安裝根文件系統讀寫:

mount -o remount,rw /

如果甚至緊急目標都不起作用,您可以直接啟動到帶有init=/bin/sh.

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