GoboLinux [HMa] is a Linux distribution that breaks with
the historical Unix directory hierarchy and so it does not comply
with the FHS standard. The main idea of the alternative hierarchy
(shown in figure 4.2) is to store all files belonging
to an application in their own separate subtree; therefore there are
directories such as
. This choice
makes this project sharing some goals with PackageFS.
GoboLinux aims to provide an easier user interface to the operating
system. Its root directory holds some entries like
,
,
. All applications files are
installed in a subtree under
. Each program entry
stores, in its turn, a subdirectory for each version of the specific
software, and a link labeled
pointing to the currently
used version. Each application also has a
directory
storing the program's configuration files (which would be normally
stored into
). Notice that this directory is unique
for all versions of the program: this design choice eases the version
control, since personal configurations are preserved in the event
of an upgrade or downgrade.
This distribution groups all system files into few categories:
,
,
and
.
For each of them, there is a directory under
collecting symbolic links of the programs' files (i.e.
). The distinctive
feature of these categories is that they are system-wide, thus, for
instance, there is no more difference between
,
,
or
, since they all consist
in symbolic links to
. Users
save their data in
.
GoboLinux, like Gentoo, chooses to install packages from their source archives. Compile is the program that compiles and installs these archives. It follows compilation directives specified in simple files called Recipe. These latter have been projected to be minimalistic in order to lower maintenance complexity: the standard Recipe file is just two lines in length.
GoboLinux approach is quite interesting, because it provides a native solution for a modified view of the file system hierarchy, that is achieved without any slowdown. It consists in a new distribution and, even if diversity of possibilities may be considered positive, it represents also a waste of energy. After all, it represents a good try to achieve its goals.
GoboLinux has been presented here as a work related to PackageFS because it shares with it the purpose of giving a ``by-package'' system view. We will see in the following sections that PackageFS is a far more ambitious project.