On Fri, Nov 07, 2014 at 11:34:47AM +0800, ChenQi wrote: > On 11/07/2014 06:38 AM, Randy Witt wrote: > > On 11/06/2014 05:29 AM, Koen Kooi wrote: > >> > >> Op 6 nov. 2014, om 12:59 heeft ChenQi <[email protected]> het > >> volgende geschreven: > >> > >>> > >>> > >>> On 11/06/2014 06:33 PM, Koen Kooi wrote: > >>>>> Op 6 nov. 2014, om 08:59 heeft ChenQi <[email protected]> het > >>>>> volgende geschreven: > >>>>> > >>>>> On 11/06/2014 03:48 PM, Koen Kooi wrote: > >>>>>> Op 6 nov. 2014, om 08:32 heeft Chen Qi <[email protected]> > >>>>>> 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. > >> > > I agree, even in Fedora's case, both /etc/sysctl.conf and > > /etc/sysctl.d/99-sysctl.conf come from the same package, > > initscripts-9.51-2. > > > > > > Koen & Witt, > > When I started out to solve this problem, I basically came up with three > solutions. Please see details below. I chose to use solution 3 because I > think it's better than the other two. Please tell me which one you like, > or please tell me your solution. > > Solution 1: > Make 'sysctl.conf' managed by ALTERNATIVES mechanism in OE. Busybox, > procps and systemd all provide this file. And the symlink is still in > systemd. > (My opinion for this one: over engineering) > > Solution 2: > Make base-files provide sysctl.conf and /etc/sysctl.d/99-sysctl.conf (in > case of systemd). procps no longer provides sysctl.conf. > (My opinion for this one: sysctl.conf doesn't logically belong to > base-files.) > > Solution 3: > Let systemd provide a broken symlink '/etc/sysctl.d/99-sysctl.conf' and > don't change anything else. > > Which of the above three solutions do you like? Do you have any other > suggestion?
Solution 4 (suggested by Koen and supported by me): Provide the systemd symlink by the same package which provides sysctl.conf in your image. If you want to get better user experience for admins with scripts to update their /etc/sysctl.conf then submit patch to systemd upstream to process that file, so that their experience will be the same on all systemd based systems they manage. -- Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
