Marvin Renich writes: > * Marco d'Itri <m...@linux.it> [200310 11:23]: >> The modern and simple solution is "systemctl mask", as long as you do >> not need to care about the 0.6% of systems which do not use systemd. >> If you are doing this for your own systems then you obviously know if >> you can rely on systemd or not. > > I don't believe this is correct, though I could be wrong. I believe > policy-rc.d is sufficient for both systemd and sysvinit systems, and > that it is necessary for _packages_ that only ship an init script and > not a service file, regardless of the init system in use. > > Can you tell me, > > A) Does systemctl mask work for packages that do not have a systemd > service file when systemd is the init system?
It should work: init.d scripts just get a .service file generated that calls `ExecStart=/etc/init.d/${something} start` (and some somewhat appropriate settings). You can find the generated units in /run/systemd/generator*; see also man:systemd-sysv-generator(8). You can also change other settings for init-based services by creating a `/etc/systemd/system/${something}.service.d/local.conf` just like for native systemd services. > B) Can systemctl mask be run on a subdirectory that you are about to > chroot into, but have not yet done so? I would expect something like `systemctl --root=/chroot mask ${something}.service` to work. If it doesn't work, that's probably a bug. Ansgar