GoboLinux Is a Linux Distro Unlike Any Other

In GoboLinux you don't need a package database because the filesystem is the database.

7
GoboLinux

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 /home, /usr,/etc and so on.

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 own 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 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 /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 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.

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.

Latest from News