解決start monitmonit.service is not a native service, redirecting to systemd-sysv-install

🚀 Monit 啟動失敗?教你1 分鐘解決systemd-ssyv-install 問題!

💻 Monit 啟動失敗?提示“start monitmonit.service is not a native service, redirecting to systemd-sysv-install」?這篇手把手教你如何快速修復,讓你的 Linux 伺服器恢復如常運作! ⚡ 適用於Ubuntu、CentOS的、Debian 等系統,簡單3 步驟搞定!別再為Monit 頭痛了,快來學習吧! 🔧

root@hcp:~# sudo systemctl enable monit
sudo systemctl start monitmonit.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable monit

你的錯誤訊息:

monit.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable monit

意思是monit 不是一個原生的systemd 服務,而是基於 系統初始化(老式的init 系統)。

systemctl enable monit 時,systemd 發現 monit 沒有 真正的systemd 服務文件,於是自動調用 systemd-sysv-install 來相容舊版服務管理方式。

如何解決?

解決start monitmonit.service is not a native service, redirecting to systemd-sysv-install

你有3 種方法來修復這個問題:

方法1:手動建立systemd 服務

如果你希望 monit 可以像普通的systemd 服務那樣管理,你可以手動建立systemd 的unit 文件

  1. 建立一個systemd 服務文件

    sudo nano /etc/systemd/system/monit.service
    
  2. 填入以下內容

    [Unit]
    Description=Pro-active monitoring daemon for Unix systems
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/monit -I
    ExecReload=/usr/bin/monit reload
    Restart=always
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=monit
    
    [Install]
    WantedBy=multi-user.target
    

    解釋

    • ExecStart=/usr/bin/monit -I 讓Monit 以 init 方式運行。
    • Restart=always 讓Monit 在崩潰後自動重新啟動。
    • WantedBy=multi-user.target 讓它隨系統啟動。
  3. 保存並退出(按 Ctrl + X,然後 Y 回車)。

  4. 重新載入systemd 配置

    sudo systemctl daemon-reload
    
  5. 啟用並啟動Monit

    sudo systemctl enable monit
    sudo systemctl start monit
    
  6. 檢查Monit 運行狀態

    sudo systemctl status monit
    

方法2:使用老式指令啟用Monit

因為 monit 可能是基於SysVinit,而不是systemd,所以你可以用傳統 update-rc.d 命令:

sudo update-rc.d monit defaults
sudo update-rc.d monit enable

然後手動啟動:

sudo service monit start

檢查狀態

sudo service monit status

如果這樣能成功,那就說明 monit 依賴的是舊版的init system,而不是systemd。

方法3:直接用 monit 命令手動啟動

如果你只是想臨時運行Monit,而不考慮開機自啟,可以直接運行:

sudo monit

然後檢查:

sudo monit status

如果你不需要systemd 控制它,這樣也可以正常使用!

總結

  • 方法 1update-rc.d):適用於基於SysVinit 的Monit。
  • 方法 2(手動建立systemd 服務):適用於希望使用systemd 管理Monit 的情況。
  • 方法 3(直接運行 monit):適用於不想改systemd 配置,只是想讓Monit 運作。

你可以先試 方法 1,如果不行,就用 方法 2 建立systemd 配置。這樣就能完美解決問題了! 🚀

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《解決start monitmonit.service is not a native service, redirecting to systemd-sysv-install》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-32487.html

想解鎖更多隱藏秘技🔑,歡迎加入Telegram頻道!

喜歡就分享和按讚!您的分享與按贊,是我們持續的動力!

 

發表評論

您的郵箱地址不會被公開。 必填項已用 * 標註

回到頁首