[systemd-devel] Hard-coded /bin/mount in systemd

Kay Sievers kay at vrfy.org
Wed Nov 27 07:41:27 PST 2013


On Wed, Nov 27, 2013 at 3:12 PM, Hannes Reinecke <hare at suse.de> wrote:
> On 11/27/2013 02:58 PM, Mantas Mikulėnas wrote:
>> On Wed, Nov 27, 2013 at 3:31 PM, Hannes Reinecke <hare at suse.de> wrote:
>>> for some reason systemd has /bin/mount hardcoded in
>>> src/core/mount.c:mount_enter_mounting()
>>>
>>> Which is a bit odd, seeing that everyting moved to /usr/bin.
>>> So we always have to do a symlink here, which really is a bit annoying.
>>>
>>> Is this by design or a simple left-over?
>>
>> If *everything* moved to /usr/bin, then /bin itself has to be a
>> symlink anyway (as many tools expect and some standards require
>> specific commands to be in /bin).
>>
> Ah. IIRC it was _systemd_ which initiated the move to /usr, so I
> found it slightly odd to rely on a location which it has just
> obsoleted ...

It's not obsoleted, it's still part of the legacy API, which will not
go away anytime soon. In a proper system with only one /usr, the
location does not matter, everything works the same.

> Or, rather, to have a hard-coded location to start with.

We support exactly two configurations:
the (conceptually pointless and confusing) legacy split-/user with
/bin/mount, and the one proper single /usr, where /bin must be a
symlink to /usr/bin.

Nothing else is interesting to support, matters or makes sense in any
way. In both supported configurations /bin/mount works just fine.

In the very long run, we will get rid of the split-/usr support and at
that point just hard-code things like /usr/bin/mount; there is no need
really for a configuration switch here.

Kay


More information about the systemd-devel mailing list