1 |
On Mon, Dec 17, 2012 at 3:46 AM, Alan McKinnon <alan.mckinnon@×××××.com> wrote: |
2 |
> On Mon, 17 Dec 2012 16:02:54 +0800 |
3 |
> Mark David Dumlao <madumlao@×××××.com> wrote: |
4 |
> |
5 |
>> > That was the original reason for having / and /usr separate, and it |
6 |
>> > dates back to the early 70s. The other reason that stems from that |
7 |
>> > time period is the size of disks we had back then - they were tiny |
8 |
>> > and often a minimal / was all that could really fit on the primary |
9 |
>> > system drive. |
10 |
>> |
11 |
>> I'm sorry, but I just can't let this one go. The reasons are |
12 |
>> backwards. The limitation in free space was the original reason [1] |
13 |
>> why / and /usr were separated. In fact, /usr was supposed to serve the |
14 |
>> same purpose as /home - it was originally a directory for users. It's |
15 |
>> only a quirk of history that served to keep most of the binaries in |
16 |
>> /usr when the home directories were moved elsewhere to /home. |
17 |
>> |
18 |
>> Long story short, Unix, too, has its share of old farts that are |
19 |
>> unwilling to embrace change at anything faster than a glacier's pace. |
20 |
>> Just ask the Plan 9 folks. |
21 |
>> |
22 |
>> [1] |
23 |
>> http://lists.busybox.net/pipermail/busybox/2010-December/074114.html |
24 |
> |
25 |
> Well fair enough. This stuff is becoming more myth than fact as less |
26 |
> and less people are around to remember how it really went. There may |
27 |
> even have been to-ing and fro-ing moving bits around till Ken and |
28 |
> Dennis settled on the eventual outcome in that post. |
29 |
> |
30 |
> Either way, we still agree. A separate /usr is, *for the most part*, a |
31 |
> tradition applied without much understanding of the reason (most |
32 |
> traditions are exactly like this). Most people do not actually need |
33 |
> it. |
34 |
> |
35 |
> Some people do need it and can clearly state why; I am not in that |
36 |
> group. |
37 |
|
38 |
Personally, that post on the busybox thread tends to infuriate me |
39 |
every time I see someone reference it. |
40 |
|
41 |
So, sure. The reason / and /usr were originally split is because their |
42 |
disks on the machine they were evolving this on were insufficient for |
43 |
the original layout. |
44 |
|
45 |
Let's look at that again, reduced: They split / and /usr because |
46 |
unforeseen operational requirements for a given system demanded it. |
47 |
|
48 |
And again, reduced: They did something because unforeseen operational |
49 |
requirements demanded it. |
50 |
|
51 |
This, right there, is the reason for separate / and /usr; operational |
52 |
requirements can place constraints on a system such that the initial |
53 |
configuration is no longer sufficient. It's the same reason you might |
54 |
have a separate /home. Or a separate /home/dad. Or a separate |
55 |
/var/cache. Every now and again, taking a folder and putting it on its |
56 |
own disk is the simplest, quickest and most straightforward way to |
57 |
solve a problem with the resources available. |
58 |
|
59 |
Now, why is /usr special? It's because it contains executable code the |
60 |
system might require while launching. But this is _only_ a problem if |
61 |
the code on /usr is required in order to mount /usr. What if /usr is |
62 |
on a raw disk? No special code needed there. What if /usr is on its |
63 |
own partition? No special code needed there. What if /usr is on |
64 |
hardware raid? No special code needed there. What if /usr is on RAID5 |
65 |
with version 0.9 metadata? No special code needed there. |
66 |
|
67 |
There are numerous circumstances where code on /usr should not be |
68 |
required to mount /usr. And circumstances can and have led to a |
69 |
separate /usr on numerous systems. Some people have set it up as |
70 |
read-only for security purposes. Some people have mounted it over NFS. |
71 |
Some people simply ran out of disk space and put it on a new disk. |
72 |
And, yeah, that can still happen; I've had to pull similar stunts on |
73 |
Windows in VMs (yay, junctions!) which grew larger than anticipated |
74 |
due to software updates. |
75 |
|
76 |
-- |
77 |
:wq |