Filesystem - hiding system folders?

Alan McKinnon alan at linuxholdings.co.za
Tue Mar 28 12:53:12 BST 2006


On Tuesday 28 March 2006 12:14, Chanchao wrote:
> Hi,
>
> [Warning] Stupid question alert: If you're an accomplished Linux
> guru, chances are that the following will make your toes curl into
> cramped blobs.[/warning]

It is, and they did :-)

> Would there be any merit in hiding (or moving) all the system
> folders that are currently present in the root folder?   I notice
> that on Windows it's rather straightforward these days; user files
> & settings (home) are in 'Documents and Settings', applications are
> in 'Program Files', and anything else is in 'Windows' and that's
> pretty much it.

There is absolutely no merit in this, and trying to do it is silly. 
Here goes:

There's good reasons for /bin, /sbin, /usr/bin, /usr/sbin and they 
won't be collapsed any time soon. You might get away with collapsing 
bin and sbin (it's only there to be able to give root a different 
$PATH) but /opt, /usr and the rest need to be there in the current 
form.

System directories either exist or don't exist, and they have 
pre-defined names. Trust me, this is a very very very good thing. All 
Linux programs assume that /etc/ exists, therefore they can do a 
simple file read operation to get to their config files. You could 
hide /etc from the casual user by calling it /.etc but that would 
break every program in existence, so it ain't gonna happen. There is 
no "hidden" attribute in the file systems we use either.

To be able to hide directories and still have an OS that works, you 
would have to introduce a level of indirection in the code for 
programs to still be able to get at data - a program would issue a 
system call, the system would translate it to reading a file and hand 
back the data. Why would anyone do this? There's no benefit to it. It 
has already been done on one OS and it's called the registry. This 
one "innovation" is single-handedly responsible for the need to 
re-install that OS on a bi-annual basis. We aren't going to go that 
route.

So to hide or move system directories, we have to change their names. 
This breaks FHS (Filesystem Hierarchy Standard) - it isn't gonna 
happen.

The most compelling reason is the POV *nix developers have of their 
users: Our user are intelligent people who know what they are doing, 
are not complete idiots and don't need their hands held. We do not 
need to protect our users from themselves. Windows OTOH has this 
view: You are an idiot. You can't possibly understand anything about 
the machine in front of you so we will hide it all from you. This 
makes it very hard to do anything other than click buttons but we 
don't care - you can't be trusted. And if that cripples your ability 
to work, we don't care.

There are other ways to accomplish what you want - like restricting 
users to their home directories. Meanwhile, 10 minutes of user 
education nicely solves the entire problem as to what all these 
directories are for.

-- 
Alan McKinnon
alan at linuxholdings dot co dot za
+27 82, double three seven, one nine three five



More information about the sounder mailing list