Linux

Linux update-rc.d 的 FreeBSD 等價物是什麼?

  • October 20, 2017

在 linux 中,我可以使用命令輕鬆添加服務或從啟動中禁用它update-rc.d

我正在嘗試創建一個可切換的服務,我不想進入 sed 手動編輯/etc/rc.conf文件並添加/編輯一行service_enable=YES/NO

有一個名為sysrc的作業的好工具,因此您可以避免手動編輯/etc/rc.conf

例子:

sysrc nginx_enable=YES
sysrc sendmail=NONE

此外,您有service命令來控制您的服務:

service nginx start
service nginx reload

沒有精確的等價物,原因有二。 update-rc.d採用了 Mewburnrc系統中沒有的“策略”機制;並且update-rc.d有各種機制,不可否認,自 2013 年以來已經失效,處理 FreeBSD 的執行級別,就像一般的 BSD 世界一樣,沒有概念。

關於多年不復存在的事物的主題:在當今的 Linux 系統上,您可能會使用systemctl而不是update-rc.d.

您用於啟用或禁用服務的方式取決於您使用的服務管理系統。

  • **Mewburn rc:**對於rc香草 FreeBSD 附帶的 Mewburn 系統,確實有sysrcM. Andersen 在另一個答案中提到的。
sysrc -v jail_enable
sysrc sshd_enable=YES
  • **OpenRC:**對於 TrueOS 附帶的 OpenRC 系統,FreeBSD 的衍生產品之一,使用以下rc-update命令啟用和禁用服務:
rc-update 添加 nginx
rc-update del ipfw
  • **nosh 服務管理:**對於nosh 服務管理,除了_enable從各種rc.conf文件中獲取設置並翻譯它們的外部配置導入機制之外,您還有一些本地啟用和禁用服務的選擇:

    • 有本機system-control命令:
    系統控制預設 gopher4d
    系統控制啟用 sshd
    系統控制禁用ntpd
    
    systemctl 預設 gopher4d
    systemctl 啟用 sshd
    systemctl 禁用 ntpd
    
    update-rc.d sshd 預設值
    更新-rc.d ntpd 刪除
    

    defaults子命令等同於system-control preset,這意味著它考慮了預設文件資訊,因此該命令更接近於rc該名稱的 van Smoorenburg 實用程序。

    • 有一個兼容性rcctl命令:
    rcctl 啟用 sshd
    rcctl 禁用 ntpd
    

    rcctl是 OpenBSD 的編輯工具/etc/rc.conf.local

所有這些都為各自的系統啟用和禁用本機服務。

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