Gentoo Linux


Gentoo Linux is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer. Precompiled binaries are available for some larger packages or those with no available source code.
Gentoo Linux was named after the fast-swimming gentoo penguin. The name was chosen to reflect the potential speed improvements of machine-specific optimization, which is a major feature of Gentoo. Gentoo package management is designed to be modular, portable, easy to maintain, and flexible. Gentoo describes itself as a meta-distribution because of its adaptability, in that the majority of users have configurations and sets of installed programs which are unique to the system and the applications they use.

History

Gentoo Linux was initially created by Daniel Robbins as the Enoch Linux distribution. The goal was to create a distribution without precompiled binaries that was tuned to the hardware and only included required programs. At least one version of Enoch was distributed: version 0.75, in December 1999.
Daniel Robbins and the other contributors experimented with a fork of GCC known as EGCS, developed by Cygnus Solutions. At this point, "Enoch" was renamed "Gentoo" Linux. The modifications to EGCS eventually became part of the official GCC, and other Linux distributions experienced similar speed increases.
After problems with a bug on his own system, Robbins halted Gentoo development and switched to FreeBSD for several months, later saying, "I decided to add several FreeBSD features to make our autobuild system a true next-generation ports system."
Gentoo Linux 1.0 was released on March 31, 2002. In 2004, Robbins set up the non-profit Gentoo Foundation, transferred all copyrights and trademarks to it, and stepped down as chief architect of the project.
The current board of trustees is composed of five members who were announced on March 2, 2008. There is also a seven-member Gentoo Council that oversees the technical issues and policies of Gentoo. The Gentoo Council members are elected annually, for a period of one year, by the active Gentoo developers. When a member of the Council retires, the successor is voted into place by the existing Council members.
The Gentoo Foundation is a 501 non-profit foundation, registered in the State of New Mexico. In late 2007, the Foundation's charter was revoked, but by May 2008 the State of New Mexico declared that the Gentoo Foundation, Inc. had returned to good standing and was free to do business.

Features

Gentoo appeals to Linux users who want full control of the software that is installed and running on their computer. People who are prepared to invest the time required to configure and tune a Gentoo system can build very efficient desktops and servers. Gentoo encourages users to build a Linux kernel tailored to their particular hardware. It allows very fine control of which services are installed and running. Memory usage can also be reduced compared to other distributions by omitting unnecessary kernel features and services.
Gentoo's package repositories provide a large collection of software. Each package contains details of any dependencies, so only the minimum set of packages need to be installed. Optional features of individual packages, such as whether they require LDAP support, can be selected by the user and any resulting package requirements are automatically included in the set of dependencies.
As Gentoo does not impose a standard look and feel, installed packages usually appear as their authors intended.

Portage

Portage is Gentoo's software distribution and package management system. The original design was based on the ports system used by the Berkeley Software Distribution operating systems. The Gentoo repository contains over 19,000 packages ready for installation in a Gentoo system.
A single invocation of portage's command can update the local copy of the Gentoo repository, search for a package, or download, compile, and install one or more packages and their dependencies. The built-in features can be set for individual packages, or globally, with so-called "USE flags".
Pre-compiled binaries are provided for some applications with long build times, such as LibreOffice and Mozilla Firefox, but users lose the ability to customize optional features. There are configuration options to reduce compilation times, such as by enabling parallel compilation or using pipes instead of temporary files. Package compilation may also be distributed over multiple computers. Additionally, the user may be able to mount a large filesystem in memory to further speed up the process of building packages. Some approaches have drawbacks and are not enabled by default. When installing the same package on multiple computers with sufficiently similar hardware, the package may be compiled once and a binary package created for quick installation on the other computers.

Portability

As Gentoo is a source-based distribution with a repository describing how to build the packages, adding instructions to build on different machine architectures is particularly easy.
Originally built on the IA-32 architecture, Gentoo has since been ported to many others. It is officially supported and considered stable on IA-32, x86-64, IA-64, PA-RISC, 32-bit and 64-bit PowerPC, 64-bit SPARC, DEC Alpha, and both 32- and 64-bit ARM architectures. It is also officially supported but considered in-development state on MIPS, PS3 Cell Processor, System Z/s390, and SuperH. Official support for 32-bit SPARC hardware and SuperH have been dropped.
Portability towards other operating systems, such as those derived from BSD, including macOS, is under active development by the Gentoo/Alt project. The Gentoo/FreeBSD project already has a working guide based on FreeSBIE, while Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonFly are being developed. There is also a project to get Portage working on OpenSolaris. There was an unofficial project to create a Gentoo port to GNU Hurd, but it has been inactive since 2006.
It is also possible to install a Gentoo Prefix in a Cygwin environment on Windows, but this configuration is experimental.

Installation

Gentoo may be installed in several ways. The most common way is to use the Gentoo minimal CD with a stage3 tarball. As with many Linux distributions, Gentoo may be installed from almost any Linux environment, such as another Linux distribution's Live CD, Live USB, or Network Booting using the "Gentoo Alternative Install Guide". A normal install requires a connection to the Internet, but there is also a guide for a network-less install.
Previously, Gentoo supported installation from stage1 and stage2 tarballs; however, the Gentoo Foundation no longer recommends them. Stage1 and stage2 are meant only for Gentoo developers.
Following the initial install steps, the Gentoo Linux install process in the Gentoo Handbook describes compiling a new Linux kernel. This process is generally not required by other Linux distributions. Although this is widely regarded as a complex task, Gentoo provides documentation and tools such as Genkernel to simplify the process. In addition, users may also use an existing kernel known to work on their system by simply copying it to the boot directory and updating their bootloader. Support for installation is provided on the Gentoo forum and on IRC.
A Live USB of Gentoo Linux can be created manually or by using UNetbootin.

Stages

Before October 2005, installation could be started from any of three base stages:
Since October 2005, only the stage3 installations have been officially supported, due to the inherent complexities of bootstrapping from earlier stages. Tarballs for stage1 and stage2 were distributed for some time after this, although the instructions for installing from these stages had been removed from the handbook and moved into the Gentoo FAQ., only the supported stage3 tarballs are publicly available; stage1 and stage2 tarballs are only "officially" generated and used internally by Gentoo development teams. However, if so desired, a user may still rebuild the toolchain or reinstall the base system software during or after a normal stage3 installation, effectively simulating the old bootstrap process.

Genkernel

Genkernel is a tool for building a general-purpose, modular Linux kernel. Genkernel compiles the kernel with all available device drivers built as modules, then copies potentially boot-critical drivers to an initramfs that is passed to the kernel at boot time, automatically loading the modules before they are needed. It is designed to allow users with little or no experience configuring a Linux kernel to easily set up a working kernel. Also, non-trivial hard disk setups like LVM and/or dm-crypt for full disk encryption make usage of an initramfs unavoidable; here genkernel can save the user from manually creating one.
The main reason for genkernel is that you have to configure and build your own kernel during the installation of Gentoo. Experienced Linux users generally prefer to configure and build their kernel manually, because genkernel tries to configure the kernel as safely as possible and can cause the kernel to grow very large. However, one can choose to use a custom kernel configuration and use genkernel to compile it, and still benefit from other features such as the initramfs builder.

Genkernel modes

Gentoo follows a rolling release model.
Like other Linux distributions, Gentoo systems have an /etc/gentoo-release file, but this contains the version of the installed sys-apps/baselayout package.
In 2004, Gentoo began to version its Live media by year rather than numerically. This continued until 2008, when it was announced that the 2008.1 Live CD release had been cancelled in favour of weekly automated builds of both Stages 3 and Minimal CDs. On December 20, 2008, the first weekly builds were published. In 2009, a special Live DVD was created to celebrate the Gentoo 10-year anniversary.

Release media version history

Special releases

In 2009, a special Live DVD was released to celebrate Gentoo's tenth anniversary. Initially planned as a one-off, the Live DVD was updated to the latest package versions in 2011 due to its popularity among new users.
NameDate/info
Unreal Tournament 2003 LiveCD - Bootable NVIDIA GPU-accelerated Unreal Tournament 2003 LiveCD, demoed at LinuxWorld Conference and Expo 2003.
10.0
10.1
11.0
12.0
12.1
20121221
20140826
20160514
20160704

Profiles

Although Gentoo does not have a concept of versioning the entire system, it does make use of "profiles", which define build configuration for all packages in the system. Major changes, such as changing the layout of how files are installed across the entire system, typically involve a profile upgrade and may require rebuilding all installed software. These profiles are versioned based on the year they were released, and include several variants for each release targeted towards different types of systems. Profiles formerly tracked the versioning of install media, and switched to two-digit year naming after the discontinuation of versioned media. The following new profile versions have been released after 2008.0:
VersionDate/info
10.0
13.0
17.0
17.1

Hardened Gentoo

Hardened Gentoo is a project designed to develop and designate a set of add-ons that are useful when a more security focused installation is required. Previously, the project included patches to produce a hardened kernel, but these were discontinued. Other parts of the hardened set, such as SELinux, and userspace hardening remain.

Practical jokes

The developers and community behind Gentoo have performed many practical jokes, a number of them on or around April Fools' Day. This kind of practical trickery and playfulness has been a tenet of Gentoo since its creation.
; Wiki
; Website
; Live DVD
; Install wizard

Incidents

In June 2018 the Gentoo GitHub code repository mirror used mainly by developers was hacked after an attacker gained access to an organization administrator's account via deducing the password. Gentoo promptly responded by containing the attack and improving security practices. No Gentoo cryptography keys or signed packages were compromised, and the repository was restored after five days.

Logo and mascots

The gentoo penguin is thought to be the fastest underwater-swimming penguin. The name "Gentoo Linux" acknowledges both the Linux mascot, a penguin called Tux, and the project's aim to produce a high performance operating system.
The official Gentoo logo is a stylized 'g' resembling a silver magatama. Unofficial mascots include Larry The Cow and Znurt the Flying Saucer.

Derived distributions

There are a number of independently developed variants of Gentoo Linux, including Chromium OS and Container Linux.