Jump to content

Gentoo Linux: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 32: Line 32:


The current board of 5 trustees was elected on [[October 21]], [[2006]]. There is also a subsidiary 7 member Gentoo Council whose members "decide on global issues and policies". The current Council members were elected [[September 11]], [[2006]] by 121 active Gentoo developers.
The current board of 5 trustees was elected on [[October 21]], [[2006]]. There is also a subsidiary 7 member Gentoo Council whose members "decide on global issues and policies". The current Council members were elected [[September 11]], [[2006]] by 121 active Gentoo developers.

In February of 2007, Robbins rejoined the Gentoo team, only to depart two weeks later, citing personal attacks from project developers as his reason. <ref>http://distrowatch.com/weekly.php?issue=20070312#future</ref> As a result of this, the Gentoo leaders have implemented "Code of Conduct" guidelines to prevent such attacks happening in the future.<ref>http://www.gentoo.org/news/20070313-code-of-conduct.xml</ref>

In mid-July, 2007, a controversy started to emerge in the Gentoo Community when Robbins learned he was still the legal president of the Gentoo Foundation <ref>http://blog.funtoo.org/2007/07/i-am-still-president-of-gentoo.html</ref> in the State of New Mexico<ref>http://www.nmprc.state.nm.us/cgi-bin/prcdtl.cgi?2463313+GENTOO+FOUNDATION+INC</ref>. Many Gentoo users urged Robbins to retake the helm of the Gentoo Foundation to help revitalize the distribution. The 'Trustees' failure to maintain the Gentoo Foundation as a legal non-profit entity in the State of New Mexico means that all contracts between Robbins and said party are null and void. All IP related to Gentoo and the Gentoo Foundation are rightfully owned by Robbins but he is unsure of how to handle his new found role as president<ref>http://blog.funtoo.org/2007/07/so-can-i-have-gentoo-back.html</ref>.


== Portability ==
== Portability ==

Revision as of 04:16, 10 August 2007

Gentoo Linux
Gentoo 2007.0 desktop
DeveloperGentoo Foundation
OS familyLinux
Working stateCurrent
Source modelOpen source, Free Software
Latest release2007.0 / May 7, 2007
Repository
Update methodEmerge
Package managerPortage
Platformsx86, x86-64, IA-64, PA-RISC; PowerPC 32/64, SPARC, DEC Alpha, ARM, MIPS, S390, sh
Kernel typeMonolithic kernel, Linux
Default
user interface
Console, Framebuffer, X Window System (various)
LicenseVarious
Official websitewww.gentoo.org

The Gentoo Linux operating system (pronounced /ˈdʒɛntu/) is a Linux distribution named after the Gentoo penguin. It is designed to be modular, portable, easy to maintain, flexible, and optimized for the user's machine. All tools and utilities are built from source code. For convenience, however, several large software packages are also available as precompiled binaries for various architectures via the Portage system.

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.[1] At least one version of Enoch was distributed: version 0.75, in December 1999.[2]

Compilation issues revealed problems with the GNU Compiler Collection (gcc), used to build from source code. Daniel Robbins and the other contributors experimented with "forked" versions of gcc, finding a version that gave a 10% to 200% speed increase over the "official" gcc. 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.[3]

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."[4]

Gentoo Linux 1.0 was released 2002-03-31.[5]

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 and transferred all copyrights and trademarks to it and stepped down as Chief Architect of the project; he later worked at Microsoft's Linux Lab for almost two years.[6][7]

The current board of 5 trustees was elected on October 21, 2006. There is also a subsidiary 7 member Gentoo Council whose members "decide on global issues and policies". The current Council members were elected September 11, 2006 by 121 active Gentoo developers.

Portability

File:GentooFreeBSD-logo.svg
The Gentoo/FreeBSD logo, derived from the BSD Daemon

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, SPARC, MIPS, DEC Alpha, ARM, zSeries/s390, SuperH and 68k architectures. Gentoo was the first distribution to offer a fully functional 64-bit Linux computing environment (user space and the kernel) for the PowerPC 970 (G5).

There is also a "Gentoo for Mac OS X" project which allows Mac OS X users to use Gentoo's Portage to install packages, in a similar way to the one 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. There is also a project to get Portage working on the GNU Hurd although development is slow.

Portage

Portage is Gentoo's default package management system. It is similar in idea to the BSD ports collections: the original design was based on FreeBSD ports. Portage is written in Python and is the main utility that defines Gentoo from other Linux distributions. It consists of two main parts, the ebuild system and emerge. The ebuild system takes care of building and installing packages and emerge is a frontend that performs dependency resolution, executes ebuilds and tracks installed software.

Init system

Gentoo's init system is another important feature of its system. 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.

A faster init system known as initng is available and under active development on the Gentoo forums.

A new baselayout, baselayout-2, version is nearing completion, that moves core system scripts from bash scripting to C code. This change should make boot time and other lower level services faster[8].

Installation

Gentoo may be installed in several ways. The most common way is to use the Gentoo LiveCDs. As with many Linux distributions, it can also be installed by most LiveCDs and existing Linux installations.

Installation of Gentoo can be completed by following the Gentoo Handbook. Additionally, several other methods of installation are listed in the 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.[1] 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 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. Although tarballs for stage1 and stage2 are still distributed, the instructions for installing from these stages have been removed from the handbook and put into the Gentoo FAQ. To get an install similar to that of a stage1, you can complete a stage3 install, then optimize your CFLAGS and USE flags, followed by a simple emerge -e world.

Version history

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 2005.0 system equivalent to the newly released 2005.1 installation.

Criticism

Gentoo has attracted criticism in a number of areas.

Long initial installation
While many users praise the long, largely-manual installation process for what it teaches them about the under-pinnings of Linux, many others are confused or perturbed by it. The "Stage 3" installation is much easier, but remains significantly more daunting than nearly every other distribution. However, if Gentoo is "...all about choice and customization..." then it's inevitable that more choices need to be made.
Slow package installation
Compiling from source means that packages are slower to install. In the extreme cases of KDE and OpenOffice.org, this will take hours, or even days on older hardware. Also compiling these packages requires a lot of hard disk space (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, Mozilla Firefox. Using these binaries one loses the chance to customize the packages, but installation times are reduced to a few minutes.
Package manager does not handle reverse dependencies
When removing a package, Portage does not check to see if any other installed packages still need it. Portage also does not check if upgrading a particular package would have a "ripple effect" on any other installed packages. Therefore it's possible to cause an installed application to malfunction by removing or upgrading another package it depends on. This can lead to users unknowingly breaking their systems by careless removal of packages, or upgrading a library to an incompatible version. For upgrades, there exists a revdep-rebuild utility (contained in the package 'gentoolkit') that scans the entire system and looks for packages that require a rebuild. This must be installed and run manually by the user. Unused reverse dependencies can be located and removed using emerge --depclean. This command analyzes the entire list of installed packages against the dependency tree of required packages and removes any packages no longer required. The dependency tree of required packages is defined by the list of packages installed by the user as recorded in /var/lib/portage/world. --depclean should only be run after a successful sync and deep update of world to make sure the defined dependency tree is accurate.
Requires a good Internet connection
This seems to be related to downloading sources prior to building packages. However, any other distribution that has internet updates has to download binary packages instead, and the sizes of binary and source packages are usually comparable. In an effort to ease this requirement, the necessary files can be pre-fetched with the emerge -f or --fetchonly flag, or they can be downloaded in the background while compiling by enabling the parallel-fetch feature.

Logo and mascots

The official Gentoo logo is the stylized G resembling a silver magatama. Unofficial mascots include Larry the cow and Knurt the flying saucer. In fact as Larry appeared originally on the official website, it can be considered semi-official. However, there is much controversy around Larry, laid out in several heated debates on the Gentoo forums, mainly because of his/her gender ambiguity.

Gentoo-based distributions


See also

References

Official

Community

  • Gentoo Wiki
  • Gentoo Community Portal (was larrythecow.com) - a large directory of Gentoo related websites (dead link as of 30-Apr-07).
  • Gentoo Community News (was larrythecow.net) - a news site similar to slashdot featuring Gentoo related articles.(dead link as of 30-Apr-07).
  • Planet Larry - an aggregation of Gentoo user blogs
  • Gentoo-Portage - An online searchable version of the portage tree.
  • Quickstart install - Quick and dirty install guide.
  • Embedded Gentoo How To for x86 - x86 Embedded How-to

Press

Miscellaneous

Security vulnerabilities