There are many Linux distros, but GoboLinux is a different kind of beast. It is an alternative Linux distribution that redefines the entire filesystem hierarchy.
GoboLinux is a Linux distribution that is built from scratch. It was created in 2002 out of a desire to try new approaches in the Linux distribution design space.
Unfortunately, nearly 20 years later, judging by the distribution’s popularity, we can conclude that the experiment was not successful.
Let’s start with the installation process. When you boot up the downloaded ISO file, you will see the CLI interface. Then you need to write the
startx command, and the graphical user interface with the Awesome WM (a tiling window manager) will appear.
The installation process is pretty straightforward but not for beginners in the Linux world.
GoboLinux was designed focusing the experienced user who doesn’t like things to be automagical. Our scripts merely automate procedures, but they don’t “make decisions,” and whenever they have to, they ask first.
GoboLinux does not use systemd nor a System V initialization procedure. Instead, it has its own. You will find a few files at
/System/Settings/BootScripts that command the entire boot procedure.
The custom Awesome WM environment is shipped by default in GoboLinux. There is no graphical text editor, file manager, control center, system monitor, etc. Instead, you are expected to know how to manage the system via the command line.
But don’t expect to find an APT, DNF, Pacman, or any other package manager here. Let me tell you – there is no package manager in GoboLinux. Instead, it uses a comprehensive yet straightforward source-based dependency-resolving package management system.
The distro relies on a series of tools that automate various tasks, such as generation, installation, and software removal. But, most importantly, maintenance of the symbolic links keeps the system consistent.
For example, GoboLinux uses a tool called
Compile for installing software. Compile downloads source tarballs, unpacks, compiles, and installs software, using simple compilation scripts called “recipes.” A recipe is a small file that tells
Compile about the location of the source code on the Internet to download.
Now let’s move to the file system. The GoboLinux hierarchy represents a radical departure from the filesystem hierarchy that most Linux distros traditionally employ. This means that there are no directories such as
In GoboLinux, all files for a program, including executables, headers, and libraries, are installed below a single directory that belongs to that program. The main idea of the alternative hierarchy is to store all files belonging to an application in its separate subtree under the
In other words, you don’t need a package database because the filesystem is the database. I guess the idea behind this decision is GoboLinux to be geared toward people who prefer to install applications from the source packages.
Removing the program from the system is simple as
rm -rf /Programs/app_name. But since this leaves behind dangling symlinks, GoboLinux offers the
RemoveProgram utility, which removes the program and all links pointing to its files in
GoboLinux introduces a lot of new ideas into the Linux world. It breaks with the historical Unix directory hierarchy, so it does not comply with the FHS standard. It organizes programs in an entirely different own way.
Talking about the system in general – it’s fast. However, software installation can be a real pain.
Probably the most significant issue when using GoboLinux is the availability of software. In this aspect, GoboLinux is far behind the other established distributions.
There is a lot of software which do not have a recipe in the database of the
Compile tool. Which means you have to download and install it yourself.
In conclusion – Did I have fun while testing GoboLinux? Definitely, yes! Would I use it in my daily practice? I’d rather not.