Gentoo Linux

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Sesse (talk | contribs) at 23:24, 24 July 2004 (→‎External links: Fixed formatting). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Gentoo Linux is a Linux distribution. It is designed to be modular, portable and optimized for the user's machine, because this distribution builds all its tools and utilities from source (although several large packages are also available as precompiled binaries for the user's convenience). It achieves all this by means of the Portage system.

Portage

Portage is similar to the *BSD package management system called ports. 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 programs such as 'emerge' and 'equery' .

USE Flags

The Portage system offers the use of "USE flags," which allows the user to indicate which software features he/she would like to include while building packages. The USE flags can affect which dependencies are built or what options are sent to the program when it is compiled.

Ebuilds

Gentoo does not use traditional packages like RPM, but a format known as ebuilds, which contains a description of the software and how to obtain and install or compile it. There are thousands of ebuilds available, the majority of which are distributed by the Gentoo mirrors. New and updated packages can be obtained by synchronizing the local datastore with the mirrors.

Masking

Masking is how Gentoo determines which packages are suitable for your 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 user intervention (e.g. adding a package to /etc/portage/package.keywords). Experimental packages are "Hard Masked". Installing "Hard Masked" ebuilds is risky and not recommended because they have known problems, while packages that are masked by keyword (e.g. they are available for systems with the ~x86 keyword, but not for systems with the "stable" x86 keyword) just need some testing, but possibly work just fine. An easy way to unmask a masked package is to copy its entry from /usr/portage/profiles/package.mask into /etc/portage/package.unmask .

Installation

Gentoo may be installed in several ways. The most common way to install it is by using the Gentoo Live CD, but it can also be installed by most other Linux Live CDs, and even from an existing Linux installation on another partition of the same hard drive. The machine must be prepared for installation by partitioning the hard disk and installing a base system corresponding to one of three stages. Starting from the first stage allows for more customization and optimization, and starting from the third stage allows for a quicker installation.

Installation is done in a chroot environment, and by using Gentoo's own Portage system to install critical packages for the new installation. Gentoo does not feature an installation program as in many other distributions; the user follows the steps described in the guide on the Gentoo website, and on the Gentoo Live CD. The full installation and usage guide can be viewed in the Gentoo Handbook.

Stages

  • Stage 1, Full Installation, where the 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.

One of the three stages is chosen as a tradeoff between customizability and install time. The default compiler in Gentoo is GCC. Compiler customizations are made in an environment variable called CFLAGS. The system then must be bootstrapped, which is done by compiling the compiler and base libaries)

Other Packages

After the three stages, the system configuration must be written. Then, the user is free to install what they want; they can download USE packages from the Gentoo Reference Platform, as well as compile their own software.

Kernel

The kernel must also be set up and installed. Gentoo does not have a precompiled kernel; instead it offers various kernel sources with patches. It can either be done by the traditional menuconfig utility included with Linux or with genkernel, a kernel compilation program.

System Configuration

After the kernel is installed, the system configuration files must be edited manually to fit the needs of the user. This includes the fstab, network configuration, system customizations, and more.

Boot Loader

Once the kernel is installed, the bootloader must be installed so that the system can be loaded without the use of external bootable media.

System Utilities

For Gentoo to work, it needs some tools such as a system logger, cron daemon and file system utilities. Gentoo gives you a choice of several, depending on your needs and preferences.

Finalizing Installation

The final part of the installation involves creating user accounts and installing any precompiled packages the user wants. After this, the user can reboot the system. The system is now standalone, and does not need the live CD anymore. The installation is complete.

Install Utilities

Catalyst

Starting with version 2004.0, Gentoo introduced a tool called Catalyst, which enables the user to customize the whole system.

Tarballs

It is possible to create tarballs of packages for distribution to other machines. This is particularly useful in the case of a homogenous computing environment, where packages may be used on many machines despite having been prepared on a specific one.

Portability

Gentoo was originally designed for x86 architectures only, but it has been ported to many others over time due to the highly-portable nature of GCC, Linux, and its applications. It currently runs on the x86, PowerPC, PPC970, SPARC, AMD64, IA64, DEC Alpha and HPPA architectures. It has also been recently ported to PPC64, making it the first Linux distribution to offer a fully operating sixty-four bit computing environment for the PowerPC architecture.

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 used, but it uses named run levels rather than numbered ones, and dependency based scripts. It also includes a handy command called rc-update to manage runlevels.

Versions

Version 1.0 was the first major version of Gentoo. It was released on the 31st March 2002.

Version 1.2 was the second, released in June 2002.

In Gentoo Linux 1.4, the Gentoo Reference Platform (GRP) was introduced. It provides precompiled packages, allowing users to avoid long compile times and combined with stage 3 a user can have a fully working Gentoo installation without the previous long time to install.

In 2004, The versioning scheme changed to being year-based in the form of Year.Revision. For example, 2005.3 would be the third revision of Gentoo 2005.

The latest official version of Gentoo is Gentoo 2004.1. For more information, see the official press release.

History

On Monday, April 26, 2004, Daniel Robbins, founder of Gentoo Linux, stepped down as Chief Architect of the project. Before leaving, he had set up a non-profit foundation owning all of the copyrights to Gentoo. The initial board of trustees was appointed by Robbins, were to be elected the following year. The membership of the foundation was initially set to be open. Upon his resignation, an article was posted to Slashdot.

Controversy

Gentoo is one of the most controversial Linux distributions -- most Linux users either love or hate it. (Clashes between Gentoo and Debian users seem to be the most common.) While many Gentoo usually hold the customizable optimization and USE flags (both of which essentially require building from source code, which takes time) as essential features, critics argue that the machine-specific optimization means little in real-world situations, and that USE flags are only marginally useful. (For instance, it is argued that while one may set a USE flag to build a program without support for X, all one gains is to reduce compile time slightly and keep a few megabytes of X client libraries off the system.)

Moreover, Gentoo is often criticised for poor QA, unstable "stable" branches and for having a closed "upper management elite".


Mascot

The Gentoo Linux mascot is Larry the cow.


External links

Gentoo User Groups