我正在我的系統中安裝一些第三方 rpm,其中一個 rpm 打包了一個 systemd 服務文件,以及一個用於啟用該服務的預設文件。我想讓該服務保持禁用和屏蔽狀態。
對於停用,systemd 提供預設框架我可以寫一個更高優先順序的預設檔。
但如何屏蔽該服務呢?是否有一個我可以安裝的設定文件,類似於預設文件?或者我必須添加一個 cron 作業在節點重新啟動時運行以屏蔽服務?
答案1
systemctl 實際上會告訴您在屏蔽服務時如何執行此操作:
# systemctl mask foo
Created symlink /etc/systemd/system/foo.service → /dev/null.
「屏蔽」服務的機制類似壓倒性的一項服務,其中 中的單元配置/etc
將優先於 中的單元配置/usr/lib
。 (這是 systemd 中的常見模式,其中 /etc 中的本機管理員設定優先於 /usr/lib 中的分發設定。)
/dev/null
使用符號連結(或使用空常規文件,但首選符號連結)覆蓋的服務將被 systemd 視為「屏蔽」。