The desktop as provided by Gentoo Linux LiveDVD, release 12.0
|Company / developer||Gentoo Foundation|
|Source model||Free and open source software|
|Initial release||31 March 2002|
|Latest stable release||Rolling release / weekly (approximately)|
|Supported platforms||IA-32, x86-64, IA-64, PA-RISC; PowerPC 32/64, SPARC 64-bit, DEC Alpha, ARM, Motorola 68K|
|Kernel type||Monolithic (Linux)|
|Default user interface||KDE Plasma Desktop from LiveCD, various|
|License||GNU General Public License, others|
Gentoo Linux (// JEN-too, named after the Gentoo Penguin) is a computer operating system built on top of the Linux kernel and based on the Portage package management system. It is distributed as free and open source software. Unlike a conventional software distribution, the user compiles the source code locally according to that user's chosen configuration. Where source code is available, Portage normally supplies no precompiled binaries, continuing in the tradition of the ports collection, although for convenience some large packages (such as Mozilla Firefox and LibreOffice) are available as precompiled binaries for various architectures where compiling would otherwise be very time consuming. The development project and its products are named after the fastest-swimming penguin, the Gentoo, to reflect the potential speed improvements of machine-specific optimization. Gentoo package management is designed to be modular, portable, easy to maintain, flexible, and optimized for the user's machine. Gentoo describes itself as a meta-distribution, "because of its near-unlimited adaptability", in that the majority of users have configurations and sets of installed programs which are unique to themselves.
- 1 History
- 2 Portability
- 3 Portage
- 4 Init system
- 5 Installation
- 6 Versions
- 7 Advantages and drawbacks
- 8 Logo and mascots
- 9 Popularity
- 10 See also
- 11 References
- 12 External links
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.
Compilation issues revealed problems with the GNU Compiler Collection (GCC), used to build from source code. Daniel Robbins and the other contributors experimented with a fork of GCC known as EGCS developed by Cygnus Solutions. At this point, Enoch changed name to Gentoo Linux (the Gentoo species is the fastest swimming penguin). The modifications to EGCS eventually became part of the official GCC (version 2.95), and other Linux distributions experienced similar speed increases.
After problems with a bug on his own system, Robbins halted Gentoo Linux development and switched to FreeBSD 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."
Gentoo Linux 1.0 was released 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 (following an election) 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 for a period of one year, each 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(c)(6) 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.
Although originally built on the x86 architecture, Gentoo has been ported to many others. Currently it is officially supported and considered stable on x86, x86-64, IA-64, PA-RISC, PowerPC, PowerPC 970, SPARC 64-bit and DEC Alpha architectures. It is also officially supported but considered in development state on MIPS, PS3 Cell Processor, System Z/s390, ARM, and SuperH. Official support for 32-bit SPARC hardware has been dropped.
Portability toward other operating systems, such as BSD-derived ones including Mac OS X, 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.
Portage is Gentoo's package management system. It is similar in idea to the BSD ports collections: the original design was based on FreeBSD ports. In contrast, the Portage tree does not contain directories of Makefiles, but of so-called ebuilds, Bash-like scripts that describe separate functions to download, configure, make, install and remove a package and additional functions that can be used to set up the operating environment for a package.
In contrast to other distributions, the Portage tree contains many packages which are considered non-free by the Free Software movement, and these may be installed using the same mechanisms as other packages, provided the user has agreed to the license by enabling it in an appropriate configuration file.
Portage's main utility is emerge, which is written in Python and can be used by privileged users to inspect and alter the set of installed packages on a Gentoo operating system. Whereas emerge used to operate in a similar way to other ports collections, by entering a directory in the tree and using emerge (instead of make) to perform package management operations, it now reads variables from the file /etc/portage/make.conf (again similar to ports) to determine where the Portage tree is kept.
Alternative package management utilities like Paludis and pkgcore have seen heavy development. Both are intended to be used alongside or instead of the official Portage utilities in both development and practical use. As both competing projects intend to replace the official utilities, an effort has been raised to standardise the application programming interface (API) of ebuilds for all package managers, in a project called the Package Manager Specification or PMS.
Gentoo's init system is another important feature. It is similar to the System V init system that most Linux distributions use, but uses dependency-based scripts and named run levels rather than numbered ones. It also includes a command called rc-update which manages runlevels.
Originally Gentoo's rc system was written entirely in Bash and was part of the baselayout package, which contains the basic filesystem layout and critical files needed for the system. However, this led to several limitations. For example, certain system calls needed to be accessed during boot which required C-based callouts to be added. These callouts were each statically linked, causing the rc system to bloat over time. Additionally, as Gentoo expanded to other platforms such as Gentoo/FreeBSD and Gentoo Embedded, requiring the relatively heavy Bash shell for the rc system became undesirable or sometimes impossible.
This led to a development of baselayout 2, which was written in C and only required a POSIX-compliant shell. During this development, it was decided that it was a better fit if baselayout provided only the base files and filesystem layout for Gentoo, and the rc system was broken off into an independent project – OpenRC.
Gentoo may be installed in several ways. The most common way is to use the Gentoo minimal CD with a stage 3 tarball (see below for more explanation on stages). As with many Linux distributions, Gentoo may be installed from almost any Linux environment, such as another Linux distribution's LiveCD, LiveUSB or Network Booting using the "Gentoo Alternate 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 stage 1 and 2 tarballs. However, this is no longer recommended officially by the Gentoo foundation, and is 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 and make it straightforward for novice users. 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.
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. In the summer of 2008, Gentoo's founder Daniel Robbins released a new build tool called Metro. Metro is used to build releases of Funtoo Linux, a slight variant of Gentoo Linux, which is developed and maintained by Robbins.
Traditionally installation could be started from one of three base stages:
- Stage1: System must be bootstrapped and the base system must be compiled.
- Stage2: System has already been bootstrapped, but the base system must be compiled.
- Stage3: System has already been bootstrapped and the base system already compiled.
As of November 2005, only stage3 installations are officially supported. 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 currently available.
A graphical installer (the Gentoo Linux Installer project, or GLI) was released with 2006.0, but the project did not gain enough development support and is no longer supported as of 2008.0.
Gentoo Reference Platform
From 2003 until 2008, the Gentoo Reference Platform (GRP) was a snapshot of prebuilt packages that users could quickly install during the Gentoo installation process, to give faster access to fully functional Gentoo installation. These packages included KDE, X Window System, OpenOffice, GNOME, and Mozilla. 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 though Portage which would be built using the users' 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.
Once Gentoo is installed, it becomes effectively "versionless"; that is, once an emerge update is done, the system is at the latest version, with the most up-to-date packages available (subject to restrictions that a user may have specified in their Portage configuration files). For example, if a system is installed using a stage3 from March 2011, and the user performs a full emerge update one month later, they will upgrade the installed Gentoo system to the same as they would have if they had performed a fresh installation from an April 2011 CD. Thus, Gentoo users may upgrade to the latest version of all of their installed software the day that new versions are released and have an ebuild available. Like other Linux distributions, Gentoo systems have an
/etc/gentoo-release file, but this contains the version of the installed
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 LiveCD release had been cancelled in favour of weekly automated builds of both Stages 3 and Minimal CDs. On 20 December 2008, the first weekly builds were published. In 2009, a special LiveDVD was created to celebrate the Gentoo 10-year anniversary.
Release-media version history
- (Enoch Linux) 0.75, December 1999
- 1.0, March 31, 2002
- 1.1a, April 8, 2002
- 1.2, June 10, 2002
- 1.4 August 5, 2003 (Gentoo Reference Platform introduced)
- 1.4 maintenance release 1 September 11, 2003
- 2004.0 March 1, 2004 (versioning changed to four releases a year)
- 2004.1 April 28, 2004
- 2004.2 July 26, 2004
- 2004.3 November 15, 2004
- 2005.0 March 27, 2005 (versioning changed to semi-annual releases)
- 2005.1 August 8, 2005
- 2005.1-r1 November 21, 2005 (maintenance release 1)
- 2006.0 February 27, 2006
- 2006.1 August 30, 2006
- 2007.0 May 7, 2007
- 2008.0 July 6, 2008
- Weekly Releases from September 22, 2008
In 2009, a special LiveDVD was released to celebrate Gentoo's 10-year anniversary. Initially planned as a once-off, the LiveDVD was updated to the latest package versions in 2011 due to its popularity among new users.
- 10.0 October 4, 2009 (special edition LiveDVD for the 10th anniversary)
- 10.1 October 10, 2009 (Bugfix release of Special LiveDVD)
- 11.0 March 8, 2011 (Anniversary LiveDVD is updated to latest package versions)
- 12.0 January 2, 2012
- 12.1 April 1, 2012 (With an April Fool's joke named "Install Wizard")
- 12.1 December 21, 2012 (LiveDVD - End Of World Edition)
Advantages and drawbacks
|This section needs additional citations for verification. (September 2013)|
||This section possibly contains original research. (September 2013)|
As a meta-distribution, it is the administrator who freely decides precisely what software is installed on his or her own computer(s) rather than the distribution maintainer. This means no software that is irrelevant to the administrator will exist or be running on the machine(s), which has important consequences. The choice means that a given computer running Gentoo is only vulnerable to security threats among programs the administrator actually intends to be used. Because the software is chosen by the administrator and also compiled by the administrator, it further means support for software the administrator does not intend to be used may also be dropped. As a simple example, if an administrator wishes to install Apache but has no intent to utilize MySQL, Apache can be installed easily through Portage without the routines and libraries that are required for MySQL. These two ideas together would mean the computer was invulnerable to any security exploit found in software not explicitly installed by the administrator, as well as that no perpetual disk space or memory would be needlessly allocated.
BSD style ports installing (compiled install) is much preferred to by users because this is often more successful, reliable, lessens other packages required (maybe also unwanted), it does not prevent the use of pre-compiled packages (ie, i386), it allows Modification easily, and it gets missing source automatically. Other linux distros make compiling a pre-compiled package very complicated and afar from what the source author intended to be the default compile and do not get all source needed (making sometimes unwise choices). However, many packages one may wish to use are by developers using other major distros and are not in porting format or auto-config, but are in distro-specific format. One would then have to work around all such packages to do a project that needed, say, drivers only a few linux distros specialize in (which again, have complicated processes to re-create their pre-compiled packages). The lack of large distro developer community can be an advantage over being ruled and over-ruled by such a community. While gentoo is good for personal use, customization caused by dependancy compiling may be a disadvantage if widespread public use and maintenance is necessary.
Compiling code is an essential step in modern computer software, but most operating system users play no role in this process. As a locally-compiled system, any compile failures in Gentoo serve both as a learning exercise and the ability to find many bugs. Bug reports are filed upstream which benefits users of pre-compiled binary operating systems, who rely on others to fix these issues which would not ordinarily be exhibited on such systems by definition. Because Portage provides the latest software, this process also assists in identifying deprecated code and a test bench for backwards compatibility, particularly with any libraries, which ultimately filters down to users of pre-compiled distributions.
However, compiling packages from source takes considerably more time than installing pre-built binaries. In some cases (depending on the size of the source code to be compiled and hardware), compilation of large programs can take hours and may also require a few gigabytes of temporary disk space in which to build; it is thus a trade off of temporary memory and disk space usage for better control, security, and optimization of the system.
Generally, Gentoo users accept long compile times as the cost of being able to apply their own compile-time options and enjoy the flexibility of Portage. Gentoo developers have created a number of work-arounds to avoid slow package installation.
- Pre-compiled binaries are provided for some applications with long build times, such as OpenOffice.org and Mozilla Firefox, provided by upstream maintainers. By using these binaries, installation time is equivalent to other Linux distributions, but users lose the ability to customize optional features.
- The standard installation process gives users configuration options to reduce compilation times, such as enabling parallel compilation and using pipes instead of temporary files.
- Other optional features of the Portage system include distributed compiling and using a compiler cache. In addition, the user may be able to mount a large filesystem in RAM to greatly speed up the process of building packages. Some of these approaches have drawbacks, and so are not enabled by default.
- When installing the same package on multiple computers, the package may be compiled once and a binary package created for quick installation on the other computers, assuming sufficiently similar hardware.
Logo and mascots
A Gentoo Penguin is the fastest-swimming of the penguin family. The name evokes an image of speed, while retaining the penguin as a generic mascot for Linux.
The website DistroWatch.com provides information and download links concerning different Unix-like operating systems, as well as a compilation of respective page hits. The DistroWatch statistics tracks page hits since 2002.
Upon launch, Gentoo quickly became a popular distribution, acclaiming 326 hits per day on average in 2002 on DistroWatch - the third highest. However, over the years Gentoo has suffered from a dropping popularity. In 2003, Gentoo was fourth most popular, and dropped to seventh in 2004, ninth in 2005, tenth in 2006 and thirteenth in 2007. For 2008, Gentoo dropped to 18th, but the following year it ended its dropping streak by rising to 17th. Gentoo was placed 18th in 2010, 20th in 2011 and 22nd in 2012.
- Gentoo-derived distributions
- Calculate Linux
- Sabayon Linux
- Tin Hat Linux
- Distributions using Gentoo's Portage system
- "Official Gentoo Handbook – Introduction". gentoo.org. 2008-04-22. Retrieved 2011-01-18.
- "Gentoo Linux Frequently Asked Questions". Retrieved 27 April 2013.
- "Gentoo Linux Frequently Asked Questions". Gentoo.org. 2008-10-25. Retrieved 2010-01-28.
- "Gentoo Linux – About Gentoo". Gentoo.org. 2007-09-17. Retrieved 2010-01-28.
- "Gentoo Linux Documentation – Making the distribution, Part 1". Gentoo.org. 2005-10-09. Retrieved 2010-01-28.
- "Planet Mirror – enoch – Enoch Linux – enoch-0.75 – download now". Public.planetmirror.com. 2007-02-11. Retrieved 2010-01-28.[dead link]
- BBC – Science & Nature – Wildfacts – Gentoo penguin
- "Gentoo Linux Documentation – Making the distribution, Part 2". Gentoo.org. 2005-10-09. Retrieved 2010-01-28.
- "Gentoo Linux Documentation – Making the distribution, Part 3". Gentoo.org. 2005-10-09. Retrieved 2010-01-28.
- "Slashdot | Gentoo 1.0 Released". Linux.slashdot.org. 2002-03-31. Retrieved 2010-01-28.
- "Daniel Robbins Resigns As Chief Gentoo Architect". Slashdot. Retrieved 2010-01-28.
- "Gentoo Linux Documentation – Gentoo Foundation Charter". Gentoo.org. 2010-01-02. Retrieved 2010-01-28.
- "Gentoo Linux – New foundation trustees elected". Gentoo.org. 2008-03-02. Retrieved 2010-01-28.
- "Gentoo Linux Projects – Gentoo Council". Gentoo.org. Retrieved 2010-01-28.
- Gentoo Council. Accessed May 8, 2009.
- GENTOO FOUNDATION, INC., Corporations Information Inquiry, New Mexico Public Relation Commission. Accessed May 8, 2009.
- jake (2008-01-14). "Gentoo loses charter; Robbins offers to return [LWN.net]". Lwn.net. Retrieved 2010-01-28.
- "Gentoo Foundation, Inc.". New Mexico Corporation Division Efile. Retrieved 2013-04-27.
- "Gentoo 2007.0 press release". Retrieved 2010-01-28.
- "Gentoo Linux Projects – Gentoo Linux MIPS Development". Gentoo.org. 2007-01-11. Retrieved 2010-01-28.
- "Gentoo Linux for PS3 Development". Gentoo.org. 2006-12-26. Retrieved 2010-01-28.
- "Gentoo Linux Documentation – s390 Installation Document". Dev.gentoo.org. 2004-05-12. Retrieved 2010-01-28.
- "Gentoo Linux Projects – Gentoo Linux ARM Development". Gentoo.org. Retrieved 2010-01-28.
- "Gentoo Development Guide: Arch Specific Notes – SPARC". Devmanual.gentoo.org. Retrieved 2010-01-28.
- "Gentoo/FreeBSD installation guide". Gentoo.org. 2009-04-22. Retrieved 2010-01-28.
- "Gentoo Linux Projects – Gentoo/*BSD". Gentoo.org. 2006-10-19. Retrieved 2010-01-28.
- "Gentoo GNU Hurd". Mundurat.net. Retrieved 2010-01-28.
- Licenses Gentoo Linux Wiki
- "Gentoo Linux x86 Handbook – A Portage Introduction". Gentoo.org. 2010-01-01. Retrieved 2010-01-28.
- "Gentoo Linux Projects – Package Manager Specification". Gentoo.org. Retrieved 2010-01-28.
- Gentoo Handbook
- "Gentoo Linux Newsletter – 16 April 2007". Gentoo.org. Retrieved 2010-01-28.
- "How do I Install Gentoo Using a Stage1 or Stage2 Tarball?".
- "Compiling & Installing Linux 2.4". Smartcomputing.com. 2007-01-05. Retrieved 2010-01-28.
- Gentoo Linux Documentation – Configuring the Kernel
- "Gentoo Linux Newsletter – November 14th, 2005". Gentoo.org. Retrieved 2010-01-28.
- "Mail To News And Back Again". Gmane. 2005-11-05. Retrieved 2010-01-28.
- "UNetbootin – Universal Netboot Installer". Unetbootin.sourceforge.net. Retrieved 2010-01-28.
- Daniel Robbins (2002-10-10). "Gentoo Linux Reloaded". LinuxDevCenter.com. Retrieved 2007-01-04.
- Sven Vermeulen (2004-03-01). "Gentoo Linux 2004.0 Released". OSNews. Retrieved 2007-01-04.
- "What is the Gentoo Reference Platform?". Retrieved 2006-01-04.
- "Gentoo Linux Documentation". Retrieved 2011-04-24.
- "Gentoo News – New release strategy to provide more current install media". Gentoo.org. 2008-09-22. Retrieved 2010-01-28.
- "Gentoo News – First sets of weekly stage3 tarballs and minimal CDs released". Gentoo.org. 2008-12-20. Retrieved 2010-01-28.
- Gentoo Linux - Gentoo Linux - Ten Years Compiling: 1999 - 2009. Gentoo.org (2009-10-04). Retrieved on 2013-07-17.
- "Gentoo Linux Newsletter – March 1st, 2004". Gentoo.org. Retrieved 2010-01-28.
- [dead link]
- "Gentoo Linux Newsletter – November 15, 2004". Gentoo.org. Retrieved 2010-01-28.
- "Gentoo Linux – Release Announcement: Gentoo Linux 2005.0". Gentoo.org. 2005-03-27. Retrieved 2010-01-28.
- "Gentoo Linux – Release Announcement: Gentoo Linux 2005.1". Gentoo.org. 2005-08-10. Retrieved 2010-01-28.
- "Gentoo Linux – Media Refresh: Gentoo Linux 2005.1-r1". Gentoo.org. 2005-11-21. Retrieved 2010-01-28.
- "Gentoo Linux – Release Announcement: Gentoo Linux 2006.0". Gentoo.org. 2006-02-27. Retrieved 2010-01-28.
- "Gentoo Linux – Gentoo Linux 2006.1 – Unleashed". Gentoo.org. 2006-08-30. Retrieved 2010-01-28.
- "Gentoo Linux – Gentoo Linux 2007.0 released". Gentoo.org. 2007-05-07. Retrieved 2010-01-28.
- "Gentoo Linux – Gentoo Linux 2008.0 released". Gentoo.org. 2008-07-06. Retrieved 2010-01-28.
- "Gentoo Linux – New release strategy to provide more current install media". Gentoo.org. 2008-09-22. Retrieved 2010-01-28.
- "Gentoo Linux – Ten Years Compiling: 1999–2009". Gentoo.org. 2009-10-04. Retrieved 2010-01-28.
- Configuring the Compile Options, Gentoo Linux x86 Handbook. July 7, 2008. Accessed May 8, 2009.
- Distributed Compiling, Gentoo Linux x86 Handbook. July 7, 2008. Accessed May 8, 2009.
- Caching Compilation, Gentoo Linux x86 Handbook. July 7, 2008. Accessed May 8, 2009.
- Binary Package Support, Gentoo Linux x86 Handbook. July 7, 2008. Accessed May 8, 2009.
- "Gentoo Linux Documentation – Gentoo Name and Logo Usage Guidelines". Gentoo.org. 2005-12-11. Retrieved 2010-01-28.
- "(gentoo) Contents of /xml/images/znurt.jpg". Gentoo.org. 2002-11-09. Retrieved 2011-08-02.
- DistroWatch - 2012
|Wikimedia Commons has media related to Gentoo.|
- Unofficial documentation and other
- Gentoo Linux - the fresh ebuilds
- Planet Larry, another aggregation of user blogs
- Secunia advisories for Gentoo
- Gentoo Linux at DistroWatch
- Articles and media coverage
- Growing With Gentoo, O'Reilly Linux Dev Center, 2004-03-15