Gentoo package management is designed to bemodular,portable, easy to maintain, and flexible. Gentoo describes itself as ameta-distribution because of its adaptability, in that the majority of its users have configurations and sets of installed programs which are unique to the system and the applications they use.[5]
Gentoo Linux is named after thegentoo penguin, the fastest swimming species of penguin. The name was chosen to reflect the potential speed improvements of machine-specific optimizing, which is a major feature of Gentoo.
Gentoo Linux was initially created byDaniel Robbins as theEnoch Linux distribution. Itsdesign philosophy was that of precompiled binaries which were tuned to the hardware and that only included required programs.[6] At least one version of Enoch was distributed under that name: version 0.75, in December 1999.[7] An older release labeled "Enoch 0.5" can be found on the CD accompanying the August 1999 edition of the Danish computer magazineAlt om Data.[8]
Daniel Robbins and the other contributors experimented with a fork ofGCC known as EGCS, developed byCygnus Solutions. It was at this point that "Enoch" was renamed "Gentoo" Linux. The modifications to EGCS eventually became part of the official GCC (version 2.95); Gentoo and other Linux distros benefited from similar speed increases.[9]
After problems with a bug on his own system, Robbins halted Gentoo development and switched toFreeBSD for several months, later saying, "I decided to add several FreeBSD features to make our autobuild system (now called Portage) a true next-generation ports system."[10]
Gentoo Linux 1.0 was released on March 31, 2002.[11] 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.[12]
The current board of trustees[13] is composed of five members who were announced (following an election) on March 2, 2008.[14] The seven-member Gentoo Council oversees related technical issues and policies.[15] 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.[16]
The Gentoo Foundation is a domestic non-profit corporation,[17] registered in the State ofNew Mexico.[18] In late 2007, the Foundation's charter was revoked,[19] 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.[20]
The creator of Gentoo, Daniel Robbins, left the project in both 2004 and 2007 due to conflicts with other developers.[21][22][23][24][25][26]
Gentoo appeals to Linux users who want full control of the software that is installed and running on their computer.[27]: 402 People who are prepared to invest the time required to configure and tune a Gentoo system can build very efficientdesktops andservers.[citation needed] Gentoo encourages users to build aLinux kernel tailored to their particular hardware. It allows very fine control of which services are installed and running, including the option to choose betweensystemd orOpenRC as the defaultinit system. Memory usage can also be reduced compared to other distributions by omitting unnecessary kernel features and services.[27]: 386
Gentoo's package repositories provide a large collection of software. Each package contains details of anydependencies, so only the minimum set of packages need to be installed. Optional features of individual packages, such as whether they requireLDAP orQt support, can be selected by the user and any resulting package requirements are automatically included in the set of dependencies.[27]: 386
Gentoo itself does not have a defaultlook and feel, hence installed packages usually appear as their authors intended.[27]: 387
A single invocation of portage'semerge 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".[28]
Pre-compiled binaries are provided for some applications with long build times, such asLibreOffice andMozilla Firefox, but users lose the ability to customize optional features. There are configuration options to reduce compiling times, such as by enabling parallel compiling or usingpipes instead of temporary files.[29] Package compiling may also be distributed over multiple computers.[30] Additionally, the user may be able tomount 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.[31]
On December 29, 2023, it was announced that Gentoo will offer binary packages for download and direct installation. For most architectures, this will be limited to the core system and weekly updates. For amd64 and arm64 however the availability of binary packages reaches over 20 GB.[32]
Inasmuch as Gentoo is a source-based distribution with a repository describing how to build the packages, adding instructions to build on differentmachine architectures is particularly easy.[33]
Originally built on theIA-32 architecture, Gentoo has since been ported to many others. It is officially supported and considered stable on IA-32,x86-64,PA-RISC,32-bit and64-bitPowerPC, 64-bitSPARC,DEC Alpha, and 32- and 64-bitARM architectures.[34] It is also officially supported but considered in-development state onMIPS,[35]PS3 Cell Processor,System Z/s390.[36] Official support for 32-bit SPARC, SuperH and Itanium have been dropped.[37][38]
Portability towards other operating systems, such as those derived fromBerkeley Software Distribution (BSD), includingmacOS, is under active development by theGentoo/Alt project. TheGentoo/FreeBSD project already has a working guide based onFreeSBIE,[39] while Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonFly are being developed.[40] A project exists to get Portage working onOpenSolaris. There was an unofficial project to create a Gentoo port toGNU Hurd, but it has been inactive since 2006.[41]
It is also possible to install a Gentoo Prefix (provided by a project that maintains alternative installation methods for Gentoo) in aCygwin environment on Windows, but this configuration is experimental.[42]
Gentoo may be installed in several ways. The most common is to use the Gentoo minimal CD with a stage3tarball (explained below). 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 a network-less install guide exists.
On April 3, 2022, it was announced that there would be a new official image with a GUI, called the LiveGUI image. This can be installed onto installation media such as a USB drive or a dual-layer DVD. It includes a large selection of software, including theKDE Plasma 6 desktop environment, image editors, office software, system administration, and installation tools.[43]
Previously, Gentoo supported installation from stage1 and stage2 tarballs. The Gentoo Foundation no longer recommends this usage; stage1 and stage2 are now meant only for Gentoo developers.[44]
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 the installation requires significantly more configuration than most mainline distributions, Gentoo provides documentation and tools such as its stage3 tarball and distribution kernels to simplify the process.[45] In addition, users may also use an existing kernel known to work on their system by simply copying it to the boot directory, or installing one of the provided pre-compiled kernel packages, and updating their bootloader. Support for installation is provided on the Gentoo forum,[46]Reddit,[47] andIRC.[48]
Before October 2005, installation could be started from any of three base stages:
Stage1 begins with only what is necessary to build atoolchain (the various compilers, linkers, and language libraries necessary to compile other software) for the target system; compiling this target toolchain from another, pre-existing host system is known asbootstrapping the target system.
Stage2 begins with aself-hosting (bootstrapped) toolchain for the target system, which is then used to compile all other coreuserland software for the target.
Stage3 begins with a minimal set of compiled user software, with which thekernel and any other additional software are then configured and compiled.
Since October 2005, only the stage3 installations have been officially supported, due to the inherent complexities of bootstrapping from earlier stages (which requires resolving and then breaking numerouscircular dependencies).[49]Tarballs for stage1 and stage2 were distributed for some time after this,[when?] although the instructions for installing from these stages had been removed from the handbook[50] and moved into the Gentoo FAQ.[51] As of September 2015[update], 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.[52]
From 2003 until 2008, theGentoo Reference Platform (GRP) was a snapshot of prebuilt packages that users could quickly install during the Gentoo installation process, to give faster access to a fully functional Gentoo installation.[53][54] These packages includedKDE,X Window System,OpenOffice,GNOME, andMozilla.[55] Once the installation was complete, the packages installed as part of the GRP were intended to be replaced by the user with the same or newer versions built through Portage that would be built using the user's system configuration rather than the generic builds provided by the GRP. As of 2011, the GRP is discontinued, the final reference to it appearing in the 2008.0 handbook.[56][original research?]
Like other Linux distributions, Gentoo systems have an/etc/gentoo-release file, but this contains the version of the installedsys-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.[57] On December 20, 2008, the first weekly builds were published.[58] In 2009, a specialLive DVD was created to celebrate the Gentoo 10-year anniversary.[59]
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.
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 (such asservers anddesktops). 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:
Version
Date/info
10.0
August 6, 2009[85] (cosmetic name change from 2008.0 profiles)
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.[90] Previously, the project included patches to produce a hardened kernel, but these were discontinued. Other parts of the hardened set, such asSELinux, and userspace hardening remain.[91]
In June 2018 the GentooGitHub 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 Gentoocryptography keys or signed packages were compromised, and the repository was restored after five days.[92][93][94][95][96]
Thegentoo penguin is thought to be the fastest underwater-swimming penguin. The name Gentoo Linux is a reference both to the omnibus Linux mascot— a penguin calledTux— and the project's aim to produce a high-performance operating system.[27]: 383 Unofficial mascots includeLarry The Cow[5] andZnurt the Flying Saucer.[97]
^Locke, Bruce (April 1, 2022)."PR: Gentoo Linux 1.0 Released".Linux Today. Archived fromthe original on October 28, 2002. RetrievedAugust 31, 2022.The Gentoo Project is proud to announce the release of Gentoo Linux 1.0.
^"Binary package guide". gentoo.org.Archived from the original on February 12, 2018. RetrievedSeptember 4, 2022.Next to the usual support for source-based ebuilds, Portage also supports building and installing binary packages.
^"Daniel Robbins leaves Gentoo, again [LWN.net]".lwn.net. RetrievedApril 19, 2024.Daniel Robbins, creator of gentoo, had returned to the project. Well, a week later he left again. Basically, drobbins got into an epic flamewar with Ciaran McCreesh, a popular but controversial former gentoo dev who still frequents gentoo mailing lists. empers flared, and drobbins pushed for getting ciaranm banned from gentoo-dev@gentoo.org mailing list, ostensibly on the grounds that ciaranm is no longer an official gentoo developer. The rest of the gentoo devs refused to do so. Then Daniel Robbins quit the project.
^"DistroWatch.com: Put the fun back into computing. Use Linux, BSD".distrowatch.com. RetrievedApril 19, 2024.He officially re-joined the Gentoo development team two weeks ago - only to resign a few days later. The reason? Strong personal attacks by some of the current developers of the project.
^"Gentoo attempts to deal with developer conflicts".Linux.com. March 26, 2007. RetrievedApril 19, 2024.The latest Gentoo flamewar started as a discussion on the gentoo-dev mailing list about topics for the March Gentoo Council meeting. Gentoo founder Daniel Robbins, who had rejoined the Gentoo project earlier that week after leaving in April, 2004, seemed keen on arguing with Gentoo contributor Ciaran McCreesh on whether the Package Manager Specification (PMS) is an official Gentoo project. After the discussion became heated, Robbins says that he's going to "look for a way to remove Ciaran from gentoo-dev" and then later says he doesn't want to be associated with Gentoo after all.