Please take a moment to read this personal appeal for donations from Wikipedia founder Jimmy Wales.

Gentoo Linux

From Wikipedia, the free encyclopedia.

Jump to: navigation, search
Gentoo Linux
Gentoo stylized "g" logo

Company/
developer:
Gentoo community
OS family: Linux
Source model: Open source
Latest stable release: 2005.1-r1 / November 21, 2005
Kernel type: Monolithic kernel
Default user interface: {{{ui}}}
License: GPL
Licence: {{{licence}}}
Working state: Current
Website: www.gentoo.org
For other uses, see Gentoo (disambiguation).

Gentoo Linux is a Linux distribution named after the Gentoo Penguin. It is designed to be modular, portable, easy to maintain, and optimized for the user's machine. This is accomplished by building all tools and utilities from source code, although, for convenience, several large software packages are also available as precompiled binaries for various architectures. Gentoo achieves all this via the Portage system. Gentoo is also appreciated for its discussion forums and the large knowledge base they represent.

Contents

History

Founder Daniel Robbins recalls the birth of the Gentoo Linux distribution in a three-part article series, Making the Distribution

On April 26, 2004 Robbins stepped down as Chief Architect of the project, [1], and Robbins now works for Microsoft [2] where he describes his position as "helping Microsoft to understand open source and community-based projects". Before leaving, he set up the non-profit Gentoo Foundation and transferred all copyrights and trademarks to it.

The initial board of trustees of the Gentoo Foundation was appointed by Robbins but on May 25, 2005, the first board of 13 trustees was elected. There is also a subsidiary 7 member Gentoo Council whose members "decide on global issues and policies". The current members were voted in on August 31, 2005 by the 148 active Gentoo developers.

Portability

The Gentoo FreeBSD logo, derived from the BSD Daemon
Enlarge
The Gentoo FreeBSD logo, derived from the BSD Daemon

Gentoo was originally designed for the x86 architecture, but it has been ported to many others due to the highly-portable nature of Linux, gcc, glibc and Portage. It currently runs on the x86, PowerPC, PowerPC 970, SPARC, AMD64, IA64, MIPS, DEC Alpha, HP/PA, ARM, and zSeries/s390 architectures. Gentoo was the first distribution to offer a fully functional 64bit Linux computing environment (user space and the kernel) for the PowerPC 970 architecture.

There is also a "Gentoo for Mac OS X" project which allows Mac OS X users to use Gentoo's Portage to install packages, in a similar way to the one provided by Fink (although without having to rely on a chroot environment). Although still a work in progress, this project can coexist with Fink because it uses the same environment as Mac OS X instead of creating a new one.

Portability toward other operating systems, such as BSD-derived are under active development on Gentoo/ALT project. Gentoo/FreeBSD already have a working release.

Portage

Main article: Portage (software)

Portage is similar to the *BSD package management system called ports; in fact it was originally designed with FreeBSD's ports in mind. Gentoo's Portage system works similarly to Debian's APT. Portage is written in the Python programming language, and is the main utility that defines Gentoo. Although the system itself is known as Portage, its features are actually invoked on the command line with the program 'emerge'.

USE flags

The Portage system offers the use of "USE flags," which allows users to indicate which software features they would like to include while building packages. For example, there is a USE flag to include DVD support, where available, in all packages that are compiled after the flag is enabled. The USE flags can affect which dependencies are built or what options are sent to the program when it is compiled. The specification of USE flags is the usual way to configure programs on Gentoo. For a list of available USE flags, see Gentoo Linux Use Variable Descriptions

Ebuilds

Gentoo does not use binary packages as package management systems like RPM, instead employing a format known as the ebuild. The main difference between RPM files and ebuilds is that RPMs are precompiled binaries, whereas ebuilds are text files which contain a description of the software, and instructions on how to obtain, configure, compile, and install it. There are over 10000 ebuilds available, the majority of which are distributed by the Gentoo mirrors. New and updated ebuilds can be obtained by synchronizing the local ebuild repository with the mirrors. This is done by executing the command emerge --sync. Recently, Gentoo has begun providing pre-compiled binary packages for many common programs, especially those which are lengthy to compile, such as x.org and OpenOffice.org. These are still installed with emerge, just by appending a "-bin" to the package name to instead install the binary version.

Masking

Masking is how Gentoo determines which packages are suitable for a system. Ebuilds designed for different architectures or experimental software are usually masked in a way that will not allow a stable system to install them without proper user intervention.

Packages that generally just require some testing but will often work fine are said to be keyword masked (i.e. they are available for systems with an ACCEPT_KEYWORDS make.conf entry starting with the character ~, such as ~x86, ~amd64, ~ppc). The standard way to unmask an individual keyword masked package is by adding an entry to /etc/portage/package.keywords.

Packages with known problems or not considered mature enough to be candidates for stable are hard masked by one of the various package.mask files in /usr/portage/profiles, and such entries are generally accompanied by a comment from developers explaining the reason for the mask. The standard way to unmask a hard masked package is to add an entry to /etc/portage/package.unmask. This should be done entirely at one's own risk.

Init system

Gentoo's init system is another important feature of its system. It is similar to the System V init system that most Linux distributions use, but uses named run levels rather than numbered ones and dependency based scripts. It also includes a command called rc-update which manages runlevels. Users often comment that the Gentoo init system is one of their favorite features, second only to USE flags.

A faster, experimental init system known as initng is under active development on the Gentoo forums.

Logo & mascots

The official Gentoo logo is the stylized G. Unofficial mascots include Larry the cow and Knurt the flying saucer.

Installation

Gentoo may be installed in several ways. The most common way to install it is by using the Gentoo Live CD, but as with any Linux distribution, it can also be installed by most Live CDs, and even from existing Linux installations.

Installation is done by following the Gentoo Handbook. An automated installer program is under development and available for testing.

Catalyst

Starting with version 2004.0, Gentoo introduced a tool called Catalyst, which is used to build all Gentoo releases and can be used to build one's own customized install media.

Stages

Traditionally installation could be started from one of three base stages:

  • Stage 1: System must be bootstrapped and the base system must be compiled.
  • Stage 2: System has already been bootstrapped, but the base system must be compiled.
  • Stage 3: System has already been bootstrapped and the base system already compiled.

...however in November 2005 the Gentoo Handbook was changed, due to the support pressure from people having problems. The advised method now is to do a stage3 installation and optionally recompile the system after the installation using custom compiler settings (CFLAGS/USE flags) to create a more optimized system. Stage1 and Stage2 tarballs are however still available.

Version history

Note that once Gentoo is installed, it becomes "versionless," that is, once an update is done, the system is the latest version. So, if the system was installed from a 2005.0 CD and 2005.1 was released, and the system was updated, then it is up to date. The versions are only to make new Gentoo installs up-to-date from the start.

Even though the versioning system changed to years, the numbering version system still continues. For example, /etc/gentoo-release might contain "Gentoo Base System version 1.6.13" (Modified Aug. 26, 2005).

Criticism

Gentoo is sometimes criticized for poor QA (though possibly this is an unavoidable consequence of focusing on having more "up-to-date" versions of software available), unstable "stable" branches and for having a closed "upper management elite".

Many of the difficulties experienced in past years from the "stable" branch have dissipated due to the addition of a separate "unstable" branch, and will most likely continue to improve with time and effort. However, Gentoo, having a bleeding edge repository of software, often relies on the "upstream"'s (i.e. original authors) QA process. This works well for highly-used software (such as Apache), but less so for little-used software.

Gentoo is also criticised for its long installation process, sometimes taking days on older hardware. One of the other interesting debates commonly held is the binary versus source packaging, Gentoo using the latter by default. Proponents of source packages claim that binaries are slower and less customizable, while proponents of compiled package retort that some packages (especially very large ones such as X11 and OpenOffice.org) take days to compile and are incompatible with the needs of many users who require quick software installation. Furthermore, some compile-time customizations might make packages less stable. Both systems have advantages and disadvantages.

In response to this criticism, Gentoo began offering precompiled binaries for various architectures of popular applications including KDE, GNOME, OpenOffice.org, Mozilla, Mozilla Firefox and others, and all the packages required to run them. These sets of packages are referred to as the Gentoo Reference Platform (GRP) and are updated with every new release of Gentoo.

Finally, the closed "upper management elite" accusation has dissipated since Daniel Robbins formed the Not For Profit organization known as the Gentoo Foundation. These criticisms are hotly debated between a vocal minority of users of community-based Linux Distributions.

Gentoo has been seen by some as an adversary of Debian. In particular, some Gentoo users have claimed they turned to Gentoo from Debian because of Debian's slow release cycle and the helpfulness of fellow users in the Gentoo forums, compared to the harsher treatment of new users in Debian mailing lists (see also RTFM).

See also

External links


Linux distributions edit

CentOS | Damn Small | Debian | Fedora | Gentoo | Knoppix | Kubuntu | LFS | PCLinuxOS
Mandriva | MEPIS | Puppy | Red Hat | Slackware | SuSE | Ubuntu | Xandros | more…

Personal tools