1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-22 06:50:18 +03:00
Zbigniew Jędrzejewski-Szmek 29380daff5 shared/install: always overwrite symlinks in .wants and .requires
Before:
$ systemctl preset getty@.service
Failed to preset unit, file /etc/systemd/system/getty.target.wants/getty@tty1.service
already exists and is a symlink to ../../../../usr/lib/systemd/system/getty@.service.

After:
$ systemctl preset getty@.service
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service,
pointing to /usr/lib/systemd/system/getty@.service.

We don't really care where the symlink points to. For example, it might point
to /usr/lib or /etc, and systemd will always load the unit from /etc in
preference to /usr/lib. In fact, if we make a symlink like
/etc/systemd/system/multi-user.target.wants/b.service -> ../a.service, pid1
will still start b.service. The name of the symlink is the only thing that
matters, as far as systemd is concerned. For humans it's confusing when the
symlinks points to anything else than the actual unit file. At the very least,
the symlink is supposed to point to a file with the same name in some other
directory. Since we don't care where the symlink points, we can always replace
an existing symlink.

Another option I considered would be to simply leave an existing symlink in
place. That would work too, but replacing the symlink with the expected value
seems more intuitive.

Of course those considerations only apply to .wants and .requires. Symlinks
created with "link" and "alias" are a separate matter.

Fixes #3056.
2016-04-21 22:12:07 -04:00
2015-07-06 17:47:38 +02:00
2016-02-12 19:10:01 +01:00
2016-02-23 13:30:09 +01:00
2015-08-31 18:12:37 +02:00
2015-06-03 00:22:53 +02:00
2014-06-04 15:41:10 -04:00
2016-04-12 13:43:31 +02:00
2016-04-14 00:27:04 +00:00
2016-04-12 13:43:33 +02:00

systemd - System and Service Manager

Build Status
Coverity Scan Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Description
The systemd System and Service Manager
Readme 572 MiB
Languages
C 89.2%
Python 5.3%
Shell 4.1%
Meson 1.2%