アンマスクサービスによってファイルが削除されるのはなぜですか?

アンマスクサービスによってファイルが削除されるのはなぜですか?

私は持っている

$ 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

関連情報