Instalación Gentoo · 11 min read · Feb 06, 2026

El Servidor Perfecto - Gentoo 2007.0 - Página 2

3 El Sistema Base

3.1 Arrancando el disco de instalación

Inserta tu CD de Instalación Mínima de Gentoo en tu sistema y arranca desde él. Puedes establecer algunas opciones en el gestor de arranque, pero si lo dejas así, continuará y arrancará Linux por sí mismo.

Gestor de Arranque de Instalación de Gentoo

(Se predeterminará el uso de una consola de framebuffer, pero en interés de capturas de pantalla más pequeñas cambié la opción para usar VGA presionando F1 y eligiendo el kernel gentoo-nofb.)

Una carga de texto se desplazará por la pantalla mientras el kernel arranca y el CD de instalación detecta tu hardware. Luego se te dará una opción de mapa de teclas.

Selección de Mapa de Teclas de Instalación de Gentoo

Si estás usando un teclado estadounidense, puedes dejarlo así, o presionar Enter y este aviso se agotará con esa elección. Vivo en Gran Bretaña, así que quiero el mapa de teclas uk.

Más texto se desplaza…

Instalador de Gentoo aún arrancando

Hasta que te quedes en un aviso de root.

Instalador de Gentoo en aviso de root

Lo más probable es que haya encontrado un servidor DHCP durante la detección y ya estés conectado a internet. Sin embargo, queremos especificar nuestra propia dirección IP de inmediato, así que escribimos,

net-setup eth0

Y pasamos por las opciones según sea apropiado:

net-setup 1

net-setup 2

net-setup 3

net-setup 4

net-setup 5

net-setup 6

net-setup 7

net-setup 8

net-setup 9

Ahora estás de vuelta en el aviso de root, como se sugirió, puede que quieras verificar que tu red se haya levantado correctamente.

ifconfig

net-setup completo

Y cualquier otro comando que quieras hacer para asegurarte de que tienes una conexión a internet. Por ejemplo (del Manual de Gentoo):

ping -c 3 www.gentoo.org

Ahora establece tu nombre de host temporalmente. Lo leeremos más tarde para automatizar algunas etapas posteriores de la instalación.

hostname server1.example.com

3.2 Iniciando sesión en el entorno de instalación de forma remota

Establece la contraseña de root. Esto es solo para el sistema de instalación, no para el sistema instalado final:

passwd

Y comienza sshd:

/etc/init.d/sshd start

Se crearán las claves del host y se iniciará el demonio sshd. Ahora puedes iniciar sesión en el sistema de instalación desde la comodidad de tu programa de terminal habitual en tu propia computadora. Obviamente, si prefieres, o tienes que, puedes omitir este paso y continuar usando la consola.

ssh [email protected]

Obviamente, eso solo funcionará si server1.example.com se resuelve en tu sistema.

Primer inicio de sesión remoto

3.3 Configurando el disco del sistema

Esta parte probablemente será muy diferente en otras arquitecturas. Consulta el Manual de Gentoo si no estás en x86 o amd64, o si deseas hacer algo diferente al diseño predeterminado sugerido en el manual x86.

Para particionar el disco, usa parted. Vamos a entrar directamente y configurar el esquema de partición sugerido por Gentoo, y parted nos permite hacerlo de una manera que se puede mostrar de forma concisa en texto:

parted /dev/hda

Obtendrás un aviso (parted). En este aviso ingresa los siguientes comandos:

mklabel msdos  
mkpartfs primary ext2 0 32  
mkpartfs primary linux-swap 32 545  
mkpart primary 545 -0  
set 1 boot on  
print

Deberías ver algo como:

Disco /dev/hda: 5906MB
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones: msdos
Número  Inicio   Fin     Tamaño    Tipo     Sistema de archivos  Flags
 1      32.3kB  32.9MB  32.9MB  primario  ext2         boot  
 2      32.9MB  545MB   512MB   primario  linux-swap        
 3      545MB   5906MB  5361MB  primario                    
(parted) 

Escribe quit para salir y guardar los cambios.

Ya hemos creado los sistemas de archivos ext2 y swap en las particiones 1 y 2, así que solo queremos crear el sistema de archivos ext3 en la partición 3.

mke2fs -j /dev/hda3

Y activemos el swap para nuestro entorno de instalación:

swapon /dev/hda2

Y monta el sistema de archivos en el que estamos a punto de instalar.

mount /dev/hda3 /mnt/gentoo  
mkdir /mnt/gentoo/boot  
mount /dev/hda1 /mnt/gentoo/boot

3.4 Preparando el camino para Stage 3

Confirma que la fecha y la hora son correctas para tu sistema. Si no lo son, las cosas pueden volverse confusas más tarde.

date
Jue Ago 30 13:58:36 UTC 2007

Lo cual, de hecho, en el momento en que lo hice, estaba un poco mal, así que corrígelo algo así:

date 083013542007

Ahora necesitamos descargar el Tarball de Stage 3 y el snapshot de Portage. En lugar de jugar con enlaces o lynx, simplemente usemos unos pocos comandos:

mirrorselect --interactive --output > /tmp/mirror

mirrorselect - descargar espejos

Selecciona los espejos que sean apropiados para ti y selecciona OK. Cuando salgas, se escribirá una línea en /tmp/mirror con tus selecciones. Solo queremos el primero, así que:

source /tmp/mirror   
MIRRORS=($GENTOO_MIRRORS)   
MIRROR=${MIRRORS[0]}   
cd /mnt/gentoo   
wget ${MIRROR}releases/x86/current/stages/stage3-$(arch)-2007.0.tar.bz2 \   
|| wget ${MIRROR}releases/x86/current/stages/stage3-x86-2007.0.tar.bz2   
wget ${MIRROR}snapshots/portage-latest.tar.bz2

No hay una forma a prueba de fallos de determinar las porciones específicas de arquitectura de la URL de stage3 anterior, así que si no estás en x86, consulta el Manual de Gentoo.

Descomprime el tarball de stage.

tar --extract --verbose --bzip2 --preserve-permissions --file stage3-*.tar.bz2

Descomprime el snapshot de portage.

tar --extract --verbose --bzip2 --file portage-latest.tar.bz2 --directory /mnt/gentoo/usr

Puedes eliminar esas descargas ahora, si te falta espacio.

rm portage* stage*

Ahora, voy a hacer algo casi hereje para la comunidad de Gentoo y dejar etc/make.conf solo. Ese es el archivo donde se configuran cosas como los CFLAGS, y donde puedes configurarlo para que sea tan óptimo como desees. No lo voy a tocar. Deberías al menos revisarlo para asegurarte de que es sensato. Si es insensato, podrías haber descargado el archivo de stage incorrecto. En particular, en x86, la bandera -mtune=i686 está configurada por defecto incluso en el archivo stage3 x86 simple, lo cual puede ser inapropiado si estás instalando en hardware antiguo. Pero al usar $(arch) esperamos evitar tales problemas.

vi /mnt/gentoo/etc/make.conf

Solo vamos a agregar algo de información que necesitamos. Primero, los espejos de los cuales Gentoo se va a descargar. Ya hemos obtenido los espejos de descarga una vez, así que para ahorrar elegirlos de nuevo, tomaremos esa selección y agregaremos una selección para el espejo rsync.

cat /tmp/mirror >> /mnt/gentoo/etc/make.conf   
mirrorselect --interactive --rsync --output >> /mnt/gentoo/etc/make.conf

mirrorselect - espejos rsync

Ahora vamos a copiar algunas cosas en /mnt/gentoo para poder chroot en él y continuar la instalación. También vamos a copiar la configuración de red actual para que el sistema instalado tenga lo mismo. Este pequeño script escribirá la configuración actual de eth0 en el nuevo formato /etc/conf.d/net.

#!/bin/bash
cat /etc/resolv.conf > /mnt/gentoo/etc/resolv.conf
echo "HOSTNAME=\"$(hostname -f)\"" > /mnt/gentoo/etc/conf.d/hostname
eth0=$(ifconfig eth0 | grep "inet addr")
ip=$(echo $eth0 | cut -f2 -d' ' | cut -f2 -d:)
broadcast=$(echo $eth0 | cut -f3 -d' ' | cut -f2 -d:)
netmask=$(echo $eth0 | cut -f 4 -d' ' | cut -f2 -d:)
gw=$(route -n | grep -e '^0.0.0.0' | unexpand -a | cut -f3)
nservers=$(grep -e '^nameserver' /etc/resolv.conf | cut -f2 -d' ')
sdomains=$(grep -e '^search' /etc/resolv.conf | cut -f2- -d' ')
echo 'modules=( "ifconfig" )' > /mnt/gentoo/etc/conf.d/net
echo "config_eth0=( \"${ip} netmask ${netmask} broadcast ${broadcast}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "routes_eth0=( \"default via ${gw}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "dns_domain_eth0=\"$(hostname -d)\"" >> /mnt/gentoo/etc/conf.d/net
echo "dns_servers_eth0=\"${nservers}\"" >> /mnt/gentoo/etc/conf.d/net
if [ -n "$sdomains" ] ; then echo "dns_search_eth0=\"${sdomains}\"" ; fi >> /mnt/gentoo/etc/conf.d/net

Después, /mnt/gentoo/etc/conf.d/net debería verse así, con los valores correctos, por supuesto.

modules=( "ifconfig" )
config_eth0=( "192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255" )
routes_eth0=( "default via 192.168.1.1" )
dns_domain_eth0="example.com"
dns_servers_eth0="192.168.1.1"

Usar este formato hará que el script de inicialización de red de Gentoo use los datos allí para escribir un nuevo /etc/resolv.conf, así como configurar la red misma, por lo que en el futuro solo hay un archivo que mantener correcto. (Copiamos el /etc/resolv.conf del sistema de instalación solo para usar dentro del entorno chroot hasta que arranquemos el sistema instalado.)

Habiendo hecho eso, podemos completar los preparativos para chroot y entrar.

3.5 Opcional: Instalando temporalmente vim en el entorno Stage3

El sistema Stage 3 de Gentoo no tiene vi. En su lugar, la práctica predeterminada es usar el editor incluido nano. Si realmente prefieres tener vi, haz lo siguiente ahora:

VIM=$(which vim)   
VIMDIR=$(dirname ${VIM})   
cp --dereference ${VIM} /mnt/gentoo${VIM}   
ln --symbolic ${VIM} /mnt/gentoo$(dirname ${VIM})/vi

(Las bibliotecas de las que depende ya están en su lugar.)

Sin embargo, las instrucciones posteriores asumirán que no has hecho esto. Si lo has hecho, eres lo suficientemente inteligente como para sustituir el comando que deseas.

3.6 Entrando en el entorno chroot Stage3

mount -t proc none /mnt/gentoo/proc   
mount -o bind /dev /mnt/gentoo/dev   
chroot /mnt/gentoo /bin/bash   
env-update   
source /etc/profile   
export PS1="(chroot) $PS1"

Ahora estamos en el entorno chroot, vamos a actualizar portage al estado actual.

emerge --sync

Si te preocupa usar la consola de la máquina, es posible que desees establecer el mapa de teclas en /etc/conf.d/keymaps. De lo contrario, podrías dejarlo así.

nano --nowrap /etc/conf.d/keymaps

Ahora establecemos nuestra zona horaria. Consulta el contenido de /usr/share/zoneinfo para ver qué zona horaria usar. (No vamos a alterar USE o el make.profile predeterminado.) Por ejemplo,

cp /usr/share/zoneinfo/Europe/London /etc/localtime

Establece la zona horaria en /etc/conf.d/clock. Simplemente establece la variable TIMEZONE en el archivo que copiaste a /etc/localtime anteriormente. Por ejemplo,

nano --nowrap /etc/conf.d/clock
TIMEZONE="Europe/London"

(No olvides descomentar la línea.)

Es posible que necesites establecer CLOCK en local. Generalmente no se necesita, pero generalmente es necesario si estás instalando en VMWare y posiblemente en otros entornos virtuales.

3.7 Instalar el kernel

emerge gentoo-sources

Solo vamos a hacer una instalación genkernel, para instalar el kernel estándar de Gentoo. Esto es en parte por simplicidad para este cómo hacerlo. Si te sientes cómodo construyendo tus propios kernels, hazlo siguiendo las notas del Manual de Gentoo en el Capítulo 7.

emerge genkernel   
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

El segundo comando copia la configuración del kernel del disco de instalación para que sea nuestro kernel actual. Si hemos llegado tan lejos, es una buena apuesta que esta configuración del kernel funciona para nosotros.

Aquí podemos acortar algo y ahorrarnos un paso más complicado más tarde. Queremos agregar soporte de cuotas a la configuración del kernel. Lo que haremos aquí es agregarlo al archivo de plantilla de configuración que usa genkernel, para que no perdamos el cambio cuando actualicemos el kernel.

nano --nowrap /usr/share/genkernel/x86/kernel-config-2.6

Busca # CONFIG QUOTA is not set y cámbialo a lo siguiente (agregando las dos líneas siguientes):

CONFIG_QUOTA=y 
# CONFIG_QFMT_V1 is not set 
CONFIG_QFMT_V2=y 

Luego podemos continuar:

genkernel all

Esto puede tardar un tiempo. Está construyendo soporte para todo. Dije que esto iba a ser una construcción genérica de Gentoo.

Nota; si estás instalando en un disco SCSI o SATA, es mejor en esta etapa hacer,

genkernel --menuconfig all

y seleccionar el controlador de bajo nivel apropiado para la interfaz SCSI o SATA a la que está conectado tu disco del sistema, para que se compile en el kernel monolítico en lugar de como un módulo. Creo que debería funcionar si no haces esto (cargando el módulo del controlador desde el initrd al igual que el disco de instalación), pero en este momento parece que no.

3.8 Configurar sistemas de archivos

nano --nowrap /etc/fstab

Suponiendo que estás en el mismo esquema de particiones que yo, es decir: siguiendo esta guía, reemplaza /dev/BOOT con /dev/hda1; /dev/ROOT con /dev/hda3; y /dev/SWAP con /dev/hda2. El archivo alterado debería verse así:

[...]
#                                           
# NOTA: Si tu partición BOOT es ReiserFS, agrega la opción notail a opts.
/dev/hda1               /boot           ext2            noauto,noatime  1 2
/dev/hda3               /               ext3            noatime         0 1
/dev/hda2               none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      audo            noauto,ro       0 0
#/dev/fd0               /mnt/floppy     auto            noauto          0 0
[...]

3.9 Iniciar la red al arrancar.

rc-update add net.eth0 default   
rc-update add hostname default

3.10 Instalar servicios del sistema

emerge syslog-ng vixie-cron   
rc-update add syslog-ng default   
rc-update add vixie-cron default

3.11 Gestor de arranque

emerge bootloader

Esto instalará el gestor de arranque predeterminado para tu arquitectura. Lo siguiente asume que estás en x86 o amd64 y que este gestor de arranque es grub. Como esta es una instalación de PC ultra genérica, vamos a hacer trampa y simplemente escribirlo. Si el resto de esta guía se ajusta a tu sistema, también debería hacerlo esto; de lo contrario, consulta el Manual de Gentoo, capítulo 10.

echo -e "default 0\ntimeout 5\n\ntitle=GentooLinux\nroot (hd0,0)" > /boot/grub/grub.conf   
echo "kernel `ls /boot/kernel*` root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" >> /boot/grub/grub.conf   
echo "initrd `ls /boot/initramfs*`" >> /boot/grub/grub.conf   
grep --invert-match rootfs /proc/mounts > /etc/mtab   
grub-install --no-floppy /dev/hda

3.12 Resumen y reinicio

rc-update add sshd default   
passwd

Y dale a root una contraseña. De esa manera podemos iniciar sesión después sin tener que ir a la consola. Suponiendo que todo funcionó.

Sal del chroot y reinicia.

exit   
cd   
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo   
reboot

Por supuesto, es posible que necesites quitar el CD de la unidad. Esto dependerá de cuál sea tu orden de arranque; pero podrías deshacerte de él; ya no es necesario.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.