如何修復“SystemCTL 未找到”錯誤

當您執行使用 Linux 作業系統的 Linux 系統時,通常會發生「systemctl 命令未找到」錯誤。 另一個配置系統 例如 runit、SystemV 等。 SystemV 配置系統通常用於較舊的 Linux 發行版,尤其是在 Ubuntu 15.04 之前的版本。然而,一些現代 Linux 發行版使用非 systemd 設定係統,例如 Artix Linux,它是基於 Arch Linux,但使用 runit、dinit 等其他設定係統而不是 systemd。

什麼是初始化系統?

初始化系統是系統核心啟動後運行的第一個進程。 Linux 核心系統有多種,但最常用的是 systemd,它被許多主流 Linux 發行版所採用。 systemd 是一組後台程序(守護程序)和庫的集合,用於控制所有其他後台程序和庫,例如啟動、停止、啟用或停用後台程序。 Linux 中的守護程式相當於 Windows 中的服務,它們在背景運行。

如何修正Linux發行版中的「systemctl指令未找到」錯誤:

要解決此錯誤,您有兩個選項。

  • 安裝 systemd 並將您目前的設定係統替換為 systemd。 出現「systemctl 指令未找到」錯誤是因為您的系統上未安裝 systemd。
  • 使用 Linux 發行版自帶的設定係統來管理各種背景進程/服務。 此解決方案適用於未安裝 systemd 但不想在電腦上安裝 systemd 的用戶,或適用於其發行版儲存庫中沒有 systemd 的用戶。

1. 安裝 systemd(如果尚未安裝):

如果您使用的是基於 Debian/Ubuntu 的作業系統,您可以輸入命令來檢查 systemd 是否已安裝。

如果您使用的是基於 Ubuntu 或 Debian 的作業系統,請鍵入此命令並按 Enter 鍵。

sudo dpkg -l | grep systemd。

對於 Arch Linux 發行版,請使用以下命令:

pacman -Qs systemd

如果結果顯示一些文本,則表示您的系統上已安裝 systemd,但 systemd 可能已損壞。

那你需要重新安裝 systemd,systemctl 指令才能正常運作。

為此,請寫下以下內容: 事情已經到了終點站。 並按 Enter。

sudo apt-get install --reinstall systemd。

這將使用 Debian/Ubuntu 發行版使用的 apt 套件管理器重新安裝 systemd。

對於 Arch Linux 發行版或其衍生版本,請使用下列命令:

sudo pacman -S systemd

如果命令沒有回傳任何結果 sudo dpkg -l | grep systemd 以上內容意味著: 您的發行版中未安裝 systemd。

在這種情況下,你可以選擇 使用你的發行版自備的設定係統。 أو 安裝 systemd.

若要在 Debian/Ubuntu 發行版上安裝 systemd,請在終端機中輸入以下命令並按 Enter 鍵:

sudo apt-get install systemd

對於 Arch Linux 發行版,請鍵入 以 root 使用者身分執行 pacman -S systemd 或使用 sudo.
這將在您的作業系統上安裝 systemd。現在您應該可以正常使用 systemctl 指令了。

2. 使用發行版的初始化系統:

另一種解決方案,也是解決此錯誤的最佳方案,是: 使用您擁有的初始化系統。 Linux 發行版 你的 用於管理後端服務/操作(守護程式)。
要找出你的電腦使用的是哪一種初始化系統,你可以在終端機中輸入這個指令並按下回車鍵。

ls -l /sbin/init

/sbin/init 是一個符號連結。 適用於您的 Linux 發行版所使用的初始化系統。如果您看到指向以下位置的符號連結: /sbin/init 指向 /lib/sysvinit/init這意味著您的分銷系統使用了一種系統 sysv 初始化您需要使用命令 服務 代替 systemctl 用於管理後端服務或進程(守護程式)。
用於管理服務的 sysv init 系統公式也非常簡單:

服務 [服務名稱] [操作]

因此,您可以輸入 `service [服務名稱] start` 來啟動服務。
例子:
如果你想 啟動後台藍牙服務/進程您可以輸入以下命令:

sudo service bluetooth start

然後,為了檢查它是否運作正常且沒有任何錯誤,您可以輸入以下命令:

sudo service bluetooth status

如果要重新啟動或停止某項服務,可以使用對應的指令。 重啟服務 [服務名稱] 和 ”停止服務 [服務名稱] 直的。
例如,如果您希望 關閉藍牙服務你可以這樣寫:

sudo service bluetooth stop

您的初始化系統可能有問題 系統實際上,它採用的是不同的配置系統。因此,你只需要簡單地在谷歌上搜尋符號連結的輸出結果。 /sbin/init之後,您就可以使用套用於裝置初始化系統的命令了。
許多初始化系統(init系統)通常包含與以下相同的命令: 啟動、停止和重啟然而,運行它們的命令有所不同,因為它們包含 sysvinit 在服務指令上 若要啟動或停止服務,systemd 包含 systemctl 指令 所以。
如果以上方法對您無效,請繼續閱讀本文,因為下面提到的方法可能有效。

如何修復“systemd-resolve 指令未找到”錯誤?

與「systemctl status 指令未找到」錯誤相關的另一個錯誤是 “systemd-resolve 指令未執行”錯誤 發現使用者可能會誤以為 `systemd` 沒有安裝,所以 `systemd-resolve` 指令才無法運作。然而,在 `systemd` 239 及更高版本中,該命令已更改。 系統解析 إ resolvectl.

因此,你可以使用 “resolvectl” 在您的 Linux 發行版中與 systemd-resolve 工具互動。

評論被關閉。