解决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 服务,而是基于 SysVinit(老式的 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

解锁 AI 助力,告别低效工作!🔓💼

🌟 立刻在频道置顶目录中,抢先体验这些神奇的AI神兵利器!🌟

喜欢就分享和按赞!您的分享和按赞,是我们持续的动力!

 

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to Top