On Sat, Oct 15, 2011 at 2:53 AM, Neil Bothwick <n...@digimed.co.uk> wrote:
> On Sat, 15 Oct 2011 00:34:10 -0700, Canek Peláez Valdés wrote:
>
>> /var != /var/run
>> /var != /var/lock
>>
>> /var/run is going in /run, but /var/run (by definition) only contains
>> things like PID files and runtime sockets. In the same vein, /var/lock
>> also is going into /run/lock. I have acknowledged this from the very
>> beginning, and I have been pointing out that implying that because
>> those two (really small and bounded) directories of /var are going
>> into /run and /run/lock,
>
> Putting the contents of /var/run and /var/lock on the root filesystem
> makes sense.
>
>> Nobody has even proposed that /var should go into the same partition
>> as /. *Nobody*, and the simplest proof of that is that nobody has
>> produced a single proof to the contrary. Not a single email, blog
>> post, or wiki entry from any system developer even mentions the
>> possibility of requiring /var to be in the same partition as /.
>
> The stated reason for requiring /usr on / is that udev can run
> *arbitrary* scripts and commands. If they are arbitrary, they could
> require access to anywhere, including /var or /home. That's the problem
> with this approach. Instead of saying "it can run stuff from anywhere, so
> anywhere must be mounted before udev is run" the fact that it is trying
> to run these arbitrary commands before filesystems are mounted should be
> addressed.

With an initramfs you can have everything mounted by udev execution
time. But forget about that.

It's arbitrary (basically) on executables and libraries. If an script
needs something more (from /var, lets say), then the rule should be
written in such a way that it can be called after that directory is
mounted. If you try to put the same restriction with *executables*
(not data, like in the ALSA case), then you need to start moving every
executable to /, because that's the only way to guarantee that it
would be available aearly on boot time (if you don't use an initramfs
and have /usr separated).

That sucks. /bin and /lib were the original hack, for this very
reason: some executables were needed early at boot time, and they put
them there so they were available. The initramfs solves this problem;
at some point, /bin /lib and /sbin will no longer be necessary.

So yeah, the udev rules can execute arbitrary code, but the should not
run stupid code. There is a difference.

>> Whoever says that /var will be required to be on the same partition as
>> / is either wildly speculating, or spreading FUD.
>
> It's not wild speculation, it is logical extrapolation of the current
> approach.

You don't have enough data to extrapolate.

>> It basically removes the need for a "pesky init* thingy", although for
>> the life of me I cannot understand why someone will not see the
>> technical advantages of actually using an initramfs.
>
> We understand its advantages in some circumstances, but  I cannot
> understand why someone will not see the technical disadvantages of
> actually using an initramfs.

Care to explain?

Regards.
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México

Reply via email to