Introduction:
I discovered GoboLinux through an article that talked about its unique file system. Rarely do I run across a distribution that does something completely original, so naturally I was intrigued.
GoboLinux does not use the traditional directory structure common to all other Linux distributions. The maintainers argue that this is actually a good thing, since many of the conventions that keep the old structure were created because of ancient limitations that no longer exist.
Rather than installing a program in /usr/bin and all its libraries in /usr/lib for instance, GoboLinux stores an entire program along with all its configuration files and required libraries in one directory: Programs.
Each program has its own subdirectory in Programs, which makes installing multiple versions of a piece of software possible. This also makes uninstalling a program that was compiled locally as simple as an rm command.
For a more detailed explanation, I recommend going directly to the source. There's a lot to explain, like just how on Earth this whole system is able to function.
Install:
From the first boot screen (which looked like an Atari) to the first install menu, I knew I was looking at something different.
The install process was pretty straightforward. I had to do my own partitioning, and found out the first time I ran it that the installer only needs one partition. It sets up a file rather than a full swap partition.
I chose the "Typical" install from the package selection screen. I was given several choices on a boot theme. The first time I installed I used the default. On subsequent installs I chose Apple II. That gave me a chuckle.
After the unique and colorful installer I was a little disappointed by a strangely out-of-place login screen and a pretty basic KDE desktop.
Apparently the mascot for GoboLinux is penguin in a hoodie. He bears a striking resemblance to a murderous cave-dweller in Final Fantasy, the Tonberry. Not exactly a positive association.
The first thing I noticed (on both my VM and Rig 2) was the complete lack of any kind of graphical network configuration tool. This was a problem because although most distributions configured my VM as regular ethernet (which works), GoboLinux seemed to have trouble.
I took a look at their wiki which pointed me to a series of scripts in the /System/Settings/ directory. I noticed something disturbing: I was able to mess with these scripts without the use of root credentials.
I played around with different boot themes using the "TestBootTheme" script. Some were surprisingly fun. I then proceeded to edit my /System/Settings/NetworkOptions script.
I uncommented a setting for DHCP and restarted. No dice. I tried using ifdown/ifup to cycle the device. The commands were not found as either a regular user or root.
I looked at the wiki and tried their "StartTask network eth0" command. It told me it could not assign the requested address... which is interesting because I didn't see anywhere in my NetworkOptions script where I'd requested one.
I edited the NetworkOptions file once again and realized I still had it set to "STATIC" rather than "DHCP." I saved, re-ran StartTask and it worked. In case anyone else has this difficulty, these are the settings I used.
Neither MP3 nor WMV playback was included, which I found kind of strange considering MPlayer was installed.
Ndiswrapper was not included on the CD as far as I could tell, but was available as a binary on the GoboLinux repositories (not that it really helps when you can't get to the repositories in the first place).
Software Selection:
Firefox and OpenOffice were installed, but no GIMP or Pidgin. Audacious and MPlayer were installed as well. The rest was boilerplate KDE software. GCC was installed, but no Java.
GoboLinux tries to make compiling from source as convenient as possible, but they also have some ready-made binaries available for common programs. These installations are handled by the appropriately named InstallPackage utility.
I played with it a bit. My first conquest was getting GIMP, which conveniently is the example on the wiki. I tried the apt-get way with "InstallPackage gimp." (Note that there is a graphical front-end for this, but it's not the most intuitive thing to use.)
Just to see what it would do, I ran the install script as my regular user. After all, the system lets me edit configuration files, why not install things? Apparently not. It asked me if I wanted to set up a rootless environment. I said no.
I really think permissions should be one way or the other. Either let the user do everything and throw caution to the wind, or don't let them do anything on the system level without permission.
I ran the InstallPackage line as root, and it showed me a very apt-like command-line interface. The next thing that happened surprised me. I was told GIMP was already installed. Confused, I launched it from a terminal. Lo and behold, it was there, just not in the Applications menus. Odd. I tried Pidgin as well, but no such luck.
"InstallPackage pidgin" tried to install Pidgin and all its dependencies. I should note that this did not take an insignificant amount of time. I was asked every step of the way whether I wanted to install this version or that version of a dependency.
I picked "Install All" and "Use New" every time. About 10 minutes and 15 dependencies later I was getting tired and suspicious. It wanted to install quite a few more things than I expected, including Samba, a new version of CUPS, and several Gnome libraries. I gave up and canceled the operation. "RemoveProgram pidgin 2.1.1" cleaned up the directory in /Programs/.
I then decided to play around with the GoboLinux source-compiling system, Compile. It runs compilation scripts called "recipes" to compile programs locally, sort of like Gentoo's portage, except not as automated.
I tried installing Nethack, since I figured it would have very few dependencies. "Compile nethack" started out similarly to the binary installer, but quickly moved on to an actual makefile. This time things went off without a hitch.
Conclusion:
GoboLinux is most definitely not designed for new users, and even seasoned Linux veterans will need to read the friendly manual now and again due to the unique ways the system differs from other distributions.
I had fun playing around with GoboLinux. The changes they've made to the traditional layout of Linux are refreshing, but I'm not sure how well the idea will catch on. I won't be using it as a main system any time soon, but it's certainly fun to tinker with.
GoboLinux 0.14.1
description: |
Ambitious Little Tonberry |
CDs: |
1 |
estimated install time: |
20 mins |
rating: |
![]() |
date ranted: |
08/21/2008 |
New to the site? Please read this.
