Where do I put /etc/init.d and /etc/rcX.d/ files?


I’m trying to install ScreenConnect and its looking to place files in places that dont seem to exist in openSUSE.

I’d appreciate any pointers someone could offer?

Those are all directories belonging to the SysVinit way of doing things. That is replaced by Systemd already for several years.

So you should obtain, or write, systemd equivalents for those.

IOW, those are optional directories created if and when necessary, and as hcvv implied, deprecated for systemd installations.

Ok, the vendor doesn’t have a package for that method, i presume it’s possible to hack up a workaround.
Is there guide for that anyone can recommend?

Just in case the following is of help to you…

man systemd-rc-local-generator


Using a suitable custom .service unit is likely a better option.

1 Like

thank you for that!


user@uefi:~> rpm -qf /etc/init.d
user@uefi:~> rpm -qf /etc/init.d

aaa_base is always present on every openSUSE system. Now, /etc/rc.d - I am not sure which package owned it.

Packages provided by Tumbleweed should have switched to systemd. You can still install systemd-sysvcompat package and just drop your init scripts into /etc/init.d and it probably will work … hmm, looking at /usr/lib/systemd/systemd-sysv-install, it expects /etc/rc.d/rc?.d to exist and it does not exist on Tumbleweed. So it will probably fail. The /etc/rc.d and /etc/rc.d/rc*.d were owned by insserv-compat which was dropped on 2021-02-11. Apparently, in more than two years nobody attempted to use legacy initscripts on Tumbleweed.

I would say that if legitimate case for using initscripts still exists, these directories should be owned by systemd-sysvcompat or this package should be dropped completely. As is now, this package looks non-functional anyway (without manual intervention).

1 Like