FACTOID # 16: Only two countries in the world are doubly landlocked: Liechtenstein and Uzbekistan.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "GoboLinux" also viewed:
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > GoboLinux
GoboLinux
Website: GoboLinux.org
OS family: GNU/Linux
Source model: Free Software
Latest stable release: 013 / November 2, 2006
Kernel type: Monolithic kernel
Working state: Current

GoboLinux is an alternative Linux distribution. Its most salient feature is its reorganization of the filesystem hierarchy. Under GoboLinux, each program has its own subdirectory tree, where all of its files can be found.[1] A website (or Web site) is a collection of web pages, images, videos and other digital assets and hosted on a particular domain or subdomain on the World Wide Web. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system family. ... This article is about free software as defined by the sociopolitical free software movement; for information on software distributed without charge, see freeware. ... November 2 is the 306th day of the year (307th in leap years) in the Gregorian Calendar, with 59 days remaining. ... For the Manfred Mann album, see 2006 (album). ... A kernel connects the application software to the hardware of a computer. ... Graphical overview of a monolithic kernel A monolithic kernel defines a high-level virtual interface over the hardware, with a set of primitives or system calls to implement operating system services such as process management, concurrency, and memory management in several modules that run in supervisor mode. ... It has been suggested that Linux be merged into this article or section. ... See Filing system for this term as it is used in libraries and offices In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ... This article is about the computing term. ...

Contents

Overview

The GoboLinux hierarchy is a radical departure from the filesystem hierarchy traditionally employed by most Linux (and UNIX-like) operating systems, where specific types of files are stored together in common standard subdirectories (such as e.g. bin and man), and package managers are used to keep track of what file belongs to which program. In GoboLinux, files from different programs are separated into different respective subdirectories. While in GoboLinux types of files are also separated into subdirectories, these in turn sit inside their programs' subdirectories. The makers of GoboLinux say that "the filesystem is the package manager", and the GoboLinux package system uses the filesystem itself as a package database. This produces a more straightforward, less cluttered directory tree. GoboLinux uses symlinks and an (optional & cosmetical) kernel extension called GoboHide to achieve all this while maintaining full compatibility with the traditional Linux filesystem hierarchy. Linux (IPA pronunciation: ) is a Unix-like computer operating system family. ... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... An operating system (OS) is a computer program that manages the hardware and software resources of a computer. ... A package management system is a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer. ... A symbolic link (often symlink, especially in verb form, or soft link) is a special type of file in a Unix (or Unix-like) filesystem that allows a file entry to refer to another directory entry. ...


The GoboLinux hierarchy has additional benefits, e.g. it removes some distinctions between similar traditional directories (such as the executable locations /bin, /usr/bin, and /usr/local/bin). This results in shell scripts breaking less often than with other Linux distributions. GoboLinux also allows the user to have different versions of the same program installed concurrently (and even run them concurrently). Furthermore, the package management index can never get out of sync, as references to nonexisting files simply are broken links, and thus inactive. GoboLinux's filesystem changes have also allowed other innovations, such as an entirely new boot system that does not use System V or BSD style init systems. A shell script is a script or computer program written for the shell (command interpreter) of an operating system. ... init (short for initialization) is the program on Unix and Unix-like systems which spawns all other processes. ... init (short for initialization) is the program on Unix and Unix-like systems which spawns all other processes. ...


The GoboLinux hierarchy

The design of GoboLinux is influenced by earlier systems such as NeXT, AtheOS and BeOS, 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, Mount and Depot. The contents of each are described below. NeXT Software, Inc. ... AtheOS was a free Unix_like operating system for x86-based computers. ... BeOS is an operating system for personal computers which began development by Be Inc. ...

  • /Programs/ - This directory contains one directory for each program installed in the computer. Each program's directory, in turn, contains one or more version directories, and optionally, Settings and Variable subdirectories. Examples of paths under programs are /Programs/Bash/3.0/bin/bash and /Programs/Xorg-Server/Settings/X11/xorg.conf.
  • /Users/ - This directory contains users' home directories, so a user named "bob" would have a home directory of "/Users/bob".
  • /System/ - Crucial system files. Most are managed by system applications (for example, /System/Settings/passwd) and GoboLinux scripts (for example, /System/Links).
    • Links/ - Contains "links" directories that index the files under /Programs.
      • Environment/ - Links to environment files. These are compiled into a Cache file and loaded by the shell, allowing programs to register their own environment variables.
      • Executables/ - Contains links to files from the programs' bin and sbin directories.
      • Headers/ - This directory contains links to files from the programs' include directories.
      • Libraries/ - Links to files from the programs' lib directories.
      • Manuals/ - Contents of manuals and info directories.
      • Shared/ - Links to files from the programs' share directories.
      • Tasks/ - Links to the programs' boot tasks from their Resources/Tasks directories.
    • Settings/ - Configuration files and links to files from the programs' Settings directories.
      • BootScripts/ - Scripts used during system boot. This is a symlink to Settings/BootScripts/ under /Programs/BootScripts.
    • Variable/ - Multi-purpose log, temporary, transient and spool files.
      • tmp/ - Temporary files.
    • Kernel/ - Kernel-related directories.
      • Boot/ - Programs and configuration files used during operating system bootstrap. This is where the kernel image and bootloader configuration files are located.
      • Devices/ - Device files (managed by Udev).
      • Modules/ - Contains the various kernel modules, organized by the kernel release.
      • Objects/ - Provides a view of the kernel's device tree (introduced with the sysfs filesystem in the kernel 2.6 series).
      • Status/ - Kernel status files (managed by the proc filesystem ).
  • /Files/ - Files hold structured data that are used by programs but that are not part of the programs themselves. Those files are usually stand-alone entities, like fonts, codecs and plugins (and as such, do not require package management). Additionally, applications may define subdirectories of their own to store site-specific data — Compile, the GoboLinux package compilation front-end tool, uses it.
  • /Mount/ - mounting point for additional local or remote filesystems. Common subdirectories are CD-ROM, Floppy and Zip.
  • /Depot/ - repository for users' files. This repository is meant to be organized as the user sees fit. No subdirectories of /Depot are considered part of the standard GoboLinux hierarchy.

In computing, a symbolic link (often shortened to symlink and also known as a soft link) consists of a special type of file that serves as a reference to another file. ...

Compile

Compile, introduced in 011, downloads, unpacks, compiles and installs source tarballs with a single command (such as "Compile allegro") using simple compilation scripts known as recipes.


Parallels of comparison have been drawn between GoboLinux's Compile and Gentoo's Portage system (which is, itself, based upon the FreeBSD Ports collection), which accomplishes the above actions with scripts known as "ebuilds". However, unlike Portage (which is made for a traditional, FHS-compatible filesystem hierarchy), Compile extends the capability of GoboLinux's distinctive filesystem hierarchy into the area of package management. Packages, under Compile, are compiled by inserting them, in source form, directly into the filesystem, with separate portions of the package being installed in their own particular directories (such as libgcc being inserted into its own directory in "/Libraries/"). Thus, in GoboLinux, the filesystem is the package manager, so to speak (see "The Ideas Behind Compile"). The FreeBSD Ports Collection provides an easy and consistent way of installing software ported to FreeBSD. It uses Makefiles laid out in a directory hierarchy, so software can be installed and deinstalled with the make command. ... The Filesystem Hierarchy Standard (FHS) defines the main directories and their contents in Linux and other Unix-like computer operating systems. ...


Before Compile was released, a third-party port of Gentoo's Portage system to GoboLinux was discussed at Gentoo's official forums and then developed as a Sourceforge project under the name GoboPortage. [1] [2]


Among Compile's other features:

  • It uses the projects' own download sites: 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.
  • It uses minimalistic and declarative-oriented compilation scripts: typical "configure; make; make install" software can be scripted in two lines, greatly easing maintenance.
  • It supports GoboLinux-style dependencies: software compiled "by hand" by the user is taken into account by the detection mechanism.
  • It is path-agnostic by design: also works in a Rootless-GoboLinux installation, ie, inside a $HOME directory of any other distribution.

Differences between GoboLinux and traditional distributions

File system

In the GoboLinux hierarchy, files are grouped by their functional category in an index-like structure using symbolic links, rooted at /System/Links: all executables are accessible under /System/Links/Executables, all libraries are accessible under /System/Links/Libraries and so on. This eliminates many traditional distinctions in the Filesystem Hierarchy Standard, such as the distinction made between non-essential files stored in /usr and essential, emergency files stored directly in subdirectories of the root directory. The developers maintain that, although these distinctions were once very useful, they are no longer necessary in our radically different, modern environment. The Filesystem Hierarchy Standard (FHS) defines the main directories and their contents in Linux and other Unix-like computer operating systems. ...


Symlinks

There are symbolic links relating most of the usual Unix directories to the GoboLinux tree. Therefore, one can find directories such as /etc, /var/log and /usr/bin in the expected places. These symbolic links point to the functional equivalent under /System/Links, so that crucial pathnames such as /bin/sh and /etc/passwd are resolved correctly. These compatibility directories are concealed from view using a custom kernel modification called GoboHide — this modification, which implements support for hidden files in Linux, is used for aesthetic reasons only and is optional.


Boot system

Unlike most Linux distributions, GoboLinux uses neither a BSD nor a System V initialization procedure, using instead a procedure specific to GoboLinux. At /System/Settings/BootScripts there are a few files that command the entire boot procedure: BootUp and Shutdown run at system boot and shutdown, respectively; additionally, it is possible to define "runlevel" scripts to specify different ways the system can be initialized (for example, Single and Multi for single and multi-user, Graphical for boot into graphic mode, etc.) and control that from the boot loader menu. The /System/Settings/BootOptions file separate site-specific settings from the rest of the scripts. Application-specific tasks can be found at /System/Links/Tasks and called by the boot scripts. init (short for initialization) is the program on Unix and Unix-like systems which spawns all other processes. ... init (short for initialization) is the program on Unix and Unix-like systems which spawns all other processes. ...


Releases

Releases are numbered using the octal base system. The rationale for this numbering according to the authors is threefold: it keeps the typical leading zero present in many free software version numbers (since a leading zero is the indicator for octal numbers in the C language); it has no dots, hence there are no "point releases"; and it is a play on the "version bump" phenomenon as, when read as a decimal numbers, octal numbers will cause a deterministic bump each eight releases. The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7. ... This article is about free software as defined by the sociopolitical free software movement; for information on software distributed without charge, see freeware. ... C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...

  • 013 - November 2, 2006: introduced Listener, a tool for listening on filesystem events and assigning actions to be performed automatically
  • 012 - June 6, 2005: introduced Manager, a graphical system management tool.
  • 011 - June 7, 2004: introduced Compile, the GoboLinux package compilation tool.
  • 010 - January 7, 2004: added a graphical installer accessible through the live CD desktop environment.
  • 007 - October 22, 2003: added a per-package metadata directory called Resources.
  • 006 - May 9, 2003: introduced GoboHide, adopted sandboxed installation of programs.
  • 005 - 2003: first release published online.
  • Releases prior to 005 were used by the initial group of developers only.

November 2 is the 306th day of the year (307th in leap years) in the Gregorian Calendar, with 59 days remaining. ... For the Manfred Mann album, see 2006 (album). ... June 6 is the 157th day of the year in the Gregorian calendar (158th in leap years), with 208 days remaining // 1508 - Maximilian I, Holy Roman Emperor, is defeated in Friulia by Venetian forces; he is forced to sign a three-year truce and cede several territories to Venice 1513... 2005 (MMV) was a common year starting on Saturday of the Gregorian calendar. ... June 7 is the 158th day of the year in the Gregorian calendar (159th in leap years), with 207 days remaining. ... 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ... January 7 is the seventh day of the year in the Gregorian calendar. ... 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ... Gnoppix 0. ... October 22 is the 295th day of the year (296th in leap years) in the Gregorian Calendar, with 70 days remaining. ... 2003 (MMIII) was a common year starting on Wednesday of the Gregorian calendar. ... May 9 is the 129th day of the year in the Gregorian Calendar (130th in leap years). ... 2003 (MMIII) was a common year starting on Wednesday of the Gregorian calendar. ... Look up sandbox in Wiktionary, the free dictionary. ... 2003 (MMIII) was a common year starting on Wednesday of the Gregorian calendar. ...

Ports

As of March 2006, Gobolinux is officially made for the i686 only, and the porting to i386 is domain-specific (thus, incomplete). However, in 2003, Hisham Muhammad, the head developer of the Gobolinux project, wrote a "Quick-and-Dirty Porting Guide" for those who would wish to port the distribution to the PowerPC platform (among other architectures). He is also working on a port by himself [3]. Ports have been made to embedded architectures, such as ARM and SuperH. i686 is the name given to the similar instruction sets used by several Intel and Intel-compatible microprocessors. ... The Intel 80386 is a microprocessor which was used as the central processing unit (CPU) of many personal computers from 1986 until 1994 and later. ... IBM PowerPC 601 Microprocessor PowerPC is a RISC microprocessor architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM. Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high-performance processors as well. ... The ARM architecture (previously, the Advanced RISC Machine, and prior to that Acorn RISC Machine) is a 32-bit RISC processor architecture that is widely used in a number of embedded designs. ... The SuperHichem (or SH) is brandname of a certain microcontroller and microprocessor architecture. ...


See also

This page provides general information about each of the notable Linux distributions in the form of a categorized list. ... The many Linux distributions differ for various reasons including technical, organizational, and philosophical. ...

Notes

  1. ^ This is somewhat similar to the way well-maintained DOS systems were often organized, and also not unlike the way Mac OS X bundles applications into packages, though it could be argued that GoboLinux takes the concept further insofar as the GoboLinux system mandates this organization and extends it to some system binaries as well.

‹ The template below has been proposed for deletion. ... Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ...

References

External links

  • GoboLinux website
  • GoboLinux Wiki
  • GoboLinux at DistroWatch
  • GoboLinux review at Linux.com
  • Another GoboLinux review at Linux.com
  • Documentation of Gobolinux
  • The Unix tree rethought: an introduction to GoboLinux - by Hisham Muhammad also known as "LodeRunner" at Kuro5hin.org
  • Linux.com - GoboLinux's recipe for delicious package management, by Mayank Sharma


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.