Introducing GoboLinux 016

An exercise in distro design

GoboLinux was created out of a desire to try new approaches in the Linux distribution design space: the innovative filesystem organization allows us to use a radically different approach in package management — effectively doing away with the package manager.

GoboLinux 016 continues this journey, with a focus on the exploration of novel ideas aiming to make the system simpler yet functional.

Runner: container-free filesystem virtualization

Runner is a brand new filesystem virtualization tool, specifically designed for GoboLinux. It dynamically changes a process' view of /System/Index based on the program's Dependencies file.

From day one, GoboLinux has always supported keeping multiple versions of a program installed on disk at the same time, but when two versions had conflicts, you had to choose which one would be activated in the system as the default.

With Runner, you don't need to worry about which version of a given dependency is currently linked (or activated) in /System/Index: Runner gives the process its own virtual /System/Index with all the right dependencies.

Avoiding conflicts without containers

Instead of using full-fledged containers (which carry an entire distro inside them!) just to avoid library conflicts when running an executable, in GoboLinux you can launch a program with Runner to make sure the filesystem view of the process will match its dependencies. Runner builds a custom mount table for the process, like container tools do, but without all the file duplication: it dynamically picks the correct parts of your /Programs tree. This approach is only feasible because in GoboLinux programs are logically organized in the filesystem.

A transparent multi-arch setup

Unlike mainstream distributions, GoboLinux doesn't need a particular "multi-arch" setup for supporting 32 and 64-bit binaries. Using Runner, we can simply give 32-bit processes their own view of the standard Unix directories so that, for example, /lib/libc.so.6 is a 32-bit library for a 32-bit process and a 64-bit library for a 64-bit process. This screenshot shows an example session.

GoboNet: daemon-free wireless network management

This release includes GoboNet, our own daemon-free network manager. Feature-heavy network managers like Wicd and NetworkManager are great at handling numerous complex scenarios, but the vast majority of the time something much simpler would do. And when the network manager does not suit your needs, it is important that it does not get in the way.

GoboNet is a simple wireless networking tool that "just works" in the common case and doesn't get in the way when you need to tweak things yourself. It does not use DBus or any daemon of its own: it only launches dhcpcd to handle DHCP, manages Wi-Fi passwords and provides a command-line API for ease of use and scripting.



An Awesome desktop

GoboLinux 016 features a minimalistic yet comfortable desktop based on the Awesome window manager. Awesome is well-known as an excellent tiling WM, but its Lua scripting capabilities makes it extremely customizable. In Gobo, we tuned it so it ships with a setup based on floating windows which should be familiar to all users, while keeping all the power features of Awesome at hand.

Custom widgets

We also developed custom Awesome widgets that integrate nicely with the no-frills philosophy of Gobo:

  • The Wi-Fi widget uses GoboNet
  • The battery widget checks the sysfs filesystem
  • Our custom audio widget launches a transient frameless terminal running an instance of AlsaMixer that can be controlled via keyboard or mouse

And just like the background of this website, the wallpaper is procedurally-generated — you get a new one on every boot. :)

Sounds interesting?

Download the disc image and give it a spin! Be sure to read the documentation and check the wiki for more information, and join the community to talk about it, get help and exchange ideas.

This release is brought to you by

Lucas Correia Villa Real
GoboLinux 016 lead,
and countless hours of debugging.
Researcher, mountain biker and
Emmy Award winner.
Hisham Muhammad
fights for the user.
GoboLinux co-founder.
Creator of htop
and lead dev of LuaRocks.

GoboLinux wouldn't be where it is today if it wasn't for all the developers that worked on it over the years and the many users who submitted package recipes.

We'd also like to thank the fine folks at gobolinux-users and #gobolinux for all their testing and feedback for the 016 pre-releases! You rock!

© 2002-2017 GoboLinux.org.
gobo AT gobolinux DOT org