Gentoo Linux: Difference between revisions
imported>Ouppygirl Replace weaselly/unsourced claim with citation |
imported>Masterhatch m Reverted 1 edit by ~2026-36376-65 (talk) to last revision by Softwareperson1000 |
||
| Line 11: | Line 11: | ||
| developer = [[Gentoo Foundation]] | | developer = [[Gentoo Foundation]] | ||
| programmed in = [[C (programming language)|C]], [[Perl]], [[Bourne shell|sh]], and [[Python (programming language)|Python]] | | programmed in = [[C (programming language)|C]], [[Perl]], [[Bourne shell|sh]], and [[Python (programming language)|Python]] | ||
| family = | | family = [[Unix-like]] | ||
| working state = Current | | working state = Current | ||
| source model = [[Open-source software|Open source]] | | source model = [[Open-source software|Open source]] | ||
| Line 21: | Line 21: | ||
| supported platforms = [[IA-32]], [[x86-64]], [[PA-RISC|PA-RISC (HPPA)]], [[PowerPC]] 32/64, [[SPARC]] 64-bit, [[DEC Alpha]], [[ARM architecture|ARM]] 32/64, [[MIPS architecture|MIPS]], [[RISC-V]] 32/64, [[Motorola 68000 series|m68k]], [[Loongson|loong]], [[IBM System/390|s390]], [[Z/Architecture|s390x]] | | supported platforms = [[IA-32]], [[x86-64]], [[PA-RISC|PA-RISC (HPPA)]], [[PowerPC]] 32/64, [[SPARC]] 64-bit, [[DEC Alpha]], [[ARM architecture|ARM]] 32/64, [[MIPS architecture|MIPS]], [[RISC-V]] 32/64, [[Motorola 68000 series|m68k]], [[Loongson|loong]], [[IBM System/390|s390]], [[Z/Architecture|s390x]] | ||
| kernel type = [[Monolithic kernel|Monolithic]] ([[Linux kernel]]) | | kernel type = [[Monolithic kernel|Monolithic]] ([[Linux kernel]]) | ||
| userland = [[GNU Core Utilities|GNU]], | | userland = [[GNU Core Utilities|GNU]], with support for non-GNU userlands | ||
| ui = [[Command line interface|CLI]], with support for various [[window manager]]s and [[desktop environment]]s | | ui = [[Command line interface|CLI]], with support for various [[window manager]]s and [[desktop environment]]s | ||
| license = [[Free software]] | | license = [[Free software]] | ||
| Line 27: | Line 27: | ||
}} | }} | ||
'''Gentoo Linux''' (pronounced {{IPAc-en|ˈ|dʒ|ɛ|n|t|uː}} {{respell|JEN|too}}<ref>{{cite web|url=https://wiki.gentoo.org/wiki/FAQ#How_is_Gentoo_pronounced.2C_and_what_does_it_mean.3F|title=Gentoo Linux Frequently Asked Questions|access-date=6 January 2014|quote=Gentoo is pronounced "gen-too" (the "g" in "Gentoo" is a soft "g", as in "gentle").|archive-date=January 6, 2014|archive-url=https://web.archive.org/web/20140106202051/https://wiki.gentoo.org/wiki/FAQ#How_is_Gentoo_pronounced.2C_and_what_does_it_mean.3F|url-status=live}}</ref>) is a [[Linux distribution]] built using the [[Portage (software)|Portage]] [[package management system]]. Unlike a binary [[software distribution]], the source code is compiled locally according to the user's preferences and is often [[Program optimization|optimized]] for the specific type of computer. Precompiled binaries are available for some packages | '''Gentoo Linux''' (pronounced {{IPAc-en|ˈ|dʒ|ɛ|n|t|uː}} {{respell|JEN|too}}<ref>{{cite web|url=https://wiki.gentoo.org/wiki/FAQ#How_is_Gentoo_pronounced.2C_and_what_does_it_mean.3F|title=Gentoo Linux Frequently Asked Questions|access-date=6 January 2014|quote=Gentoo is pronounced "gen-too" (the "g" in "Gentoo" is a soft "g", as in "gentle").|archive-date=January 6, 2014|archive-url=https://web.archive.org/web/20140106202051/https://wiki.gentoo.org/wiki/FAQ#How_is_Gentoo_pronounced.2C_and_what_does_it_mean.3F|url-status=live}}</ref>) is a [[Linux distribution]] built using the [[Portage (software)|Portage]] [[package management system]]. Unlike a binary [[software distribution]], the source code is compiled locally according to the user's preferences and is often [[Program optimization|optimized]] for the specific type of computer. Precompiled binaries are available for some packages, but only for systems using [[Glibc]]; no precompiled binaries are available for [[Musl]] based systems<ref>{{cite web|url=https://wiki.gentoo.org/wiki/Binary_package_guide|title=Binary package guide|publisher=gentoo.org|access-date=2022-09-04|quote=Next to the usual support for source-based ebuilds, Portage also supports building and installing binary packages.|archive-date=February 12, 2018|archive-url=https://web.archive.org/web/20180212004921/https://wiki.gentoo.org/wiki/Binary_package_guide|url-status=live}}</ref>. Gentoo runs on a wide variety of processor architectures. | ||
Gentoo package management is designed to be [[Modular programming|modular]], [[porting|portable]], easy to maintain, and flexible. Gentoo describes itself as a [[Meta (prefix)|meta]]-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.<ref name=gentoo-about>{{cite web |url=https://www.gentoo.org/get-started/about/ |title=Gentoo Linux – About Gentoo |publisher=Gentoo.org |date=2007-09-17 |access-date=2010-01-28 |archive-date=December 21, 2018 |archive-url=https://web.archive.org/web/20181221235233/https://www.gentoo.org/get-started/about/ |url-status=live}}</ref> | Gentoo package management is designed to be [[Modular programming|modular]], [[porting|portable]], easy to maintain, and flexible. Gentoo describes itself as a [[Meta (prefix)|meta]]-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.<ref name=gentoo-about>{{cite web |url=https://www.gentoo.org/get-started/about/ |title=Gentoo Linux – About Gentoo |publisher=Gentoo.org |date=2007-09-17 |access-date=2010-01-28 |archive-date=December 21, 2018 |archive-url=https://web.archive.org/web/20181221235233/https://www.gentoo.org/get-started/about/ |url-status=live}}</ref> | ||
| Line 33: | Line 33: | ||
Gentoo Linux is named after the [[gentoo 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 is named after the [[gentoo 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. | ||
==History== | == History == | ||
[[File:Gentoo Logo Vector.svg|thumb|Gentoo Linux's old vector logo]] | [[File:Gentoo Logo Vector.svg|thumb|Gentoo Linux's old vector logo]] | ||
Gentoo Linux was initially created by [[Daniel Robbins (computer programmer)|Daniel Robbins]] as the ''Enoch Linux'' distribution. Its [[design philosophy]] was that of precompiled binaries which were tuned to the hardware and that only included required programs.<ref>{{cite web|url=http://www.gentoo.org/doc/en/articles/making-the-distro-p1.xml|title=Gentoo Linux Documentation – Making the distribution, Part 1|date=2005-10-09|website=Gentoo.org|archive-url=https://web.archive.org/web/20051126223839/http://www.gentoo.org/doc/en/articles/making-the-distro-p1.xml|archive-date=November 26, 2005|url-status=dead|access-date=2010-01-28|df=mdy-all}}</ref> At least one version of Enoch was distributed under that name: version 0.75, in December 1999.<ref>{{cite web|url=http://public.planetmirror.com/pub/enoch/enoch-0.75 |title=Planet Mirror – enoch – Enoch Linux – enoch-0.75 – download now |website=Public.planetmirror.com |date=2007-02-11 |access-date=2010-01-28 |url-status=dead |archive-url=https://web.archive.org/web/20081228085838/http://public.planetmirror.com/pub/enoch/enoch-0.75 |archive-date=December 28, 2008 |df=mdy}}</ref> An older release labeled "Enoch 0.5" can be found on the CD accompanying the August 1999 edition of the Danish computer magazine ''Alt om Data''.<ref>{{cite web | url=https://archive.org/details/1999-08-alt-om-data-august-1999 | title=Alt Om Data August 1999 | date=August 1999 }}</ref> | Gentoo Linux was initially created by [[Daniel Robbins (computer programmer)|Daniel Robbins]] as the ''Enoch Linux'' distribution. Its [[design philosophy]] was that of precompiled binaries which were tuned to the hardware and that only included required programs.<ref>{{cite web|url=http://www.gentoo.org/doc/en/articles/making-the-distro-p1.xml|title=Gentoo Linux Documentation – Making the distribution, Part 1|date=2005-10-09|website=Gentoo.org|archive-url=https://web.archive.org/web/20051126223839/http://www.gentoo.org/doc/en/articles/making-the-distro-p1.xml|archive-date=November 26, 2005|url-status=dead|access-date=2010-01-28|df=mdy-all}}</ref> At least one version of Enoch was distributed under that name: version 0.75, in December 1999.<ref>{{cite web|url=http://public.planetmirror.com/pub/enoch/enoch-0.75 |title=Planet Mirror – enoch – Enoch Linux – enoch-0.75 – download now |website=Public.planetmirror.com |date=2007-02-11 |access-date=2010-01-28 |url-status=dead |archive-url=https://web.archive.org/web/20081228085838/http://public.planetmirror.com/pub/enoch/enoch-0.75 |archive-date=December 28, 2008 |df=mdy}}</ref> An older release labeled "Enoch 0.5" can be found on the CD accompanying the August 1999 edition of the Danish computer magazine ''Alt om Data''.<ref>{{cite web | url=https://archive.org/details/1999-08-alt-om-data-august-1999 | title=Alt Om Data August 1999 | date=August 1999 }}</ref> | ||
| Line 50: | Line 50: | ||
==Features== | ==Features== | ||
Gentoo | Gentoo is aimed at Linux users who prefer a high degree of control over the software installed and running on their computer.<ref name="Negus2008"/>{{rp|402}} Users who invest time in configuring and optimizing a Gentoo system can build efficient [[Desktop environment|desktops]] and [[Server (computing)|servers]].{{citation needed|date=January 2021}} Gentoo supports building a [[Linux kernel]] tailored to specific hardware. It provides detailed control over which services are installed and running, including the option to choose between [[systemd]] or [[OpenRC]] as the default [[init|init system]], among other possibilities. Memory usage may also be reduced compared to some other distributions by omitting unnecessary kernel features and services.<ref name="Negus2008"/>{{rp|386}} | ||
Gentoo's package repositories provide a large collection of software. Each package contains details of any [[Coupling (computer programming)|dependencies]], so only the minimum set of packages need to be installed. Optional features of individual packages, such as whether they require [[Lightweight Directory Access Protocol|LDAP]] or [[Qt (software)|Qt]] support, can be selected by the user and any resulting package requirements are automatically included in the set of dependencies.<ref name="Negus2008"/>{{rp|386}} | Gentoo's package repositories provide a large collection of software. Each package contains details of any [[Coupling (computer programming)|dependencies]], so only the minimum set of packages need to be installed. Optional features of individual packages, such as whether they require [[Lightweight Directory Access Protocol|LDAP]] or [[Qt (software)|Qt]] support, can be selected by the user and any resulting package requirements are automatically included in the set of dependencies.<ref name="Negus2008"/>{{rp|386}} | ||
| Line 65: | Line 65: | ||
Pre-compiled binaries are provided for some applications with long build times, such as [[LibreOffice]] and [[Firefox|Mozilla 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 using [[Pipeline (Unix)|pipes]] instead of temporary files.<ref>[https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Stage#CFLAGS_and_CXXFLAGS CFLAGS and CXXFLAGS] {{Webarchive|url=https://web.archive.org/web/20180212004956/https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Stage#CFLAGS_and_CXXFLAGS |date=February 12, 2018}}, Gentoo Linux x86 Handbook. December 13, 2014. Accessed February 10, 2018.</ref> Package compiling may also be distributed over multiple computers.<ref>[https://wiki.gentoo.org/wiki/Distcc Distcc] {{Webarchive|url=https://web.archive.org/web/20180212004954/https://wiki.gentoo.org/wiki/Distcc |date=February 12, 2018}}, Gentoo Linux Wiki. February 2, 2018. Accessed February 10, 2018.</ref> Additionally, the user may be able to [[RAM drive|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.<ref>[https://wiki.gentoo.org/wiki/Binary_package_guide Binary package guide] {{Webarchive|url=https://web.archive.org/web/20180212004921/https://wiki.gentoo.org/wiki/Binary_package_guide |date=February 12, 2018}}, Gentoo Linux Wiki. November 13, 2017. Accessed February 10, 2018.</ref> | Pre-compiled binaries are provided for some applications with long build times, such as [[LibreOffice]] and [[Firefox|Mozilla 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 using [[Pipeline (Unix)|pipes]] instead of temporary files.<ref>[https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Stage#CFLAGS_and_CXXFLAGS CFLAGS and CXXFLAGS] {{Webarchive|url=https://web.archive.org/web/20180212004956/https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Stage#CFLAGS_and_CXXFLAGS |date=February 12, 2018}}, Gentoo Linux x86 Handbook. December 13, 2014. Accessed February 10, 2018.</ref> Package compiling may also be distributed over multiple computers.<ref>[https://wiki.gentoo.org/wiki/Distcc Distcc] {{Webarchive|url=https://web.archive.org/web/20180212004954/https://wiki.gentoo.org/wiki/Distcc |date=February 12, 2018}}, Gentoo Linux Wiki. February 2, 2018. Accessed February 10, 2018.</ref> Additionally, the user may be able to [[RAM drive|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.<ref>[https://wiki.gentoo.org/wiki/Binary_package_guide Binary package guide] {{Webarchive|url=https://web.archive.org/web/20180212004921/https://wiki.gentoo.org/wiki/Binary_package_guide |date=February 12, 2018}}, Gentoo Linux Wiki. November 13, 2017. Accessed February 10, 2018.</ref> | ||
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. | 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.<ref>{{cite web |url=https://www.gentoo.org/news/2023/12/29/Gentoo-binary.html |title=Gentoo goes Binary!}}</ref> | ||
<ref>{{cite web |url=https://www.gentoo.org/news/2023/12/29/Gentoo-binary.html |title=Gentoo goes Binary!}}</ref> | |||
===Portability=== | ===Portability=== | ||
As Gentoo is a source-based distribution with a repository describing how to build the packages, adding instructions to build on different [[Instruction set architecture|machine architectures]] is particularly easy.<ref name="Horan2013">{{cite book|author=Brendan Horan|title=Practical Raspberry Pi|url=https://books.google.com/books?id=5Vy_UfRQduQC&pg=PA222|date=March 26, 2013|publisher=Apress|isbn=978-1-4302-4971-9|pages=222–|access-date=April 20, 2020|archive-date=March 26, 2023|archive-url=https://web.archive.org/web/20230326011821/https://books.google.com/books?id=5Vy_UfRQduQC&pg=PA222|url-status=live}}</ref> | |||
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]], [[PA-RISC]], [[32-bit computing|32-bit]] and [[64-bit computing|64-bit]] [[PowerPC]], 64-bit [[SPARC]], [[DEC Alpha]], and 32- and 64-bit [[ARM architecture|ARM]] architectures.<ref>{{cite web |url=https://wiki.gentoo.org/wiki/Handbook:Main_Page#Viewing_the_Handbook |title=Handbook:Main Page - Gentoo Wiki |access-date=2018-08-31 |archive-date=March 18, 2017 |archive-url=https://web.archive.org/web/20170318083659/https://wiki.gentoo.org/wiki/Handbook:Main_Page#Viewing_the_Handbook |url-status=live}}</ref> It is also officially supported but considered in-development state on [[MIPS architecture|MIPS]],<ref>{{cite web|url=https://wiki.gentoo.org/wiki/Project:MIPS|title=Gentoo/MIPS|publisher=gentoo.org|access-date=2014-01-06|archive-date=January 6, 2014|archive-url=https://web.archive.org/web/20140106202500/https://wiki.gentoo.org/wiki/Project:MIPS|url-status=live}}</ref> [[Cell (microprocessor)|PS3 Cell Processor]], [[IBM Z|System Z/s390]].<ref>{{cite web |url=https://dev.gentoo.org/~vapier/s390/ |title=Gentoo Linux Documentation – s390 Installation Document |publisher=dev.gentoo.org |date=2004-05-12 |access-date=2010-01-28 |archive-date=July 28, 2011 |archive-url=https://web.archive.org/web/20110728051203/http://dev.gentoo.org/~vapier/s390/ |url-status=live}}</ref> Official support for 32-bit SPARC, SuperH and Itanium have been dropped.<ref>{{cite web |url=https://devmanual.gentoo.org/archs/sparc/index.html |title=Gentoo Development Guide: Arch Specific Notes – SPARC |publisher=devmanual.gentoo.org |access-date=2018-02-10 |archive-date=September 1, 2018 |archive-url=https://web.archive.org/web/20180901113131/https://devmanual.gentoo.org/archs/sparc/index.html |url-status=live}}</ref><ref>{{cite web |title=*/*: Discontinue Gentoo SuperH port |url=https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e51443573bdad1d4757bed11ed5c02f137b822e |access-date=July 23, 2020 |archive-date=July 23, 2020 |archive-url=https://web.archive.org/web/20200723053402/https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e51443573bdad1d4757bed11ed5c02f137b822e |url-status=live}}</ref> | 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]], [[PA-RISC]], [[32-bit computing|32-bit]] and [[64-bit computing|64-bit]] [[PowerPC]], 64-bit [[SPARC]], [[DEC Alpha]], and 32- and 64-bit [[ARM architecture|ARM]] architectures.<ref>{{cite web |url=https://wiki.gentoo.org/wiki/Handbook:Main_Page#Viewing_the_Handbook |title=Handbook:Main Page - Gentoo Wiki |access-date=2018-08-31 |archive-date=March 18, 2017 |archive-url=https://web.archive.org/web/20170318083659/https://wiki.gentoo.org/wiki/Handbook:Main_Page#Viewing_the_Handbook |url-status=live}}</ref> It is also officially supported but considered in-development state on [[MIPS architecture|MIPS]],<ref>{{cite web|url=https://wiki.gentoo.org/wiki/Project:MIPS|title=Gentoo/MIPS|publisher=gentoo.org|access-date=2014-01-06|archive-date=January 6, 2014|archive-url=https://web.archive.org/web/20140106202500/https://wiki.gentoo.org/wiki/Project:MIPS|url-status=live}}</ref> [[Cell (microprocessor)|PS3 Cell Processor]], [[IBM Z|System Z/s390]].<ref>{{cite web |url=https://dev.gentoo.org/~vapier/s390/ |title=Gentoo Linux Documentation – s390 Installation Document |publisher=dev.gentoo.org |date=2004-05-12 |access-date=2010-01-28 |archive-date=July 28, 2011 |archive-url=https://web.archive.org/web/20110728051203/http://dev.gentoo.org/~vapier/s390/ |url-status=live}}</ref> Official support for 32-bit SPARC, SuperH and Itanium have been dropped.<ref>{{cite web |url=https://devmanual.gentoo.org/archs/sparc/index.html |title=Gentoo Development Guide: Arch Specific Notes – SPARC |publisher=devmanual.gentoo.org |access-date=2018-02-10 |archive-date=September 1, 2018 |archive-url=https://web.archive.org/web/20180901113131/https://devmanual.gentoo.org/archs/sparc/index.html |url-status=live}}</ref><ref>{{cite web |title=*/*: Discontinue Gentoo SuperH port |url=https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e51443573bdad1d4757bed11ed5c02f137b822e |access-date=July 23, 2020 |archive-date=July 23, 2020 |archive-url=https://web.archive.org/web/20200723053402/https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e51443573bdad1d4757bed11ed5c02f137b822e |url-status=live}}</ref> | ||
Portability towards other operating systems, such as those derived from [[Berkeley Software Distribution]] (BSD), including [[macOS]], is under active development by the [[Gentoo/Alt]] project. The [[Gentoo/Alt#Gentoo/FreeBSD|Gentoo/FreeBSD]] project already has a working guide based on [[FreeSBIE]],<ref>{{cite web|url=https://wiki.gentoo.org/wiki/Gentoo_FreeBSD|title=Gentoo FreeBSD|publisher=gentoo.org|access-date=2014-01-06|archive-date=January 6, 2014|archive-url=https://web.archive.org/web/20140106211205/https://wiki.gentoo.org/wiki/Gentoo_FreeBSD|url-status=live}}</ref> while Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonFly are being developed.<ref>{{cite web |url=http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml |title=Gentoo Linux Projects – Gentoo/*BSD |publisher=Gentoo.org |date=2006-10-19 |access-date=2010-01-28 |url-status=dead |archive-url=https://web.archive.org/web/20100305161659/http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml |archive-date=March 5, 2010 |df=mdy-all}}</ref> A project exists to get Portage working on [[OpenSolaris]]. | Portability towards other operating systems, such as those derived from [[Berkeley Software Distribution]] (BSD), including [[macOS]], is under active development by the [[Gentoo/Alt]] project. The [[Gentoo/Alt#Gentoo/FreeBSD|Gentoo/FreeBSD]] project already has a working guide based on [[FreeSBIE]],<ref>{{cite web|url=https://wiki.gentoo.org/wiki/Gentoo_FreeBSD|title=Gentoo FreeBSD|publisher=gentoo.org|access-date=2014-01-06|archive-date=January 6, 2014|archive-url=https://web.archive.org/web/20140106211205/https://wiki.gentoo.org/wiki/Gentoo_FreeBSD|url-status=live}}</ref> while Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonFly are being developed.<ref>{{cite web |url=http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml |title=Gentoo Linux Projects – Gentoo/*BSD |publisher=Gentoo.org |date=2006-10-19 |access-date=2010-01-28 |url-status=dead |archive-url=https://web.archive.org/web/20100305161659/http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml |archive-date=March 5, 2010 |df=mdy-all}}</ref> A project exists to get Portage working on [[OpenSolaris]]. An experimental port to [[GNU Hurd]] was released on April 1, 2026.<ref>{{Cite web |title=[gentoo-dev] [PATCH 00/94] Porting Gentoo to the Hurd - Sam James |url=https://public-inbox.gentoo.org/gentoo-dev/cover.1774994271.git.sam@gentoo.org/ |access-date=2026-05-01 |website=public-inbox.gentoo.org}}</ref> | ||
It is also possible to install a Gentoo Prefix (provided by a project that maintains alternative installation methods for Gentoo) in a [[Cygwin]] environment on Windows, but this configuration is experimental.<ref>{{cite web |url=https://wiki.gentoo.org/wiki/Prefix/Cygwin |title=Gentoo Wiki - Prefix/Cygwin |access-date=February 10, 2018 |archive-date=November 12, 2019 |archive-url=https://web.archive.org/web/20191112090959/https://wiki.gentoo.org/wiki/Prefix/Cygwin |url-status=live}}</ref> | It is also possible to install a Gentoo Prefix (provided by a project that maintains alternative installation methods for Gentoo) in a [[Cygwin]] environment on Windows, but this configuration is experimental.<ref>{{cite web |url=https://wiki.gentoo.org/wiki/Prefix/Cygwin |title=Gentoo Wiki - Prefix/Cygwin |access-date=February 10, 2018 |archive-date=November 12, 2019 |archive-url=https://web.archive.org/web/20191112090959/https://wiki.gentoo.org/wiki/Prefix/Cygwin |url-status=live}}</ref> | ||
| Line 230: | Line 229: | ||
[[Category:Gentoo Linux| ]] | [[Category:Gentoo Linux| ]] | ||
[[Category:2002 software]] | [[Category:2002 software]] | ||
[[Category:Independent Linux distributions]] | |||
[[Category:PowerPC Linux distributions]] | |||
[[Category:Rolling release Linux distributions]] | |||
[[Category:Source-based Linux distributions]] | [[Category:Source-based Linux distributions]] | ||
[[Category:X86-64 Linux distributions]] | [[Category:X86-64 Linux distributions]] | ||
Latest revision as of 02:17, 24 June 2026
Template:Short description Script error: No such module "Unsubst". Script error: No such module "Unsubst".Script error: No such module "Check for unknown parameters".
Gentoo Linux (pronounced Script error: No such module "IPAc-en". Script error: No such module "Respell".[1]) 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 packages, but only for systems using Glibc; no precompiled binaries are available for Musl based systems[2]. Gentoo runs on a wide variety of processor architectures.
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 its users have configurations and sets of installed programs which are unique to the system and the applications they use.[3]
Gentoo Linux is named after the gentoo 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.
History
Gentoo Linux was initially created by Daniel Robbins as the Enoch Linux distribution. Its design philosophy was that of precompiled binaries which were tuned to the hardware and that only included required programs.[4] At least one version of Enoch was distributed under that name: version 0.75, in December 1999.[5] An older release labeled "Enoch 0.5" can be found on the CD accompanying the August 1999 edition of the Danish computer magazine Alt om Data.[6]
Daniel Robbins and the other contributors experimented with a fork of GCC known as EGCS, developed by Cygnus 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.[7]
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 (now called Portage) a true next-generation ports system."[8]
Gentoo Linux 1.0 was released on March 31, 2002.[9] 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.[10]
The current board of trustees[11] is composed of five members who were announced (following an election) on March 2, 2008.[12] The seven-member Gentoo Council oversees related technical issues and policies.[13] 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.[14]
The Gentoo Foundation is a domestic non-profit corporation,[15] registered in the State of New Mexico.[16] In late 2007, the Foundation's charter was revoked,[17] 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.[18]
The creator of Gentoo, Daniel Robbins, left the project in both 2004 and 2007 due to conflicts with other developers.[19][20][21][22][23][24]
Features
Gentoo is aimed at Linux users who prefer a high degree of control over the software installed and running on their computer.[25]Template:Rp Users who invest time in configuring and optimizing a Gentoo system can build efficient desktops and servers.Script error: No such module "Unsubst". Gentoo supports building a Linux kernel tailored to specific hardware. It provides detailed control over which services are installed and running, including the option to choose between systemd or OpenRC as the default init system, among other possibilities. Memory usage may also be reduced compared to some other distributions by omitting unnecessary kernel features and services.[25]Template:Rp
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 or Qt support, can be selected by the user and any resulting package requirements are automatically included in the set of dependencies.[25]Template:Rp
Gentoo itself does not have a default look and feel, hence installed packages usually appear as their authors intended.[25]Template:Rp
Portage
Script error: No such module "Labelled list hatnote".
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 (BSD) operating systems. The Gentoo repository contains over 19,000 packages.[26]
A single invocation of portage's <templatestyles src="Mono/styles.css" />emerge 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".[26]
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 compiling times, such as by enabling parallel compiling or using pipes instead of temporary files.[27] Package compiling may also be distributed over multiple computers.[28] 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.[29]
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.[30]
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.[31]
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, PA-RISC, 32-bit and 64-bit PowerPC, 64-bit SPARC, DEC Alpha, and 32- and 64-bit ARM architectures.[32] It is also officially supported but considered in-development state on MIPS,[33] PS3 Cell Processor, System Z/s390.[34] Official support for 32-bit SPARC, SuperH and Itanium have been dropped.[35][36]
Portability towards other operating systems, such as those derived from Berkeley Software Distribution (BSD), including macOS, is under active development by the Gentoo/Alt project. The Gentoo/FreeBSD project already has a working guide based on FreeSBIE,[37] while Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonFly are being developed.[38] A project exists to get Portage working on OpenSolaris. An experimental port to GNU Hurd was released on April 1, 2026.[39]
It is also possible to install a Gentoo Prefix (provided by a project that maintains alternative installation methods for Gentoo) in a Cygwin environment on Windows, but this configuration is experimental.[40]
Installation
Gentoo may be installed in several ways. The most common is to use the Gentoo minimal CD with a stage3 tarball (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 the KDE Plasma 6 desktop environment, image editors, office software, system administration, and installation tools.[41]
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.[42]
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.[43] 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,[44] Reddit,[45] and IRC.[46]
A Live USB of Gentoo Linux can be created manually, by using various tools, or with dd as described in the handbook.
Stages
Before October 2005, installation could be started from any of three base stages:
- Stage1 begins with only what is necessary to build a toolchain (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 as bootstrapping the target system.
- Stage2 begins with a self-hosting (bootstrapped) toolchain for the target system, which is then used to compile all other core userland software for the target.
- Stage3 begins with a minimal set of compiled user software, with which the kernel 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 numerous circular dependencies).[47] Tarballs for stage1 and stage2 were distributed for some time after this,Script error: No such module "Unsubst". although the instructions for installing from these stages had been removed from the handbook[48] and moved into the Gentoo FAQ.[49] As of September 2015[update]Script error: No such module "Check for unknown parameters"., 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.[50]
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 a fully functional Gentoo installation.[51][52] These packages included KDE, X Window System, OpenOffice, GNOME, and Mozilla.[53] 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.[54]Script error: No such module "Unsubst".
Versions
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.[55] On December 20, 2008, the first weekly builds were published.[56] In 2009, a special Live DVD was created to celebrate the Gentoo 10-year anniversary.[57]
Release media version history
| Name | Date |
|---|---|
| (Enoch Linux) 0.75 | Template:Dts |
| pre-1.0 | Template:Dts |
| 1.0[58] | Template:Dts |
| 1.1a | Template:Dts |
| 1.2 | Template:Dts |
| 1.4 | Template:Dts (Gentoo Reference Platform introduced) |
| 1.4 maintenance release 1 | Template:DtsScript error: No such module "Unsubst". |
| 2004.0[59] | Template:Dts[60] (versioning changed to four releases a year) |
| 2004.1 | Template:Dts |
| 2004.2 | Template:Dts[61] |
| 2004.3 | Template:Dts[62] |
| 2005.0[63] | Template:Dts[64] (versioning changed to semi-annual releases) |
| 2005.1[65] | Template:Dts[66] |
| 2005.1-r1 | Template:Dts[67] (maintenance release 1) |
| 2006.0 | Template:Dts[68] |
| 2006.1 | Template:Dts[69] |
| 2007.0 | Template:Dts[70] |
| 2008.0 | Template:Dts[71] |
| Weekly Releases started[72] | Template:Dts |
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.
| Name | Date/info |
|---|---|
| Unreal Tournament 2003 LiveCD | Template:Dts[73] - Bootable NVIDIA GPU-accelerated Unreal Tournament 2003 LiveCD, demoed at LinuxWorld Conference and Expo 2003. |
| 10.0 | Template:Dts[57] (special edition Live DVD for the 10th anniversary) |
| 10.1 | Template:Dts[74] (Bugfix release of Special Live DVD) |
| 11.0 | Template:Dts[75] (Anniversary Live DVD is updated to latest package versions) |
| 12.0 | Template:Dts[76] |
| 12.1 | Template:Dts[77] (With an April Fool's joke named "Install Wizard") |
| 20121221 | Template:Dts[78] (Live DVD - End Of World Edition) |
| 20140826 | Template:Dts[79] (Live DVD - Iron Penguin Edition) |
| 20160514 | Template:Dts[80] (Live DVD - Choice Edition; UEFI, ZFSOnLinux, and writable file systems using AUFS) |
| 20160704[81] | Template:Dts[82] (Live DVD - Choice Edition Part Dos) |
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 (such as servers and desktops). 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 | Template:Dts[83] (cosmetic name change from 2008.0 profiles) |
| 13.0 | Template:Dts[84] |
| 17.0 | Template:Dts[85] (C++14 and PIE by default) |
| 17.1 | Template:Dts[86] (altered multilib layout for amd64 systems) |
| 23.0 | Template:Dts[87] (merged /usr became the default) |
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.[88] 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.[89]
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.[90][91][92][93][94]
Logo and mascots
The gentoo penguin is thought to be the fastest underwater-swimming penguin. The name Gentoo Linux is a reference both to the omnibus Linux mascotTemplate:Mdash a penguin called TuxTemplate:Mdash and the project's aim to produce a high-performance operating system.[25]Template:Rp Unofficial mascots include Larry The Cow[3] and Znurt the Flying Saucer.[95]
Derived distributions
Script error: No such module "Labelled list hatnote".
Several independently developed Gentoo Linux variants exist, as do products built off of Gentoo such as ChromiumOS.
See also
Script error: No such module "Portal".
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Gentoo Council. Accessed January 6, 2014.
- ↑ Script error: No such module "citation/CS1".
- ↑ GENTOO FOUNDATION, INC.Script error: No such module "Unsubst".Template:Cbignore, Corporations Information Inquiry, New Mexico Public Relation Commission. Accessed May 8, 2009.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d e Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ CFLAGS and CXXFLAGS Script error: No such module "webarchive"., Gentoo Linux x86 Handbook. December 13, 2014. Accessed February 10, 2018.
- ↑ Distcc Script error: No such module "webarchive"., Gentoo Linux Wiki. February 2, 2018. Accessed February 10, 2018.
- ↑ Binary package guide Script error: No such module "webarchive"., Gentoo Linux Wiki. November 13, 2017. Accessed February 10, 2018.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
External links
Script error: No such module "Side box".
- Script error: No such module "Official website".Script error: No such module "Check for unknown parameters".
Script error: No such module "Navbox". Script error: No such module "Authority control".
- Pages with script errors
- Pages with broken file links
- Articles containing potentially dated statements from September 2015
- Articles with invalid date parameter in template
- All articles containing potentially dated statements
- Gentoo Linux
- 2002 software
- Independent Linux distributions
- PowerPC Linux distributions
- Rolling release Linux distributions
- Source-based Linux distributions
- X86-64 Linux distributions