[OE-core] [PATCH 1/1] systemd: make /etc/sysctl.conf have real effect

Koen Kooi koen at dominion.thruhere.net
Thu Nov 6 13:29:42 UTC 2014


Op 6 nov. 2014, om 12:59 heeft ChenQi <Qi.Chen at windriver.com> het volgende geschreven:

> 
> 
> On 11/06/2014 06:33 PM, Koen Kooi wrote:
>>> Op 6 nov. 2014, om 08:59 heeft ChenQi <Qi.Chen at windriver.com> het volgende geschreven:
>>> 
>>> On 11/06/2014 03:48 PM, Koen Kooi wrote:
>>>> Op 6 nov. 2014, om 08:32 heeft Chen Qi <Qi.Chen at windriver.com> het volgende geschreven:
>>>> 
>>>>> In systemd, /etc/sysctl.conf is actually ignored by systemd-sysctl,
>>>>> because this command only examine *.conf files under a bunch of directories
>>>>> like /etc/sysctl.d or /usr/lib/sysctl.d.
>>>>> 
>>>>> The problem is we are used to configuring kernel parameters in /etc/sysctl.conf,
>>>>> so it would be really strange if the configuration in that file doesn't have any
>>>>> effect.
>>>>> 
>>>>> This patch reference Fedora's solution to this problem, creating a symlink to
>>>>> /etc/sysctl.conf under /etc/sysctl.d/.
>>>> Shouldn't this be done in procps instead?
>>>> 
>>> Actually, the problem is not about `sysctl' command.
>>> procps provides `sysctl', but busybox also provides this command.
>>> It's very possible that on our generated image, procps is not installed but `sysctl' command is available.
>>> Both busybox's and procps's `sysctl' command takes /etc/sysctl.conf into consideration.
>> Right, but only procps installs that file.
> 
> As busybox provides `sysctl' utility, is it reasonable that it also provides a corresponding configuration file (/etc/sysctl.conf)? Should we make a patch for busybox?
> 
> 
>>> Now, systemd provides a similar utility called `systemd-sysctl' which is executed at boot time via systemd-sysctl.service.
>>> 
>>> So our actually problem is that systemd-sysctl ignores /etc/sysctl.conf, which makes it somewhat strange, especially to users who are used to configuring parameters in sysctl.conf.
>>> And this patch solves this problem by adding a symlink under /etc/sysctl.d/.
>>> 
>>> That's why I think we should put this in systemd.
>> You're adding a symlink to a file which only exists if you install procps, which isn't in RDEPENDS.
>> 
> 
> As I said before, procps is *not* necessary for the sysctl mechanism to have effect.
> (Think about systemd-based core-image-minimal image.)
> 
> Busybox provides `sysctl', systemd provides `systemd-sysctl'.
> (It's an easy program, there might exist other packages that provide it too.)
> 
> /etc/sysctl.conf is a configuration file which is very likely to be modified or created by administrators to configure kernel parameters.
> (You can't expect administrators to all start learning systemd, trying to understand the gap and differences. In addition, they may have scripts that edit /etc/sysctl.conf to automate their work.)
> 
> The point of the symlink is to ensure that when users edit /etc/sysctl.conf (or create one), configurations in that file will have effect at boot time.
> 
> Just think about this problem from a standpoint of user experience.

You still haven't convinced me that shipping a broken symlink is a good idea. I'm pretty sure it's not even allowed in out commit guidelines.


More information about the Openembedded-core mailing list