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

ChenQi Qi.Chen at windriver.com
Thu Nov 6 11:59:23 UTC 2014



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.

Best Regards,
Chen Qi



More information about the Openembedded-core mailing list