
私は持っている
$ sudo systemctl unmask nmbd
Removed /etc/systemd/system/nmbd.service.
$ sudo systemctl enable nmbd
nmbd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nmbd
なぜですか? サービスをマスク解除するとファイルが削除されるのはなぜですか? サービスを有効にすると何かおかしなことが起きるのですか?
答え1
systemd のサービスは、 のオーバーライドを にリンクすることでマスクされます/etc
。/dev/null
したがって、にnmbd.service
リンクすることでマスクが行われます。 のマスク解除は、そのリンクを削除することで行われます。ネイティブ systemd サービスの場合、サービス ファイルは に残っています。/etc/systemd/system/nmbd.service
/dev/null
/lib/systemd/system/
nmbd.service
はネイティブの systemd サービスではないため、/lib/systemd/system/nmbd.service
存在しません。 に実装されている/etc/init.d/nmbd
ため、 がsystemctl
それを認識し、 に委任してsystemd-sysv-install
有効化します。 後者はディストリビューション固有のツールに委任します。例えば chkconfig
などupdate-rc.d