GoboLinux is a
Linux distribution
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
whose most prominent feature is a reorganization of the traditional
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
. Rather than following the
Filesystem Hierarchy Standard
The Filesystem Hierarchy Standard (FHS) is a reference describing the conventions used for the layout of a UNIX system. It has been made popular by its use in Linux distributions, but it is used by other UNIX variants as well. It is maintained b ...
like most
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems, each program in a GoboLinux system has its own
subdirectory tree, where all of its files (including settings specific for that program) may be found. Thus, a program "Foo" has all of its specific files and libraries in
/Programs/Foo
, under the corresponding version of this program at hand. For example, the commonly known GCC compiler suite version 8.1.0, would reside under the directory
/Programs/GCC/8.1.0
.
According to the GoboLinux developers, this results in a cleaner system.
Overview
The GoboLinux hierarchy represents a radical departure from the filesystem traditionally employed by most
UNIX-like operating systems where specific types of files are stored together in common standard subdirectories (such as
/bin
for executables and
/etc
for configuration files) and where
package manager
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals wi ...
s are used to keep track of what file belongs to which program. In GoboLinux, files from each program are placed under their respective program's own dedicated subdirectory. The makers of GoboLinux have said that "the filesystem is the package manager", and the GoboLinux package system uses the filesystem itself as a package database. This is said to produce a more straightforward, less cluttered directory tree. GoboLinux uses
symlinks and an optional
kernel module
In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called ''base kernel'', of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and/o ...
called ''GoboHide'' to achieve all this while maintaining full compatibility with the traditional Linux filesystem hierarchy.
The creators of GoboLinux have stated that their design has other "modernisms", such as the removal of some distinctions between similar traditional directories (such as the locations of executables
/bin
,
/usr/bin
, and
/usr/local/bin
). GoboLinux designers have claimed that this results in
shell scripts
A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manip ...
breaking less often than with other Linux distributions. This change, introduced by GoboLinux in 2003, has only been adopted by other distributions much later:
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
merged /bin and /usr/bin in 2012;
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
enabled the /usr merge by default in 2016.
GoboLinux also allows the user to have different versions of the same program installed concurrently (and even run them concurrently). Furthermore, it has been claimed that the package management index could never become unsynchronized with the filesystem, because references to nonexistent files simply become broken links, and thus become inactive. GoboLinux's filesystem changes also allow other innovations, such as an entirely new boot system that does not use
System V
Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
or
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
style init systems.
File hierarchy
![Gobolinux-filesystem-bashdirectory](https://upload.wikimedia.org/wikipedia/commons/3/3b/Gobolinux-filesystem-bashdirectory.png)
The design of GoboLinux was influenced by earlier systems such as
NeXTSTEP
NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of proprieta ...
,
AtheOS
Syllable Desktop is a discontinued free and open-source operating system for Pentium and compatible processors. Its purpose is to create an easy-to-use desktop operating system for the home and small office user. It was forked from the stagnant ...
, and
BeOS
BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware.
BeOS was positioned as a multimedia platform that could be used by a substantial population of desktop users a ...
, all of which adopted original filesystem structures while still maintaining a considerable degree of compatibility with Unix. At the root of the GoboLinux tree, there are six directories: Programs, Users, System, Files, and Mount.
"Compile" program
''Compile'' is a program that downloads, unpacks,
compiles source code
tarballs, and installs the resulting executable code, all with a single command (such as
Compile foo
) using simple compilation scripts known as "recipes".
The Compile system is somewhat similar to Gentoo's
Portage
Portage or portaging (Canada: ; ) is the practice of carrying water craft or cargo over land, either around an obstacle in a river, or between two bodies of water. A path where items are regularly carried between bodies of water is also called a ...
system, which is based on the
FreeBSD Ports
The FreeBSD Ports collection is a package management system for the FreeBSD operating system, providing an easy and consistent way of installing software packages. As of February 2020, there are over 38,487 ports available in the collection. It has ...
collection. However, Portage is made for a traditional filesystem hierarchy, compatible with the
Filesystem Hierarchy Standard
The Filesystem Hierarchy Standard (FHS) is a reference describing the conventions used for the layout of a UNIX system. It has been made popular by its use in Linux distributions, but it is used by other UNIX variants as well. It is maintained b ...
, while Compile extends the capability of GoboLinux's distinctive filesystem hierarchy into the area of package management. Thus, in GoboLinux, the filesystem itself serves naturally as a kind of package manager database.
The Compile program was introduced in GoboLinux version 011. Before that, there were discussions about porting Gentoo's Portage system to GoboLinux and developing the port as a SourceForge.net project under the name ''GoboPortage''.
Compile's other features included:
; The use of each program's own download site
: The distribution's repository (or one of its mirrors) is only used for downloading recipes. Recipes may be downloaded on-the-fly or in batch.
; Minimalistic and declarative-oriented compilation scripts
: Typical "configure; make; make install" software may be scripted in two lines, greatly easing maintenance.
; Support of GoboLinux-style dependencies
: Software compiled "by hand" by the user is taken into account by a detection mechanism.
; Path-agnosticism
: It also works in a rootless GoboLinux installation (that is, inside a
home directory
A home directory is a file system directory on a multi-user operating system containing files for a given user of the system. The specifics of the home directory (such as its name and location) are defined by the operating system involved; for ...
of any other distribution).
Releases
Releases have been numbered using the
octal
The octal numeral system, or oct for short, is the radix, base-8 number system, and uses the Numerical digit, digits 0 to 7. This is to say that 10octal represents eight and 100octal represents sixty-four. However, English, like most languages, ...
base system. According to the authors, this scheme was chosen because it keeps the typical leading zero that is present in many
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
version numbers (since a leading zero often indicates that a number is octal), and it is a play on the "
version numbers race" that happened among Linux distributions around 1999. When read as decimal numbers, using octal numbers causes a deterministic "version bump" each eight releases. Up to version 013, GoboLinux made no "point releases", in order to avoid the implication that some releases were more stable than others. This tradition was broken with version 014.01, an update of 014 focused on
bug fix
A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patches ...
es.
Ports
GoboLinux is currently developed for
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mod ...
. It was officially made for the
i686
The P6 microarchitecture is the sixth-generation Intel x86 microarchitecture, implemented by the Pentium Pro microprocessor that was introduced in November 1995. It is frequently referred to as i686. It was succeeded by the NetBurst microarch ...
only until release 015, but at one point an incomplete port to the
i386
The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistors[ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...]
and
SuperH
SuperH (or SH) is a 32-bit reduced instruction set computing (RISC) instruction set architecture (ISA) developed by Hitachi and currently produced by Renesas. It is implemented by microcontrollers and microprocessors for embedded systems.
At t ...
; these tasks were achieved with Bootstrap, a tool developed especially to automate making ports.
Reception
LWN.net
LWN.net is a computing webzine with an emphasis on free software and software for Linux and other Unix-like operating systems. It consists of a weekly issue, separate stories which are published most days, and threaded discussion attached to ...
reviewed GoboLinux 010 in 2004:
Linux.com wrote review about GoboLinux 013:
Jesse Smith from DistroWatch Weekly reviewed GoboLinux 015:
Smith also reviewed GoboLinux 016.
Name and logo
''Gobo'' is a fictional character.
Not much is known about him, because those who saw him never survived to tell information about him.
He also has a fictional loyal servant named ''Fibo''. GoboLinux's mascot ''Que'' is a
penguin
Penguins (order (biology), order List of Sphenisciformes by population, Sphenisciformes , family (biology), family Spheniscidae ) are a group of Water bird, aquatic flightless birds. They live almost exclusively in the Southern Hemisphere: on ...
wearing Fibo's
clothes
Clothing (also known as clothes, apparel, and attire) are items worn on the human body, body. Typically, clothing is made of fabrics or textiles, but over time it has included garments made from animal skin and other thin sheets of materials ...
.
References
External links
*
*
*
{{DEFAULTSORT:Gobolinux
Linux distributions without systemd
Source-based Linux distributions
Linux distributions
Independent Linux distributions