There are many Linux distros out there, 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 back in 2002 out of a desire to try new approaches in the Linux distribution design space. Unfortunately, nearly 20 years later, judging by the popularity of the distribution, 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 CLI interface. Then you need to write the
startx command and the graphical user interface with the Awesome WM (it’s a tiling window manager) will appear.
The installation process is fairly 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. At
/System/Settings/BootScripts you will find a few files that command the entire boot procedure.
The custom Awesome WM environment shipped by default in GoboLinux. There is no graphical text editor, file manager, control center, system monitor, or anything else. You are expected to know how to manage the system via the command line.
But don’t expect to find an apt, yum, pacman, or any other package manager here. Let me tell you – there is no package manager in GoboLinux. It uses a simple yet comprehensive source-based dependency-resolving package management system.
The distro relies on a series of tools that automate various tasks, such as generation, installation and removal of software, and most importantly, maintenance of the symbolic links that keep 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 it.
Now let’s move to the file system. The GoboLinux hierarchy represents a radical departure from the filesystem hierarchy traditionally employed by most Linux distros out there. Basically, this means that there are no directories such as
/etc and so on.
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 own 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 towards people who prefer to install applications from the original 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 and so it does not comply with the FHS standard. It organizes programs in entirely different own way.
Talking about the system in general – it’s fast. However, software installation can be a real pain.
Probably the biggest issue when using GoboLinux is the availability of software. In this aspect, GoboLinux is far behind the other established distributions. There are 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.