
У меня есть
$ 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
и т. д.