GoboLinux Is a Linux Distro Unlike Any Other

GoboLinux is an alternative Linux distribution that redefines the entire filesystem hierarchy. Learn more about it here!

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.

GoboLinux Filesystem Hierarchy

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.

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.

GoboLinux Awesome WM

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.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%

7 Comments

    • Who knows? From the description, it’s very likely only the person who wrote the article and the developer use the thing. And I’m not sure about the latter.

  1. Great economy and purity in this structure. Maybe there’s a way to carry forward Gobo’s interesting approach and ideas to the current popular distros? It’s on to something here but devil in the details as far as merging it in with modern conveniences. It has to put productivity in front somehow…can’t do everything manually….

  2. “you don’t need a package database because the filesystem is the database.” Is the perfect description of the FreeBSD Port system. (This isn’t a new idea.)

  3. How could we set up path to bin directory , lib directory
    Setting a lot of thing in the path may not be a good idea

Leave a Reply

Your email address will not be published. Required fields are marked *