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