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