Gentoo Linux

Gentoo Linux

Infobox_OS
name = Gentoo Linux



caption = The desktop as provided by Gentoo Linux Live CD, release 2008.0
website = [http://www.gentoo.org www.gentoo.org]
developer = Gentoo Foundation
family = Linux
source_model = Open source, Free Software
latest_release_version = 2008.0
latest_release_date = release date and age|2008|07|06
kernel_type = Monolithic kernel, Linux
ui = Command line interface, X Window System
license = Various
working_state = Current
supported_platforms = x86, x86-64, IA-64, PA-RISC; PowerPC 32/64, SPARC, DEC Alpha, ARM, MIPS, S390 [ [http://packages.gentoo.org/arch/s390?arches=exotic Gentoo Packages /arch/s390/] ] , sh
updatemodel = Emerge
package_manager = Portage
The Gentoo Linux operating system (pronEng|ˈdʒɛntuː) is a Linux distribution based on the Portage package management system. The development project and its products are named after the Gentoo penguin. Gentoo package management is designed to be modular, portable, easy to maintain, flexible, and optimized for the user's machine. Packages are normally built from source code, continuing the tradition of the ports collection, although for convenience, some large software packages are also available as precompiled binaries for various architectures.

History

Gentoo was initially created by Daniel Robbins as the "Enoch Linux" distribution. The goal was to create a distribution that was built from source code, tuned to the hardware, only included required programs, and decreased maintainer workload through scripting. [ [http://www.gentoo.org/doc/en/articles/making-the-distro-p1.xml Gentoo Linux Documentation - Making the distribution, Part 1 ] ] At least one version of Enoch was distributed: version 0.75, in December 1999. [ [http://public.planetmirror.com/pub/enoch/enoch-0.75 Planet Mirror - enoch - Enoch Linux - enoch-0.75 - download now ] ]

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 that produced binaries with at least a 10% real world speedup over pgcc. At this point, Enoch gained a reputation for its speed, prompting the name change to Gentoo Linux (the Gentoo species is the fastest swimming penguin). The modifications eventually became part of the official gcc (version 2.95), and other Linux distributions experienced similar speed increases. [ [http://www.gentoo.org/doc/en/articles/making-the-distro-p2.xml Gentoo Linux Documentation - Making the distribution, Part 2 ] ]

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." [ [http://www.gentoo.org/doc/en/articles/making-the-distro-p3.xml Gentoo Linux Documentation - Making the distribution, Part 3 ] ] Gentoo Linux 1.0 was released 2002-03-31. [ [http://linux.slashdot.org/article.pl?sid=02/03/31/2123251 Slashdot | Gentoo 1.0 Released ] ]

Robbins had wanted Gentoo Linux to become a commercially successful project, but found an appropriate business model difficult to achieve. In 2004 he set up the non-profit Gentoo Foundation, transferred all copyrights and trademarks to it, and stepped down as Chief Architect of the project. [http://archives.gentoo.org/gentoo-nfp/msg_00845.xml] [ [http://slashdot.org/article.pl?sid=04/04/26/2259211 Slashdot | Daniel Robbins Resigns As Chief Gentoo Architect ] ]

The current Board of Trustees [ [http://www.gentoo.org/foundation/en/#doc_chap4 Gentoo Linux Documentation - Gentoo Foundation Charter ] ] is composed of five members who were announced (following an election) on March 2, 2008. [ [http://www.gentoo.org/news/20080302-foundation-election.xml Gentoo Linux - New foundation trustees elected ] ] There is also a subsidiary seven-member Gentoo Council whose members decide on technical issues and policies. [ [http://www.gentoo.org/proj/en/council/ Gentoo Linux Projects - Gentoo Council ] ] The current Council members were elected over the period of August 17, 2007 to September 17, 2007 by 117 active Gentoo developers. [http://archives.gentoo.org/gentoo-dev/msg_147748.xml]

Until recently, the Gentoo Foundation was a 501c6 non-profit foundation, registered in the State of New Mexico. [ [http://www.nmprc.state.nm.us/cgi-bin/prcdtl.cgi?2463313+GENTOO+FOUNDATION+INC] ] In late 2007, the Foundation's charter was revoked. [ [http://lwn.net/Articles/265006/ Gentoo loses charter; Robbins offers to return [LWN.net ] ] As of May 19, 2008 the State of New Mexico declared that the Gentoo Foundation Inc has returned to good standing and is free to do business [ [http://archives.gentoo.org/gentoo-nfp/msg_d2632d76e6582187bb1816897bb81ffd.xml Gentoo Linux - List Archive: gentoo-nfp ] ] .

Portability

Although originally designed for the x86 architecture, it has been ported to many others and currently runs on the x86, x86-64, IA-64, PA-RISC; PowerPC, PowerPC 970, SPARC64, MIPS, DEC Alpha, System Z/s390, PS3 Cell Processor [ [http://www.gentoo.org/proj/en/base/ppc64/ps3/ Gentoo Linux for PS3 Development] ] and SuperH architectures. [http://www.gentoo.org/proj/en/releng/release/2007.0/2007.0-press-release.txt] Official support for 32bit Sparc hardware has been dropped. [ [http://devmanual.gentoo.org/archs/sparc/index.html Gentoo Development Guide: Arch Specific Notes - SPARC ] ] Gentoo was the first distribution to offer a fully functional 64-bit Linux computing environment (user space and kernel).

There is also a "Gentoo for Mac OS X" project which allows Mac OS X users to use Gentoo's Portage to install packages, similar to the way provided by Fink. Although still a work in progress, this project can coexist with Fink because it uses the same environment as Mac OS X instead of creating a new one.

Portability toward other operating systems, such as BSD-derived ones, is under active development by the Gentoo/ALT project. The Gentoo/FreeBSD project already has a working release, while Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonFly are being developed. [ [http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml Gentoo Linux Projects - Gentoo/*BSD ] ] There is also a project to get Portage working on the GNU Hurd (although development is slow) and OpenSolaris.

Portage

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 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.

Portage is also the name of Gentoo's default package management utility. This package provides, among other useful scripts, the emerge utility, which is written in Python and can be used by privileged users to easily 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/make.conf (again similar to ports) to determine where the Portage tree is kept.

Recently, 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 [http://www.gentoo.org/proj/en/qa/pms.xml Gentoo Linux Projects - Package Manager Specification ] ]

Init system

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.

[http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&ch
] use the runscript shell interpreter, rather than a more traditional shell.

Originally Gentoo's rc system was built into baselayout 1 and written entirely in bash. This led to several limitations. For example, certain system calls need to be accessed during boot and this 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 like Gentoo/FreeBSD and Gentoo Embedded, it became impossible to require a bash-based rc system. This led to a development of baselayout 2, which is written in C and only requires a POSIX-compliant shell. During the development of baselayout 2, it was determined that it was a better fit if baselayout merely provided the base files and filesystem layout for Gentoo and the rc system was broken off into its own package - OpenRC. [ [http://www.gentoo.org/news/en/gwn/20070416-newsletter.xml Gentoo Linux Newsletter - 16 April 2007 ] ] .

OpenRC is primarily developed by [http://roy.marples.name Roy Marples] and supports all current Gentoo variations Gentoo Linux, Gentoo/FreeBSD, Gentoo Embedded, and Gentoo Vserver and other platforms such as FreeBSD and NetBSD.

Installation

Gentoo may be installed in several ways. The most common way is to use the Gentoo minimal cd with a stage 3 tarball. As with many Linux distributions, it can also be installed by most Live CDs and existing Linux installations.

Installation of Gentoo can be completed by following the [http://www.gentoo.org/doc/en/handbook/index.xml Gentoo Handbook] . Additionally, several other methods of installation are listed in the [http://www.gentoo.org/doc/en/altinstall.xml Alternative Installation Method HOWTO] ; most of which are targeted at experienced users or users unable to boot from the Gentoo live CD.

As of version 2006.0, the Gentoo Foundation has released a GTK+ based installer to greatly simplify the process of installing the distribution from scratch. [http://www.gentoo.org/doc/en/handbook/2006.1/handbook-x86.xml?part=1&ch
] More advanced users will note that the new installer also brings back the stage 1 installation (see below) as a common installation method.

Catalyst

Starting with 2004.0, Gentoo introduced a tool called [http://www.gentoo.org/proj/en/releng/catalyst/ Catalyst] , which is used to build all Gentoo releases and can be used to build one's own customized install media.

Stages

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. [ [http://www.gentoo.org/news/en/gwn/20051114-newsletter.xml Gentoo Linux Newsletter - November 14th, 2005 ] ] Although tarballs for stage1 and stage2 are still distributed, the instructions for installing from these stages have been removed from the handbook [ [http://article.gmane.org/gmane.linux.gentoo.documentation/2327 Gmane - Mail To News And Back Again ] ] and put into the Gentoo FAQ.

Live USB

A Live USB of Gentoo Linux can be created manually or with UNetbootin [ [http://unetbootin.sourceforge.net/] ] .

Version history

* 1.0, March 31, 2002
* 1.2, June 2002
* 1.4 August 5, 2003 (Gentoo Reference Platform introduced)
* 1.4 maintenance release 1 September 11, 2003
* 2004.0 March 1, 2004 [ [http://www.gentoo.org/news/en/gwn/20040301-newsletter.xml Gentoo Linux Newsletter - March 1st, 2004 ] ] (versioning changed to four releases a year)
* 2004.1 April 28, 2004 [http://archives.gentoo.org/gentoo-announce/msg_02473.xml]
* 2004.2 July 26, 2004 [http://www.gentoo.org/proj/en/releng/release/2004.2/2004.2-press-release.txt]
* 2004.3 November 15, 2004 [ [http://www.gentoo.org/news/en/gwn/20041115-newsletter.xml Gentoo Linux Newsletter - November 15, 2004 ] ]
* 2005.0 March 27, 2005 [ [http://www.gentoo.org/news/20050327-release-2005.0.xml Gentoo Linux - Release Announcement: Gentoo Linux 2005.0 ] ] (versioning changed to semi-annual releases)
* 2005.1 August 8, 2005 [ [http://www.gentoo.org/news/20050808-annoncement-release-2005.1.xml Gentoo Linux - Release Announcement: Gentoo Linux 2005.1 ] ]
* 2005.1-r1 November 21, 2005 [ [http://www.gentoo.org/news/20051121-release-2005.1-r1.xml Gentoo Linux - Media Refresh: Gentoo Linux 2005.1-r1 ] ] (maintenance release 1)
* 2006.0 February 27, 2006 [ [http://www.gentoo.org/news/20060227-release-2006.0.xml Gentoo Linux - Release Announcement: Gentoo Linux 2006.0 ] ]
* 2006.1 August 30, 2006 [ [http://www.gentoo.org/news/20060830-release.xml Gentoo Linux - Gentoo Linux 2006.1 - Unleashed ] ]
* 2007.0 May 7, 2007 [ [http://www.gentoo.org/news/20070507-release-2007.0.xml Gentoo Linux - Gentoo Linux 2007.0 released ] ]
* 2008.0_beta1 April 1, 2008 [ [http://www.gentoo.org/news/20080401-release-beta1.xml Gentoo Linux - Gentoo Linux 2008.0_beta1 released] ]
* 2008.0_beta2 April 29, 2008 [ [http://www.gentoo.org/news/20080429-release-beta2.xml Gentoo Linux - Gentoo Linux 2008.0_beta2 released] ]
* 2008.0 July 6, 2008 [ [http://www.gentoo.org/news/20080706-release-2008.0.xml Gentoo Linux - Gentoo Linux 2008.0 released] ]

Even though the versioning system changed to years, the numbering version system still continues. For example, /etc/gentoo-release might contain "Gentoo Base System version 1.6.13" (Modified Aug. 26, 2005). These numbers are actually the version numbers of the sys-apps/baselayout package in Portage.

Once Gentoo is installed, it becomes "versionless"; that is, once an "emerge" update is done, the system is at the latest version. If the system was installed from a 2005.0 CD and 2005.1 was released, an "emerge" update of the system effectively makes the installed gentoo system, with a 2005.0 CD or other, to a newly up to date system, with most of the up to date packages available.

Advantages

; Soft dependencies : Since packages are built by source, dependencies between packages are more flexible than for binary distributions, and can be explicitly enabled or disabled in many cases. Binary distributions typically offer similar flexibility by providing several versions of the same package under different aliases, or by splitting packages into more modular components where possible. Since the number of possible configurations becomes combinatoric as the number of compile-time options increases, it is not feasible to store binaries for all possible combinations. Gentoo is thus able to offer a greater variety of compile-time package options where other popular distributions are not.

; Bleeding edge packages : By regularly syncing their portage tree, Gentoo users are able to use the most up to date packages available, rather than remaining fixed at a particular release date. This typically results in newer versions of software being available within the package manager than are available for other Linux distributions at any given time, particularly those which are fixed at a particular release (albeit with security updates). This is also a drawback; when updating a Gentoo system, no guarantees are made on the backwards-compatibility of any package updates, whereas distributions which only make a limited release set of packages available are able to better maintain compatibility within each release.

; Clarity and flexibility : The Portage system shows, compared to other Linux distributions, a lot of what it is doing. For a lot of installation steps, the executed commands are shown, while most Linux distributions simply explain what they're trying to accomplish. Related is the fact that the user can modify the behavior of the entire system relatively easily, since most programs in the package manager are scripts. Because of all this, Gentoo can be useful for code developers because they can make a full install with the full code on their servers (for example revision servers) using a single command.

Drawbacks

; Slow package installation : Compiling from source means that some packages are slower to install. Slow package installation leads to a longer initial installation if a lot of packages are installed. In the extreme cases of KDE and OpenOffice.org, package installation will take hours, [ [http://www.openoffice.org/FAQs/build_faq.html www: ] ] [ [http://linuxreviews.org/gentoo/compiletimes Compile time stats (Linux Reviews) ] ] or even days on older hardware. Also compiling these packages requires a lot of disk space while the package is compiling (4–6 GB for OpenOffice.org – see app-office/openoffice ebuild for more information). Generally, Gentoo users accept these delays as the cost of being able to apply their own compile-time options, but there are now pre-compiled binaries for large popular applications such as KDE, OpenOffice.org, and Mozilla Firefox. By using these binaries, one loses the chance to customize the choice of optional features for those packages, but the installation of the package is reduced to a few minutes.

: In a default configuration, the above criticism is basically valid. However, it should be noted there are several simple tools/approaches available to partially address the issue of long build times. They may be used separately or in any combination with one another:

: The first, is changing the number of parallel instances of make that may be running. This can be set globally in "/etc/make.conf" using the MAKEOPTS="-jX" directive. Setting the value of X = 1 + "# of CPU cores" seems to work well in many configurations. Note that this setting should reflect the total number of cores across all machines when using distcc (see the third option below).

: The second, applicable to configurations with >512-1024MB RAM, is a wrapper script for the emerge command called temerge [ [http://gentoo-wiki.com/TIP_Speeding_up_portage_with_tmpfs TIP Speeding up portage with tmpfs - Gentoo Linux Wiki ] ] that places the Portage temp directory [default: PORTAGE_TMPDIR=/var/tmp/ in /etc/make.conf] into tmpfs (a ramdisk). This can substantially reduce build times for many packages, especially those with heavy disk I/O on the build area.

: The third, applicable to users with multiple Linux machines, is through the use of the distcc utility, where the compile step of builds can be distributed across multiple computers. This is especially beneficial when building systems from "stage1" or "stage2" images where considerably more package building is required.

: The fourth is a Portage buildpkg option [FEATURES="buildpkg" in /etc/make.conf] to generate binary tarballs of built packages. These can then be merged onto a machine of compatible architecture and make.conf settings in a manner similar to that of a traditional (binary) Linux distribution. This can also be archived for system recovery or used to build binaries on a powerful machine for later installation on a less powerful one.

Logo and mascots

The official Gentoo logo is the [http://www.gentoo.org/main/en/name-logo.xml stylized G] resembling a silver magatama [ [http://www.gentoo.org/main/en/name-logo.xml Gentoo Linux Documentation - Gentoo Name and Logo Usage Guidelines ] ] .Unofficial mascots include [http://www.gentoo.org/main/en/about.xml Larry the cow] and [http://www.gentoo.org/images/gridtest.gifKnurt the flying saucer] Fact|date=July 2008.In fact as Larry appeared originally on the official website, it can be considered semi-officialFact|date=July 2008.

Gentoo-based distributions

*Bintoo
* [http://www.calculate-linux.com Calculate Linux]
*Gentoox
*iloog
*Knopperdisk
*Kororaa
*Librix
*Litrix
*Navyn OS
*Pentoo
*Phaeronix
*SabayonLinux
*Saxana
*SystemRescueCD
* [http://opensource.dyc.edu/tinhat Tin Hat Linux]
*Ututo
*VidaLinux

References

See also

* Gentoo/Alt
* GoboLinux -- another Linux distribution that emphasizes source distribution, rather than pre-compiled binaries.
* Linux From Scratch -- even more emphasis on source distribution

External links

* [http://www.gentoo.org/ The official website of the Gentoo Project]
* [http://gentoo-wiki.com/ gentoo-wiki.com] - An unofficial yet heavily used wiki about Gentoo
* [http://www.pendrivelinux.com/2007/09/21/usb-gentoo-20070-install/ USB Gentoo|Pendrivelinux] - How to Run Gentoo from a USB device
* [http://www.larrythecow.org/ Planet Larry] - an aggregation of Gentoo user blogs
* [http://gentoo-portage.com/ Gentoo-Portage] - An online searchable version of the portage tree.
* [http://www.bulah.com/embeddedgentoo.html Embedded Gentoo How To for x86] - x86 Embedded How-to
* [http://www.portagefilelist.de PFL - Portage File List] - search for files in packets
* [http://www.rommel.stw.uni-erlangen.de/~fejf/pfs/ PFS - Portage File Search] - search for files in packets
*
* [http://secunia.com/product/339/?task=advisories Secunia advisories for Gentoo]
* [http://www.gentoo.org/security/en/glsa/index.xml Gentoo Linux Security Advisories]
* [irc://irc.freenode.net/gentoo #gentoo] on freenode


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Gentoo Linux — Gentoo Linux …   Википедия

  • Gentoo-Linux — Bildschirmfoto …   Deutsch Wikipedia

  • Gentoo Linux — Bildschirmfoto …   Deutsch Wikipedia

  • Gentoo Linux — Bureau KDE sur le LiveCD Gentoo Linux 10.0 Famille …   Wikipédia en Français

  • Gentoo Linux — Parte de la familia Linux, BSD …   Wikipedia Español

  • Gentoo Linux — es una distribución GNU/Linux orientada a usuarios con cierta experiencia en este sistema operativo. El nombre Gentoo proviene del nombre en inglés del pingüino de pico rojo (en latín Pygoscelis papua), la mascota de Linux es un pingüino …   Enciclopedia Universal

  • Gentoo/Linux — …   Википедия

  • Gentoo linux — …   Википедия

  • Gentoo — Linux Рабочий стол Gentoo Linux 11 LiveDVD со средой KDE 4.6 Разработчик Gentoo Foundation …   Википедия

  • Gentoo Live-CD — Gentoo Linux Bildschirmfoto …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”