--get your your Linux knowledge

Recommended Gentoo Sites

Gentoo Wiki
Community made documentation

Flameeyes's Unofficial ebuilds
has unofficial ebuilds for Gentoo.

is a Gentoo based Linux distribution for XBOX.

Gentoo Related Artwork
Daniel G. Taylor has made some excellent Gentoo artwork and a theme called Lila.

Resources on the official Gentoo Website

About Gentoo Linux
User Docs
Developer Docs
Other Docs

Gentoo Handbook

Mailing lists
Discussion forums
Official Gentoo IRC channels
Security Announcements
Online package database
Developer List
Bugzilla bug tracker
Download Mirrors
Daily CVS ChangeLog
View our CVS via the web
Performance benchmarks

Logos and themes

Miscellaneous Resources:
Gentoo Linux Store
Gentoo-hosted projects
IBM dW/Intel article archive

> Linux Reviews >

Gentoo Linux

Get to know Gentoo Linux, a flexible, fast, modern and free Linux distribution geared towards experienced computer users.

  1. What separates Gentoo from other distributions?
  2. etc-update - update your configuration files
  3. Some quick random Gentoo tips..
  4. Frequently Asked Questions

1. What separates Gentoo from other distributions?

Gentoo is a Linux based operating system (OS) for computers (x86, PowerPC, UltraSparc and Alpha). This distribution is best suited for experienced users and requires you to be able to hand edit configuration files using a text editor.

You must do the installation by starting your computer from a Live CD (A Linux environment with a collection of needed tools). The whole process is described in detail in the Gentoo Linux Handbook. This is time consuming, but not much harder than following a cookie recipe. You compile all desired software optimized for your system.

1.1. Portage, the Gentoo way of managing software packages

Portage is a true ports (package management) system used by Gentoo Linux in the tradition of BSD ports, but is Python-based and has a number of advanced features including dependencies, fine-grained package management, fake (OpenBSD-style) installs, path sand boxing, safe un-merging, system profiles, virtual packages, configuration file management, and more.

Portage lets you install software packages easy as pie. Want to install unreal-tournament?

emerge unreal-tournament

emerge is the definitive command-line interface to the Portage system. It is primarily used for installing and managing packages. And emerge will automatically handle any dependencies a desired package has.

Read our unofficial emerge user guide for more information on how to use it. You should also read the manual page.

Portage uses description files called ebuild to determine how to build and install packages. These files are stored in /usr/portage/ . You can update this tree and thereby make new versions of software available with the command emerge sync.

1.2. USE flags give you the freedom to install your programs just like you want them

Portage uses a variable called USE to control how packages are compiled and installed. The GNU Midnight Commander can be built with and without support for gpm (Console-based mouse driver), nls (Native Language Support using gettext), samba (suite of SMB and CIFS client/server programs), ncurses (a console display library), X (xfree) and slang (a text display library).

To view a packages use flags, what dependencies it has and how it would be installed, run: View a pkgs useflags/what would be installed:

emerge -pv package

The 'USE' flags are set system wide in /etc/make.conf. They can also be used on a pr. package basis:

USE="ssl -esd -gnome -xmms +ncurses +ipv6 -gtk -cjk" emerge bitchx

Read our unofficial use flag guide for more details.

Look at the file /usr/portage/profiles/use.desc for a list of available USE flags.

1.3. The emerge utility

emerge is the definitive command-line interface to the Portage system. It is primarily used for installing packages and package management. emerge will automatically handle depending package. If you prefer GUI then check out Porthole, a GTK based front end for Portage.

1.3.1. emerges basic command line options

View how a package would be installed:

emerge -pv package


emerge package

Remove a package:

emerge -C package

Search for packages (package names only):

emerge -s keyword

Search for packages (using their description):

emerge -S keyword

Read our unofficial emerge user guide for more information.

2. etc-update - update your configuration files

When you emerge packages existsing configuration files are kept and the new one that came with the package you just insalled is named ._cfg0000_packagename.

If emerge tells you that there are configuration files that need updateing, then run


and follow the simple rules:

  • if you never changed a config file (or even heard of it), replace the current with the update
  • if you have changed the config file, merge the files together or better: edit the config file and delete the update
  • make sure you never simply replace /etc/make.conf with an update
  • it is a good idea to run etc-update in screen (manual page)
  • files in /etc/init.d/ should always be replaced with an update

You can use the following find command if you are sure that you do not need to update any of the configuration files etc-update wants you to edit:

find /etc/ -name "._cfg00*" -exec rm {} \;

..but this is generally a bad idea.

The file /etc/etc-update.conf allows you to configure etc-update. You can remove the standard-setting that says -i should be used as an argument for the mv and rm commands that are run when you update your configuration files by using etc-update.

3. Some quick random Gentoo tips..

3.1. Running commands at boot

The services started at boot are selected using *rc-update* , refering to scripts found in */etc/init.d/* . (For details, refer to Gentoo docs: Gentoo Linux Init System

But if you just want to run a command or two, just add them to:


You can also make commands run when the system is shutdown by placeing the commands in:


4. Frequently Asked Questions

4.1. Setting emerge nice level in /etc/make.conf

When you build packages gcc tends to steal all your CPU time. This will make your system seem slow when using it normally, because it's busy doing something else. It may even make xmms skip a beat.

To prevent this, add


to /etc/make.conf. Every Linux process has a scheduling priority level, -19 being the highest and 19 the lowst. From the command line you can set the nice level when running commands with:

nice -n 19 transcode +foo -bar /your/dvd

nice manual page

Setting the nice level to '-19' might make gcc compile slightly faster but will make your box really laggy.

4.2. How do I run GUI (X11) programs as root?

Gentoo has a security limit on XFree that only allows the same user (from the same machine) use the X server. To run X11 programs as root you must first use the command xhost (xhost localhost) to give other users on the same box permission to use the X server.

  $ xhost localhost
  $ su -
  # kcontrol &

4.3. How can I emerge all packages in a category?

If you want all packages in `app-admin` you can do:

for p in /usr/portage/app-admin/* ; do emerge app-admin/$(basename $p); done

asked by Vemon, thanks to Felix for correction

4.4. Best Terminal Font Ever

  1. emerge media-fonts/lfpfonts-fix
  2. Then add /usr/X11R6/lib/X11/fonts/lfp-fix to your fontpath in /etc/X11/XF86Config or /etc/X11/fs/config.
  3. Now you can start your terminal with
    • aterm -fn -lfp-gamow-medium-r-semicondensed--8-80-75-75-c-70-iso8859-1
    • -fn is a valid option for xterm, rxvt and aterm (and others, common standard)

Thanks to mina. The claim "best font ever" may be subject to different opinions.

This page is Copyright GNU Copyleft xiando Corp.

Meet new people