Linked by Kevin Adams on Fri 9th May 2003 23:04 UTC
Linux "Lately, there has been lots of discussion on the current state of Linux as a desktop system, and articles pop up here and there, occasionally with very good ideas. However, none have surprised me more than this one. It was all very hyphothetical, but had pretty radical ideas on how the author thought the Linux directory tree should be reorganized." Read more about GoboLinux, a Linux distro that uses a new style directory tree at Kuro5hin.org.
Permalink for comment
To read all comments associated with this story, please click here.
Everything in one directory is no improvement!
by Khadrin on Sat 10th May 2003 06:33 UTC

It's because the changes that should be made in favor of user-friendliness are too quickly dismissed by people who think they know what everyone should and shouldn't need/want.

But you sound like you believe you know "what everyone should and shouldn't need/want."

There is always room for improvement, no doubt. However, I think the ideas pursued in GoboLinux are a step backwards. There are many advantages to the FHS. If you haven't read it already Adam, which would seem to be the case, then I highly recommend that you read it. It is both entertaining and enlightening.

The main idea that the original article seems to find so groundbreaking is to install all of a software package under one directory, and to make links everywhere else. But many people have used this method for years under /usr/local. In fact it has one big advantage: it is very easy to uninstall packages. Uninstalling is as simple as "rm -Rf /usr/local/packagedir" plus creating a cron job to clean up dead links regularly.

Unfortunately this system is inferior in almost every way to a proper package maintenance tool. There are very real advantages to keeping /usr nfs mountable read-only, and to keeping /home and /var on seperate partitions. A decent package maintenance tool allows one to distribute the individual files which make up a software package across the filesystem in ways that preserve the useful distinctions between /etc, /usr, /home, /var, etc. A decent package maintenance tool also makes installation and uninstallation easy, and the benefits do not stop there.

Consider that with RPM, for example, it is trivial to find out which package a particular file belongs to
rpm -qf /path/to/file
or to get info on a package
rpm -qi packagename
or to list all the config files or documentation files for a particular package
rpm -qc packagename
rpm -qd packagename

IMHO, RPM is vastly superior to Install Shield, and it is vastly superior to installing software by hand in /usr/local, and it is vastly superior to the ideas of GoboLinux.

But RPM is not the only solution, and it does have its flaws. Creating an RPM can be tedious and error prone (although often it is not). I prefer to build RPMs for almost every customized package I install on my systems (although I am not religious about it on workstations), but many do not know how or do not wish to. That is why /usr/local is still necessary.

Still not convinced? No problem, use what you like. One of the great advantages of Linux, in fact, is that you can customize to your hearts content if you have the will and the patience.