On Mon, Dec 17, 2012 at 3:46 AM, Alan McKinnon <alan.mckin...@gmail.com> wrote:
> On Mon, 17 Dec 2012 16:02:54 +0800
> Mark David Dumlao <madum...@gmail.com> wrote:
>
>> > That was the original reason for having / and /usr separate, and it
>> > dates back to the early 70s. The other reason that stems from that
>> > time period is the size of disks we had back then - they were tiny
>> > and often a minimal / was all that could really fit on the primary
>> > system drive.
>>
>> I'm sorry, but I just can't let this one go. The reasons are
>> backwards. The limitation in free space was the original reason [1]
>> why / and /usr were separated. In fact, /usr was supposed to serve the
>> same purpose as /home - it was originally a directory for users. It's
>> only a quirk of history that served to keep most of the binaries in
>> /usr when the home directories were moved elsewhere to /home.
>>
>> Long story short, Unix, too, has its share of old farts that are
>> unwilling to embrace change at anything faster than a glacier's pace.
>> Just ask the Plan 9 folks.
>>
>> [1]
>> http://lists.busybox.net/pipermail/busybox/2010-December/074114.html
>
> Well fair enough. This stuff is becoming more myth than fact as less
> and less people are around to remember how it really went. There may
> even have been to-ing and fro-ing moving bits around till Ken and
> Dennis settled on the eventual outcome in that post.
>
> Either way, we still agree. A separate /usr is, *for the most part*, a
> tradition applied without much understanding of the reason (most
> traditions are exactly like this). Most people do not actually need
> it.
>
> Some people do need it and can clearly state why; I am not in that
> group.

Personally, that post on the busybox thread tends to infuriate me
every time I see someone reference it.

So, sure. The reason / and /usr were originally split is because their
disks on the machine they were evolving this on were insufficient for
the original layout.

Let's look at that again, reduced: They split / and /usr because
unforeseen operational requirements for a given system demanded it.

And again, reduced: They did something because unforeseen operational
requirements demanded it.

This, right there, is the reason for separate / and /usr; operational
requirements can place constraints on a system such that the initial
configuration is no longer sufficient. It's the same reason you might
have a separate /home. Or a separate /home/dad. Or a separate
/var/cache. Every now and again, taking a folder and putting it on its
own disk is the simplest, quickest and most straightforward way to
solve a problem with the resources available.

Now, why is /usr special? It's because it contains executable code the
system might require while launching. But this is _only_ a problem if
the code on /usr is required in order to mount /usr. What if /usr is
on a raw disk? No special code needed there. What if /usr is on its
own partition? No special code needed there. What if /usr is on
hardware raid? No special code needed there. What if /usr is on RAID5
with version 0.9 metadata? No special code needed there.

There are numerous circumstances where code on /usr should not be
required to mount /usr. And circumstances can and have led to a
separate /usr on numerous systems. Some people have set it up as
read-only for security purposes. Some people have mounted it over NFS.
Some people simply ran out of disk space and put it on a new disk.
And, yeah, that can still happen; I've had to pull similar stunts on
Windows in VMs (yay, junctions!) which grew larger than anticipated
due to software updates.

--
:wq

Reply via email to