The Unix file system hierarchy has been used for decades and remains the model for most of today’s modern Linux systems, but one distribution, GoboLinux, is making software management easier with an innovative directory structure.
Speaking at this year’s Linux.conf.au, the Linux and open source conference held in Wellington last month, GoboLinux developer Michael Homer said the standard Unix directory structure has survived for many years, but sometimes it is not optimal for contemporary computing.
“One of the first responses we get is :‘Is there a reason for the directory structure in Unix’, but the problem is a lot of those reasons are not needed anymore,” he said.
Homer, also from Wellington, has been a GoboLinux developer for four years and is beginning to communicate the benefits of having each program installed into its own separate (and versioned) directory, which also represents the package database.
An automatically-maintained tree of symbolic links keeps the program contents accessible “without a large overhead in search time” and another set of fixed links maintains compatibility with the original Unix tree.
The end result for software administrators is that any application can be installed using GoboLinux's binary packages, the Compile tool (which accesses an online database of “recipes”) or manually, giving equal results.
“The advantages are with manipulability, parallelism and unpackaged software,” Homer said.
“It is possible to do most package management tasks using the standard file system tools and that’s quite handy. For example, you can remove a program using the rm command, but we have our own tools that wrap up the commands, and they are more efficient.”
Regarding “parallelism”, it is possible to install multiple versions of the same program at once and switch between versions without any system changes.
“You can take a source package and you can build and install it with all the package management features and you can easily uninstall it later,” Homer said.
“A lot of enterprise software is shipped as a giant tar [archive] ball. You can move it later on in a clean fashion. And you can upgrade to a new version and remove the old version.”
Another advantage of this architecture, Homer said, was the ease in which a system can be rescued in the event of an error.
“With a liveCD we can rescue an entire system no matter what has gone wrong and most people will never need to do a full re-install.
“The administrator knows what is going on all the time. There is no database that gets out of date, so if you have broken a system you can always fix a situation. What is fatal to other distributions is stable here.”
Another feature is the ability to have an application in any location without using union mount.
“You can also easily install software to your home directory without root [administrator] access,” Homer said, adding non-standard directories are sometimes used at sites for custom needs.
The GoboLinux project is online at www.gobolinux.org.