Summary: | systemd does not follow symlinks that point outside of /etc/systemd/system or /usr/lib/systemd/system | ||
---|---|---|---|
Product: | systemd | Reporter: | Ryne McCall <rnmccall> |
Component: | general | Assignee: | systemd-bugs |
Status: | RESOLVED FIXED | QA Contact: | systemd-bugs |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Ryne McCall
2012-09-05 14:14:40 UTC
Same here with Mageia 3 (Cauldron), systemd 195. Having an ability to follow symlinks that point outside unit dir may be very helpful sometimes. I'm now packaging Zabbix 2.0 for inclusion into Mageia release. Zabbix's database backend can't be selected in runtime, so you have to compile 3 versions (MySQL, PostgreSQL and SQLite3) and choose between them. I've decided to use alternatives mechanism to switch between server executables and corresponding systemd units (units are different because of dependencies on different database services). In Fedora, all the unit files are put into /usr/lib/systemd/system directory, thus exposing 4 services (main symlink and 3 actual units). I've decided not to pollute the directory and to put unit files, say, in /usr/share/zabbix/systemd. But systemd is not able to load such a unit because it tries to open unit file with O_NOFOLLOW. So, current systemd versions will actually follow symlinks in "systemctl enable", but only if they are located in /usr, but not when located in /etc. This is because "systemctl enable" is about creating and removing symlinks in /etc, and we really won't want bsae our decisions what symlinks to create or remove on the symlinks that were created before. Closing as fixed hence. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.