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 /home
, /usr
,/etc
.
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 /Programs
directory.
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 /System/Index
.
For more information about GoboLinux, you can refer to its website or visit the project’s documentation page.
Conclusion
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.