Systemd
systemd 的執行級別模式
假設我通過“目標”設置了兩個不同的“執行級別”
systemd
——before.target
(啟用了最小引導服務集)和after.target
(執行所有內容)。現在,當我想從“之前”切換到“之後”時,我會這樣做:
# Set default to after.target. /usr/bin/systemctl set-default after.target 1>/dev/null # Before reboot make sure essential services are enabled /usr/bin/systemctl enable foo bar baz buz 1>/dev/null # Reboot reboot
安裝時如何獲取
foo.service
,bar.service
,baz.service
和buz.service
added toafter.target
?如果我想配置在啟用
boz
時執行after.target
,有沒有辦法在不修改/usr/lib/systemd/system/after.target
文件的情況下做到這一點?在具有 chkconfig 的舊系統中,我只會在執行級別 4 上啟用引導服務,然後在執行級別 3 上啟用所有其他服務,但我無法確定如何在此處執行此操作,並且不想在其中進行硬
Wanted-By: after.target
編碼我所有的服務文件。
這是 systemctl 手冊頁中的建議:
systemctl add-wants after.target foo.service
手冊頁指出:
add-wants TARGET UNIT..., add-requires TARGET UNIT... Adds "Wants=" or "Requires=" dependencies, respectively, to the specified TARGET for one or more units. This command honors --system, --user, --runtime and --global in a way similar to enable.