Gentoo Linux
Image:gentoo-new.gif|right|The Gentoo logo
Gentoo Linux is a Linux distribution. It is designed to be modular, portable and optimization|optimized for the user's machine. This is accomplished by building all tools and utilities from source, although, for convenience, several large packages are also available as precompiled binaries for various computer architecture|architectures. Gentoo achieves all this via the Portage_(software)|Portage system.
Portage
Portage is similar to the *Berkeley Software Distribution|BSD package management system called ports. Portage (software)|Portage is written in the Python programming language, and is the main utility that defines Gentoo. Although the system itself is known as Portage, its features are actually invoked on the command line with the program 'emerge'.
USE flags
The Portage system offers the use of "USE flags," which allows the user to indicate which software features he/she would like to include while building packages. The USE flags can affect which dependencies are built or what options are sent to the program when it is compiled.
Ebuilds
Gentoo does not use traditional packages like RPM Package Manager|RPM, but a format known as ebuilds, which contains a description of the software and how to obtain and install or compile it. There are thousands of ebuilds available, the majority of which are distributed by the Gentoo Mirror (computing)|mirrors. New and updated packages can be obtained by synchronizing the local datastore with the mirrors.
Masking
Masking is how Gentoo determines which packages are suitable for your system. Ebuilds designed for different architectures or experimental software are usually masked in a way that will not allow a stable system to install them without user intervention (e.g. adding a package to /etc/portage/package.keywords). Experimental packages are "Hard Masked". Installing "Hard Masked" ebuilds is risky and not recommended because they have known problems, while packages that are masked by keyword (e.g. they are available for systems with the ~x86 keyword, but not for systems with the "stable" x86 keyword) just need some testing, but possibly work just fine. An easy way to unmask a masked package is to copy its entry from /usr/portage/profiles/package.mask into /etc/portage/package.unmask .
Installation
Gentoo may be installed in several ways. The most common way to install it is by using the Gentoo Live CD, but it can also be installed by most other Linux Live CDs, and even from an existing Linux installation on another partition of the same hard drive. The machine must be prepared for installation by Hard disk drive partitioning|partitioning the hard disk and installing a base system corresponding to one of three stages. Starting from the first stage allows for more customization and optimization, and starting from the third stage allows for a quicker installation.
Installation is done in a chroot environment, and by using Gentoo's own Portage system to install critical packages for the new installation. Gentoo does not feature an installation program as in many other distributions; the user follows the steps described in the guide on the Gentoo website, and on the Gentoo Live CD. The full installation and usage guide can be viewed in the Gentoo Handbook.
Stages
- Stage 1, Full Installation, where the system must be bootstrap|bootstrapped and the base system must be compiled.
- Stage 2, System has already been bootstrap|bootstrapped, but the base system must be compiled.
- Stage 3, System has already been bootstrap|bootstrapped and the base system already compiled.
One of the three stages is chosen as a tradeoff between customizability and install time. The default compiler in Gentoo is GNU Compiler Collection|GCC. Compiler customizations are made in an environment variable called CFLAGS. The system then must be bootstrapped, which is done by compiling the compiler and base library (computer science)|libraries)
Other packages
After the three stages, the system configuration must be written. Then, the user is free to install what they want; they can download binary packages from the Gentoo Reference Platform, as well as compile their own software.
Kernel
The kernel must also be set up and installed. Gentoo does not have a precompiled kernel; instead it offers various kernel sources, many with Software patch|patches. It can either be done by the traditional menuconfig utility included with Linux or with genkernel, a kernel compilation program.
System configuration
After the kernel is installed, the system configuration files must be edited manually to fit the needs of the user. This includes the fstab, network configuration, system customizations, and more.
Boot loader
Once the kernel is installed, the bootloader must be installed so that the system can be loaded without the use of external bootable media.
System utilities
For Gentoo to work, it needs some tools such as a system logger, cron daemon and file system utilities. Gentoo provides several options for each tool, which the user can select based on their preferences and needs.
Finalizing installation
The final part of the installation involves creating user accounts and installing any precompiled packages the user wants. After this, the user can reboot the system. The system is now standalone, and does not need the live CD anymore. The installation is complete.
Install utilities
Catalyst
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 your own customized install media.
Tarballs
It is possible to create tarballs of packages for distribution to other machines. These binary packages, with a .tbz2 extension, consist of all files installed by the package and a metadata section that makes it possible to install them by using the -k or -K options to emerge. This is particularly useful in the case of a Wiktionary:homogeneous|homogeneous computing environment, where packages may be used on many machines despite having been prepared on a specific one. Additionally, because they can be installed directly to the filesystem root without using Portage, they can be extremely useful for rescuing a broken system.
Portability
Gentoo was originally designed for x86 architectures only, but it has been ported to many others over time due to the highly-portable nature of GCC, Linux, and its applications. It currently runs on the x86, PowerPC, PPC970, SPARC, AMD64, IA64, MIPS, DEC Alpha and HPPA architectures. It has also been recently ported to PPC64, making it the first Linux distribution to offer a fully operating sixty-four bit computing environment for the PowerPC architecture.
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 used, but it uses named run levels rather than numbered ones, and dependency based scripts. It also includes a handy command called rc-update to manage runlevels.
Versions
Version 1.0 was the first major version of Gentoo. It was released on the 31st March 2002.
Version 1.2 was the second, released in June 2002.
In Gentoo Linux 1.4, the Gentoo Reference Platform (GRP) was introduced. It provides precompiled packages, allowing users to avoid long compile times and combined with stage 3 a user can have a fully working Gentoo installation without the previous long time to install.
In 2004, The versioning scheme changed to being year-based in the form of Year.Revision. For example, 2005.3 would be the fourth revision of Gentoo 2005.
The latest official version of Gentoo is Gentoo 2004.2. For more information, see the official Information Guide.
History
On Monday, April 26, 2004, Daniel Robbins, founder of Gentoo Linux, stepped down as Chief Architect of the project. Before leaving, he had set up a non-profit foundation owning all of the copyrights to Gentoo. The initial board of trustees was appointed by Daniel Robbins|Robbins and elections were scheduled for the following year. The membership of the foundation was initially set to be open. Upon his resignation, an article was posted to Slashdot.
Criticisms of Gentoo users
Many of the critics of Gentoo are really being critical of Gentoo users who are attempting to make a transition from being an application user to more System Administrator roles (with varying degrees of success), and of users new to UNIX-like systems. Many of these users will have difficulty understanding the jargon and reasoning for proper system provisioning, tuning and maintenance. Some of these users may have been dissuaded from pursuing other, more "technical" distributions due to harsh treatment of neophyte users by members of the other distributions' user community, but still desired to learn more about the infrastructure of a Linux installation and found a more welcoming environment in Gentoo's extensive, respectful and newbie-friendly user base and well-maintained documentation and forums. However, some of these users are also attracted to Gentoo because they've heard that Gentoo is the "best" or most "elite" distribution to use, which is, on its face, an error in judgment, as there is general consensus among senior users and administrators that there is no one "best" Linux distribution (certainly no "elite" one), only the most appropriate given the user and the purpose to which the OS and associated applications will be put to.
Some typical criticisms include:
- Dizzying array of USE flags, causing new users to create highly broken systems
- Endless gcc CFLAG tweaking creates systems that are slower than expected
- Lack of understanding of gcc and its options cause hard-to-find issues in new users' systems
- Lack of understanding of Linux Kernel building causes hard-to-find issues in new users' systems
- New users not taking care to read FAQ's, search the Gentoo forums, read the documentation, misusing terminology and other examples of typical new user behavior
Two of the best examples of criticisms leveled at Gentoo users are the angry satire of newbie Gentoo users Gentoo Is Rice and the "Root Cause"-seeking Mandrake Expatriate Syndrome.
Criticisms of the Gentoo Linux Distribution
Gentoo is sometimes criticized for poor Quality Assurance|QA (though this is a possibly unavoidable consequence of focusing on having more "up-to-date" versions of software available), unstable "stable" branches and for having a closed "upper management elite". Much of the difficulties experienced in past years from the "stable" branch has dissipated, and will most likely continue to improve with time and effort. However, Gentoo, having a "bleeding-edge" repository of software, often relies on "upstream" (i.e. original authors) QA process. This works well for highly-used software (such as Apache HTTP Server|Apache), but less so for little-used software. Gentoo is also criticised for its long installation process, sometimes taking days on older hardware. One of the other interesting debates commonly held is the binary verses source packaging, Gentoo using the latter. Source packagers claim that binaries are slow, while binary packagers refute that some packages take days to compile, they want the program now. Of course, both have their own advantages and disadvantages. In response to this criticism, Gentoo has offered precompiled binaries for various archictures of popular applications including KDE, Gnome and Mozilla.
Most, if not all, of these criticisms are hotly debated between a vocal minority of users of community-based Linux Distributions.
Mascot
The (little-used) Gentoo Linux mascot is Larry the cow.
External links
- Gentoo Linux
- Gentoo Linux philosophy
- Gentoo discussion forums
- Gentoo Wiki
- Gentoo torrents
- Gentoo-Portage - An online searchable version of the portage tree
- BreakMyGentoo - Third party packages including the Latest Gnome.
- Zynot Foundation - Fork of Gentoo Linux
Gentoo user groups
Category:Gentoo Linux de:Gentoo Linux es:Gentoo Linux fr:Gentoo nl:Gentoo Linux ja:Gentoo Linux pl:Gentoo Linux fi:Gentoo Linux sv:Gentoo Linux zh:Gentoo Linux