Important: You are required to change your passwords used for Gentoo services and set an email address for your Wiki account if you haven't done so. See the full announcement and Wiki email policy change for more information.

FAQ

From Gentoo Wiki
Jump to: navigation, search
Other languages:Deutsch 21% • ‎English 100% • ‎español 100% • ‎français 1% • ‎русский 21%

This FAQ is a collection of questions and answers collected from the gentoo-dev mailing list and from IRC.

Contents

Introduction

Please note that many of these questions are answered within the official Gentoo documents and guides. This is simply a list of common questions. Please read the documentation and/or man pages to gain a greater understanding of how Gentoo and GNU/Linux works, and for answers to questions which may not be answered here.

Getting Started

How is Gentoo pronounced, and what does it mean?

Gentoo is pronounced "gen-too" (the "g" in "Gentoo" is a soft "g", as in "gentle"). The scientific name of the Gentoo penguin is Pygoscelis papua. The name Gentoo has been given to the penguin by the inhabitants of the Falkland Islands.

What makes Gentoo different?

Gentoo uses a BSD ports-like system called Portage. Portage is a package management system that allows great flexibility while installing and maintaining software on a Gentoo system. It provides compile-time option support (through USE flags), conditional dependencies, pre-package installation summary, safe installation (through sandboxing) and uninstallation of software, system profiles, configuration file protection amongst several other features.

With Gentoo you can build your entire system from source, using your choice of optimizations. You have complete control over what packages are or aren't installed. Gentoo provides you with numerous choices, so you can install Gentoo to your own preferences, which is why Gentoo is called a meta-distribution.

Gentoo is actively developed. The entire distribution uses a rapid pace development style: patches to the packages are quickly integrated in the mainline tree, documentation is updated on daily basis, Portage features are added frequently, and official releases occur twice per year.

Installation

Things are really unstable and I'm using -O9 -ffast-math -fomit-frame-pointer optimizations. What gives?

Don't bother using anything higher than -O3 since it isn't supported by current versions of gcc. Very aggressive optimizations sometimes cause the compiler to streamline the assembly code to the point where it doesn't quite do the same thing anymore.

Please try to compile with CFLAGS -O2 -march=<your_arch> before reporting a bug.

How do I change the root (or any other user's) password?

You can use passwd to change the password for the user you are logged into. As root, you can change any user password by issuing the command passwd username. For extra options and setting, please man passwd.

How do I add a normal user?

The command useradd username will add a user called "username". However, this method does not give the user many of the rights you might want to grant them, so the following command is preferred:

root # useradd -m -G users,audio,wheel username

This will add a user named "username". The option audio adds the user to the audio group and allows them to access sound devices. The option wheel adds the user to the wheel group, which allows them to execute the command su. This in turn allows the user to gain root privileges.

Why can't a user su to root?

For security reasons, users may only su to root if they belong to the wheel group. To add a username to the wheel group, issue the following command as root:

root # gpasswd -a username wheel

Can I upgrade Gentoo from one release to another without reinstalling?

In fact, there is no difference between the various releases after they have been installed. Gentoo 1.4 and later are glibc-2.3.x (or higher) based. As such, running emerge --sync && emerge -uDN @world will bring your entire system up to speed with the "latest Gentoo". The differences between individual releases lie in the installation medium and pre-compiled packages. See the Gentoo Upgrading Guide for more information about profiles and their role in upgrading.

Also note that the emerge -uDN world command updates the packages you have installed as well as its dependencies, but not the build-time dependencies (packages needed during builds but not when the software is installed). To update those as well, add the --with-bdeps=y option.

My kernel doesn't boot, what should I do now?

You don't need to redo every step of the installation, but investigating the kernel and all associated steps is necessary. Suppose you have installed Gentoo on /dev/sda1 (/boot) and /dev/sda3 (/) with /dev/sda2 being the swap space.

Boot from the Install CD and wait until you receive a prompt.

Now first mount all partitions:

root # mount /dev/sda3 /mnt/gentoo
root #
mount /dev/sda1 /mnt/gentoo/boot
root #
swapon /dev/sda2
root #
mount -t proc none /mnt/gentoo/proc

Then we chroot into our Gentoo environment and configure the kernel:

root # chroot /mnt/gentoo /bin/bash
root #
env-update && source /etc/profile
root #
cd /usr/src/linux
root #
make menuconfig

Now (de)select anything you have (de)selected wrongly at your previous attempt. Then quit and compile your kernel:

root # make && make modules_install

Now copy over your bzImage file, overwriting your previous one:

root # cp arch/i386/boot/bzImage /boot/<kernel_name>

If you use LILO, rerun lilo -- GRUB users should skip this:

root # /sbin/lilo

Now exit the chroot and reboot.

root # exit
root #
umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
root #
reboot

If, on the other hand, the problem lies with your bootloader configuration, follow the same steps, but instead of configuring/compiling your kernel, you should reconfigure your bootloader (recompilation isn't necessary).

My proxy requires authentication, what do I have to do?

To have Portage automatically use this scheme, define it in /etc/portage/make.conf:

File/etc/portage/make.confSetting up proxy

http_proxy="http://username:password@yourproxybox.org:portnumber"
ftp_proxy="ftp://username:password@yourproxybox.org:portnumber"
RSYNC_PROXY="rsync://username:password@yourproxybox.server:portnumber"

How do I burn an ISO file?

You need to burn the file in raw mode. This means that you should not just place the file on the CD, but interpret the file as an entire CD.

There are lots of CD burning tools available; covering them all would be a Sisyphean problem. However, describing a few popular tools never hurts:

  • With EasyCD Creator you select File, Record CD from CD image. Then you change the Files of type to ISO image file. Then locate the ISO file and click Open. When you click on Start recording the ISO image will be burned correctly onto the CD-R.
  • With Nero Burning ROM, cancel the wizard which automatically pops up and select Burn Image from the File menu. Select the image you want to burn and click Open. Now hit the Burn button and watch your brand new CD being burnt.
  • With cdrecord, you simply type cdrecord dev=/dev/sdc (replace /dev/sdc with your CD-RW drive's device path) followed by the path to the ISO file.
  • With K3B, select Tools > CD > Burn CD Image. Then you can locate your ISO file within the 'Image to Burn' area. Finally click Start.
  • With Mac OS X Panther, launch Disk Utility from Applications/Utilities, select Open from the Images menu, select the mounted disk image in the main window and select Burn in the Images menu.
  • With Mac OS X Jaguar, launch Disk Copy from Applications/Utilities, select Burn Image from the File menu, select the ISO and click the Burn button.

What CD/stage should I use for my CPU?

First you need to find out what CPU you use. Suppose it's a Pentium-M. Then you need to find out what CPU it is, instruction-wise, compatible with. You may need to consult the CPU's vendor website for this, although Google is at least as efficient :-).

If you are uncertain, take a "lower" CD/stage file, for instance a i686 or even generic x86 (or the equivalent in your arch). This will ensure that your system will work, but may not be as fast as further optimizations.

Please note that many more options exist than those for which Gentoo builds binary stages. Please see the GCC guide for setting -march.

I can't get online after rebooting. What is wrong?

First you need to check if your network card is discovered properly by the kernel. Run ifconfig -a and look for eth0 or wlan0 (in case of certain wireless network cards). You might need to load specific kernel modules for the kernel to properly detect the network card. If that is the case, make sure that these kernel modules are listed in /etc/conf.d/modules.

If you have forgotten to include support for your network card in your kernel, you will need to reconfigure your kernel.

If your network card is found by your kernel, but you have set your networking configuration to use DHCP, you might have forgotten to emerge dhcpcd. You will need to reboot with your installation CD to install dhcpcd.

Information on how to rescue your system using the installation CD is available here as well.

I want to boot Windows from GRUB or LILO but it shows only black screen. What should I do?

This is a known problem. Windows refuses to boot when it isn't installed on the first hard drive and shows a black/blank screen. To handle this, you will have to "fool" Windows into believing that it is installed on the first hard drive with a little tweak in your boot loader configuration. Please note that in the below example, Gentoo is installed on sda (first disk) and Windows on sdb (second one). Adjust your config as needed.

File/boot/grub/grub.confExample dual boot entry for Windows in grub.conf

title Windows XP
     map (hd1) (hd0)
     map (hd0) (hd1)
     rootnoverify (hd1,0)
     chainloader +1
File/etc/lilo.confExample dual boot entry for Windows in lilo.conf

other=/dev/sdb1
     label=WindowsXP
     table=/dev/sdb
     map-drive = 0x80
     to = 0x81
     map-drive = 0x81
     to = 0x80

This will make Windows believe it is installed on the first hard drive and boot without problems. More information can be found in the GRUB documentation and in man lilo.conf, depending on the boot loader you're using.

How do I Install Gentoo Using a Stage1 or Stage2 Tarball?

The Gentoo Handbook only describes a Gentoo installation using a stage3 tarball. However, Gentoo still provides stage1 and stage2 tarballs. This is for development purposes (the Release Engineering team starts from a stage1 tarball to obtain a stage3) but shouldn't be used by users: a stage3 tarball can very well be used to bootstrap the system. You do need a working Internet connection.

Bootstrapping means building the toolchain (the C library and compiler) for your system after which you install all core system packages. To bootstrap the system, perform a stage3 installation. Before you start the chapter on Configuring the Kernel, modify the bootstrap.sh script to suit your needs:

root # cd /usr/portage/scripts
root #
vi bootstrap.sh

After modifications, run the script.

root # ./bootstrap.sh

Next, rebuild all core system packages with the newly built toolchain. We need to rebuild them since the stage3 tarball already offers them:

root # emerge -e system

Now you can continue with Configuring the Kernel.

Package Management

In what form are the packages stored?

Packages aren't "stored" per se. Instead, Gentoo provides a set of scripts which can resolve dependencies, fetch source code, and compile a version of the package specifically for your needs. We generally only build binaries for releases and snapshots. The Gentoo Ebuild HOWTO covers the contents of an ebuild script in detail.

For full ISO releases, we create a full suite of binary packages in an enhanced .tbz2 format, which is .tar.bz2 compatible with meta-information attached to the end of the file. These can be used to install a working (though not fully optimized) version of the package quickly and efficiently.

It is possible to create RPMs (Red Hat package manager files) using Gentoo's Portage, but it is not currently possible to use already existing RPMs to install packages.

I want to perform the ./configure step myself. Can I?

Yes, but it is not trivial, nor is it recommended. Since the method to do this requires a good understanding of Portage internals and commands, it is instead recommended that you patch the ebuild to do whatever it is that you want and place it in a Portage overlay (that's why overlays exist). This is much better for maintainability, and usually easier. See the Ebuild HOWTO for more information.

What if rsync doesn't work for me?

If you're behind a firewall that doesn't permit rsync traffic, then you can use emerge-webrsync which will fetch and install a Portage snapshot for you through regular HTTP. See this section for information on downloading source files and Portage snapshots via a proxy.

I have only slow modem connection at home. Can I download sources somewhere else and add them to my system?

Definitely. You can run emerge --pretend package to see what programs are going to be installed. To find out the sources for those packages and where to download the sources from, you can run emerge -fp package. Download sources and bring them on any media home. Put the sources into /usr/portage/distfiles/ and then simply run emerge package. Be warned, however, that this is a tedious process.

Source tarballs are collecting in /usr/portage/distfiles/. Is it safe to delete these files?

Deleting these files will have no negative impact on day-to-day performance. However, it might be wise to keep the most recent version of the files; often several ebuilds will be released for the same version of a specific piece of software. If you have deleted the archive and you upgrade the software it will be necessary to download them from the internet again.

You can use the eclean script from app-portage/gentoolkit to manage the contents of /usr/portage/distfiles/ and a few other locations. Please read man eclean to learn more about its usage, as well as the Gentoolkit Guide .

What's in /var/tmp/portage? Is it safe to delete the files and directories in /var/tmp/portage?

During compilation, Gentoo saves the sources of the package in /var/tmp/portage. These files and folder are usually deleted upon a successful merge, but this sometimes fails. It is safe to clean out all contents of this directory if emerge is not running. Just to be sure, always pgrep emerge before cleaning out this directory.

Usage

How do I set up an International Keyboard Layout?

Edit the keymap variable in /etc/conf.d/keymaps. To have console working correctly with extended characters in your keymap you might also need to set up variables consolefont and consoletransation in your /etc/conf.d/consolefont (for further information on localising your environment, refer to our localization guide). Then, either reboot, or restart the keymaps and consolefont scripts:

root # /etc/init.d/keymaps restart
root #
/etc/init.d/consolefont restart

DNS name resolution works for root only

/etc/resolv.conf has the wrong permissions; chmod it as follows:

root # chmod 0644 /etc/resolv.conf

Why can't my user use their own crontab?

You need to add that user to the cron group.

How do I get numlock to start on boot?

If you work in command line, you only need to rc-update add numlock default && /etc/init.d/numlock start.

Each GUI provides different tools for this sort of thing; please check the help section or online manuals for assistance.

How do I have my terminal cleared when I log out?

To have your terminal cleared, add clear to your ~/.bash_logout script:

user $ echo clear >> ~/.bash_logout

If you want this to happen automatically when you add a new user, do the same for the /etc/skel/.bash_logout:

root # echo clear >> /etc/skel/.bash_logout

Maintenance

ReiserFS and filesystem corruption issues -- how to fix them, etc

If your ReiserFS partition is corrupt, try booting the Gentoo Install CD and run reiserfsck --rebuild-tree on the corrupted filesystem. This should make the filesystem consistent again, although you may have lost some files or directories due to the corruption.

Development

Where can I report bugs?

Use our Bugzilla. If you are unsure if your problem is an actual bug, you can visit #gentoo on the Freenode IRC server.

How often are new releases made?

Gentoo's packages are usually updated shortly after the main authors release new code. As for when Gentoo itself makes new stage/profile/ISO releases, check our Release Engineering Project page. New releases are announced on the gentoo-announce mailing list. See this section for more information.

My speaker beeps like crazy. How do I disable console beeps?

Console beeps can be turned off using setterm, like this:

root # setterm -blength 0

If you would like to turn off the console beeps on boot, you need to put this command in /etc/conf.d/local.start. However, this only disables beeps for the current terminal. To disable beeps for other terminals, pipe the command output to the target terminal, like this:

root # setterm -blength 0 > /dev/vc/1

You need to replace /dev/vc/1 with the terminal you would like to disable console beeps for.

Resources

Where can I find more information about Gentoo Linux?

The official Gentoo documentation can be found at http://www.gentoo.org/doc/en/.

Can I buy a CD of Gentoo Linux?

If you are not able to download and burn an installation CD yourself, you might find one through one of our licensed stores. However, most stores have dropped offering CDs and DVDs as these installation media quickly become obsolete.

You can find the licensed stores on our Get Gentoo! page.

This FAQ hasn't answered my question. What do I do now?

A good first step is to browse through the relevant documentation, failing that, the various Gentoo Linux mailing lists listed on Google. To search through the Gentoo mailing lists, just enter "site:lists.gentoo.org foo" to search for "foo". If all else fails, or you just want to hang out with Gentoo folks, visit us on the #gentoo Freenode IRC channel.

Acknowledgements

We would like to thank the following authors and editors for their contributions to this guide:


  • Daniel Robbins
  • Colin Morey
  • John P. Davis
  • Eric Stockbridge
  • Stoyan Zhekov
  • Carl Anderson
  • Jorge Paulo
  • Sven Vermeulen
  • Benny Chuang
  • Jonathan Smith
  • nightmorph