Почему служба размаскировки удаляет файл?

Почему служба размаскировки удаляет файл?

У меня есть

$ 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выполняется путем привязки /etc/systemd/system/nmbd.serviceк /dev/null. Размаскировка выполняется путем удаления этой ссылки. Файл службы все еще там, /lib/systemd/system/для собственных служб systemd.

nmbd.serviceне является собственной службой systemd, поэтому /lib/systemd/system/nmbd.serviceне существует. Он реализован в /etc/init.d/nmbd, поэтому systemctlвидит это и делегирует , чтобы systemd-sysv-installвключить его. Последний делегирует специфичному для дистрибутива инструменту,например chkconfig, update-rc.dи т. д.

Связанный контент