Guía de Instalación Rápida Gentoo Linux x86 con Software Raid y LVM2

Xavier Neys  Autor
Sven Vermeulen  Autor
Steven Wagner Autor
John Christian Stoddart  Traductor

Actualizado 4 de octubre, 2009

1.  Introducción

Esta guía contiene todos los comandos usados para completar una instalación stage3 incluyendo LVM2 sobre software raid. Esta guía está dirigida hacia usuarios experimentados. Se necesita una conexión a Internet para descargar los archivos stage3 e imagen de Portage.

Los usuarios nuevos deben leer el Manual ya que da una mejor visión del proceso de instalación.

Información acerca del tiempo sigue todos los comandos que ejecutan en más de dos segundos. Los tiempos fueron tomados en una máquina AMD 2000 de 1,66 GHz con 512 Mb de RAM y dos discos SATA conectados a un controlador configurado como JBOD (por ejemplo, en Gentoo se ven como dos discos duros separados). Si tienen un controlador raid en "hardware" en su tarjeta madre, lo más probable es que no sea un controlador raid verdadero.

Listado de Código 1.1: Especificaciones de la máquina de prueba

(Las siguientes especificaciones y tiempos pueden ayudarle a
hacerse una idea del tiempo requerido para completar la instalación)

# grep bogo /proc/cpuinfo
bogomips       : 3337.81

# hdparm -tT /dev/sda /dev/sdb
/dev/sda:
reads:   1048 MB in  2.00 seconds = 524.00 MB/sec
 Timing buffered disk reads:  152 MB in  3.01 seconds =  50.50 MB/sec

/dev/sdb:
 Timing cached reads:   1048 MB in  2.00 seconds = 524.00 MB/sec
 Timing buffered disk reads:  152 MB in  3.01 seconds =  50.50 MB/sec

# grep MemTotal /proc/meminfo
MemTotal:       509248 kB

2.  Guía de Instalación Rápida

Medios de instalación

Descargue un CD desde uno de nuestros servidores réplica. Puede encontrar la ISO del CD minimal en releases/x86/current-iso/. El CD de instalación minimal sólo es práctico para instalaciones a través de Internet. Esta guía usa el CD minimal.

Grabe el CD y arranque con él.

Arrancar con el CD

Pulse F2 en la pantalla de arranque para ver qué opciones de inicio están disponibles. Se puede iniciar tanto gentoo como gentoo-nofb, la última desactiva el framebuffer. Si se inicia el LiveCD no hay que olvidarse de añadir la opción nox para evitar que se inicie el entorno gráfico X. Algunas opciones permiten habilitar o deshabilitar determinadas características. Si todo va bien, se detectará el hardware y se cargarán todos los módulos. Si el núcleo falla y no arranca correctamente o si el ordenador se cuelga durante el inicio, se pueden probar diversas configuraciones. La forma más segura es probablemente usar la opción nodetect y cargar explícitamente los módulos cuando sea necesario.

Listado de Código 2.1: Arrancar con el CD minimal

Gentoo Linux Installation LiveCD                     http://www.gentoo.org
Enter to Boot; F1 for kernels  F2 for options.
boot: gentoo-nofb
  (en caso de problemas)
boot: gentoo-nofb nodetect

Opcional: carga de módulos

Si utiliza la opción nodetect se deberán cargar los módulos necesarios una vez arrancado el sistema. Se necesitará habilitar la red y tener acceso a los discos. El comando lspci nos puede ayudar a identificar el hardware.

Listado de Código 2.2: Carga de los módulos necesarios

livecd root # lspci
(Use la salida de lspci para identeficar los módulos
necesarios)

(Lo siguiente es un ejemplo, adáptelo a su hardware)
livecd root # modprobe 3w-9xxx
livecd root # modprobe r8169

Configuración de red

Si su red no está lista todavía, utilice net-setup para configurarla. Puede que necesite cargar el soporte para su tarjeta de red previamente con modprobe. Si tiene ADSL, use pppoe-setup y pppoe-start. Para el soporte de PPTP, primero hay que editar /etc/ppp/chap-secrets y /etc/ppp/options.pptp y después utilizar pptp <serverip>.

Para acceso inalámbrico, utilice iwconfig para configurar los parámetros de la red sin hilos y después utilice tanto net-setup nuevamente o ifconfig, dhcpcd y/o route manualmente.

Si está tras un proxy, no se olvide de inicializar su sistema utilizando export http_proxy, ftp_proxy y RSYNC_PROXY.

Listado de Código 2.3: Configuración asistida de la red

livecd root # net-setup eth0

Alternativamente, puede iniciar la red manualmente. El ejemplo siguiente asigna la dirección IP 192.168.1.10 a su PC y define 192.168.1.1 como enrutador y servidor de nombres.

Listado de Código 2.4: Configuración manual de la red

livecd root # ifconfig eth0 192.168.1.10/24
livecd root # route add default gw 192.168.1.1
livecd root # echo nameserver 192.168.1.1 > /etc/resolv.conf

El CD de instalación permite arrancar un servidor sshd, añadir usuarios adicionales, ejecutar irssi (un cliente de chat para la línea de comandos) y navegar por la web con links.

Opcional: conectarse al nuevo sistema a través de ssh

La opción más interesante es, desde luego, sshd. Puede iniciarse para entonces conectarnos desde otra máquina y copiar y pegar los comandos de esta guía.

Listado de Código 2.5: Arrancar sshd

livecd root # time /etc/init.d/sshd start
* Generating hostkey ...
(sshd genera la clave y muestra más información)
* starting sshd ...                            [ok]

real   0m13.688s
user   0m9.420s
sys    0m0.090s

Ahora estableceremos la contraseña para root en el entorno del liveCD de forma que podamos conectarnos desde otro PC. Por favor, tenga en cuenta que permitir a root la conexión a través de ssh no está recomendado en circunstancias normales. Si no confía en la red local, debería usar una contraseña larga y compleja, y debería usarla sólo hasta que desaparezca en el primer reinicio.

Listado de Código 2.6: Establecer la contraseña de root

livecd root # passwd
New UNIX password: escriba_la_contraseña
Retype new UNIX password: escriba_la_contraseña
passwd: password updated successfully

Ahora, se puede inciar una terminal en otro PC y conectarse a la nueva máquina, seguir el resto de esta guía en otra ventana, y copiar y pegar comandos.

Listado de Código 2.7: Conectarse al nuevo sistema desde otro PC

(Use la dirección IP de su nueva máquina)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: escriba_la_contraseña

Preparando los Discos

Cargue los módulos para RAID en software y LVM2.

Listado de Código 2.8: Cargar los módulos RAID y LVM2

livecd ~ # modprobe raid0
livecd ~ # modprobe raid1
(también están disponibles raid5, raid6 y raid10)

livecd ~ # modprobe dm-mod

Use fdisk o cfdisk para crear el esquema de particiones. Los nombres de los dispositivos probablemente serán o /dev/sda y /dev/sdb para un disco SATA o SCSI, o /dev/hda y /dev/hdb para discos IDE. El siguiente esquema será usado en esta guía:

/dev/sda /dev/sdb Tipo
/dev/md1 /boot /boot Raid-1 (espejos)
intercambio intercambio Particiones normales
/dev/md3 / / Raid-1 (mirroring)
/dev/md4 LVM2 volumes Raid-0 (striped)

Importante: La partición desde donde arrancamos no debe usar el modo distribuido por bandas (conocido como "striping"), ni puede ser raid-5 o raid-0.

Nota: Por otra parte, si desea estabilidad adicional, considere el uso de raid-1 (o incluso raid-5) para la(s) particion(es) de intercambio, de manera que si falla un disco no se corrompa el espacio de intercambio y cuelgue las aplicaciones que la estén usando. Si desea desempeño adicional, sencillamente permita al kernel usar distintas particiones de intercambio, ya que por defecto usará el modo "striping".

Listado de Código 2.9: Crear las particiones

livecd ~ # fdisk /dev/sda
(Asegúrese de usar el tipo fd y hacer que sea arrancable)

(El resto de esta guía usa el siguiente esquema de particiones)
livecd ~ # fdisk -l /dev/sda

Disk /dev/sda: 299.9 GB, 299989204992 bytes
255 heads, 63 sectors/track, 36471 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          11       88326   fd  Linux raid autodetect
/dev/sda2              12          61      401625   82  Linux swap / Solaris
/dev/sda3              62         311     2008125   fd  Linux raid autodetect
/dev/sda4             312       36471   290455200   fd  Linux raid autodetect

(Particione el segundo disco igual que el primero)
livecd ~ # fdisk /dev/sdb

Luego creamos los nodos y dispositivos RAID:

Listado de Código 2.10: Crear los nodos y dispositivos

livecd ~ # mknod /dev/md1 b 9 1
livecd ~ # mknod /dev/md3 b 9 3
livecd ~ # mknod /dev/md4 b 9 4

livecd ~ # mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm: array /dev/md1 started.
livecd ~ # mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
mdadm: array /dev/md3 started.
livecd ~ # mdadm --create /dev/md4 --level=0 --raid-devices=2 /dev/sda4 /dev/sdb4
mdadm: array /dev/md4 started.

(Debemos esperar hasta que todas las unidades esten listas)
livecd ~ # cat /proc/mdstat
Personalities : [raid0] [raid1]
md4 : active raid0 sdb4[1] sda4[0]
581006592 blocks 64k chunks

md3 : active raid1 sdb3[1] sda3[0]
1959808 blocks [2/2] [UU]

md1 : active raid1 sdb1[1] sda1[0]
88256 blocks [2/2] [UU]

Entonces creamos los volúmenes LVM2 en /dev/md4. El siguiente esquema se usa a modo de ejemplo:

Directorio Tamaño Sistema de archivos
/usr 8 GB ext3
/usr/portage 2 GB ext2, con bloques pequeños, muchos nodos i (inodes)
/usr/portage/distfiles 4 GB ext2, con bloques grandes, menor número de nodos i
/home 10 GB ext3
/opt 4 GB ext3
/var 4 GB ext3
/var/tmp 6 GB ext2
/tmp 2 GB ext2

Listado de Código 2.11: Creando los volúmenes LVM2

livecd ~ # vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found
livecd ~ # vgchange -a y
  No volume groups found

(Crear volúmenes físicos, solo tenemos uno en nuestro ejemplo)
livecd ~ # pvcreate /dev/md4
  Physical volume "/dev/md4" successfully created

(Create grupos de volúmenes, de nuevo, tenemos solo uno en el ejemplo)
livecd ~ # vgcreate vg /dev/md4
  Volume group "vg" successfully created

(Crear volúmenes lógicos)
livecd ~ # lvcreate -L8G -nusr vg
  /dev/cdrom: open failed: Read-only file system
  Logical volume "usr" created (A continuación no mostramos mensajes similares)
livecd ~ # lvcreate -L2G -nportage vg
livecd ~ # lvcreate -L4G -ndistfiles vg
livecd ~ # lvcreate -L10G -nhome vg
livecd ~ # lvcreate -L4G -nopt vg
livecd ~ # lvcreate -L4G -nvar vg
livecd ~ # lvcreate -L6G -nvartmp vg
livecd ~ # lvcreate -L2G -ntmp vg

(Mostrar grupos de volúmenes y volúmenes lógicos)
livecd ~ # vgs
  VG   #PV #LV #SN Attr  VSize   VFree
  vg     1   8   0 wz--n 554.09G 514.09G
livecd ~ # lvs
  LV        VG   Attr   LSize  Origin Snap%  Move Copy%
  distfiles vg   -wi-a-  4.00G
  home      vg   -wi-a- 10.00G
  opt       vg   -wi-a-  4.00G
  portage   vg   -wi-a-  2.00G
  tmp       vg   -wi-a-  2.00G
  usr       vg   -wi-a-  8.00G
  var       vg   -wi-a-  4.00G
  vartmp    vg   -wi-a-  6.00G

Use los comandos mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs y mkfs.jfs para crear los sistema de archivos. Inicialice particiones de intercambio con mkswap y actívelas con swapon.

Listado de Código 2.12: Creando los sistemas de archivos y activando particiones de intercambio

(ext2 es todo lo que necesita para la partición /boot)
livecd ~ # mke2fs /dev/md1

(Usemos ext3 en la partición raíz)
livecd ~ # mke2fs -j -O /dev/md3

(Creamos los sistemas de archivo en los volúmenes lógicos)
livecd ~ # mke2fs -b 4096 -T largefile /dev/vg/distfiles
livecd ~ # mke2fs -j /dev/vg/home
livecd ~ # mke2fs -j /dev/vg/opt
livecd ~ # mke2fs -b 1024 -N 200000 /dev/vg/portage
livecd ~ # mke2fs /dev/vg/tmp
livecd ~ # mke2fs -j /dev/vg/usr
livecd ~ # mke2fs -j /dev/vg/var
livecd ~ # mke2fs /dev/vg/vartmp

(Creando y activando particiones de intercambio)
livecd ~ # mkswap /dev/sda2 && mkswap /dev/sdb2
livecd ~ # swapon -p 1 /dev/sda2 && swapon -p 1 /dev/sdb2
(Asegúrese que todas las particiones de intercambio tengan la misma prioridad)
livecd ~ # swapon -v -s
Filename                   Type            Size    Used    Priority
/dev/sda2                  partition       401616  0       1
/dev/sdb2                  partition       401616  0       1

Monte los sistemas de archivo recién creados en /mnt/gentoo. Cree los directorios para los otros puntos de montaje y móntelos también.

Listado de Código 2.13: Monte los sistema de archivos

livecd ~ # mount /dev/md3 /mnt/gentoo
livecd ~ # cd /mnt/gentoo
livecd gentoo # mkdir boot home usr opt var tmp
livecd gentoo # mount /dev/md1 /mnt/gentoo/boot
livecd gentoo # mount /dev/vg/usr /mnt/gentoo/usr
livecd gentoo # mount /dev/vg/home /mnt/gentoo/home
livecd gentoo # mount /dev/vg/opt /mnt/gentoo/opt
livecd gentoo # mount /dev/vg/tmp /mnt/gentoo/tmp
livecd gentoo # mount /dev/vg/var /mnt/gentoo/var
livecd gentoo # mkdir usr/portage var/tmp
livecd gentoo # mount /dev/vg/vartmp /mnt/gentoo/var/tmp
livecd gentoo # mount /dev/vg/portage /mnt/gentoo/usr/portage
livecd gentoo # mkdir usr/portage/distfiles
livecd gentoo # mount /dev/vg/distfiles /mnt/gentoo/usr/portage/distfiles

(Asigne los permisos correctos en los directorios tmp)
livecd gentoo # chmod 1777 /mnt/gentoo/tmp /mnt/gentoo/var/tmp

Configurando el escenario (stage)

En primer lugar, asegúrese que la fecha del sistema es correcta con date MMDDhhmmYYYY. Use hora UTC.

Listado de Código 2.14: Establecer la fecha y el sistema de hora UTC

(Verificación del reloj)
livecd ~ # date
Mon Mar  6 00:14:13 UTC 2006

(Si se necesita, estableceremos fecha y hora)
livecd ~ # date 030600162006 (El formato es
MMDDhhmmYYYY)
Mon Mar  6 00:16:00 UTC 2006

Luego descargue un stage desde uno de nuestros servidores réplica:

Listado de Código 2.15: Descarga del archivo de un stage3

livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml
(Elija un servidor réplica, cámbiese al directorio
releases/x86/current-stage3/, resalte el stage3 de su elección,
probablemente el stage3 i686 y pulse D para descargarlo)

(O descárguelo directamente con wget sin elegir un
réplica cercano)
livecd gentoo # wget ftp://distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2

Vaya a /mnt/gentoo y desempaquete el stage usando tar xjpf <stage3 tarball>.

Listado de Código 2.16: Desempaquetado del archivo del stage3

livecd gentoo # time tar xjpf stage3*

real  1m14.157s
user  1m2.920s
sys   0m7.530s

Instale la última imagen disponible de Portage. Hágalo igual que con el archivo del stage3: elija un servidor réplica cercano desde la lista, descárguelo y desempaquételo.

Listado de Código 2.17: Descarga de la última instantánea de Portage

livecd gentoo # cd /mnt/gentoo/usr
livecd usr # links http://www.gentoo.org/main/en/mirrors.xml
(Elija un servidor réplica, cámbiese al directorio snapshots,
resalte portage-latest.tar.bz2 y pulse D para descargarlo)

(O descárguelo directamente con wget sin utilizar un
servidor réplica cercano)
livecd gentoo # cd /mnt/gentoo/usr
livecd usr # wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2

Listado de Código 2.18: Desempaquetado del archivo de Portage

livecd usr # time tar xjf portage*

real  0m40.523s
user  0m28.280s
sys   0m8.240s

Entorno enjaulado (chroot)

Monte el sistema de ficheros /proc, sobrescriba el fichero /etc/resolv.conf y luego cambie el directorio raíz (chroot) a su entorno Gentoo.

Listado de Código 2.19: Chroot

livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...

Establecimiento de la zona horaria

Configure su zona horaria encontrando la correcta listando /usr/share/zoneinfo.

Listado de Código 2.20: Establecimiento de la zona horaria

livecd / # ls /usr/share/zoneinfo
(Se usa Bruselas como ejemplo)
livecd / # cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime

livecd / # date
Wed Mar  8 00:46:05 CET 2006

Establecimiento de los nombres de host y dominio

Estableceremos el nombre del computador en /etc/conf.d/hostname y en /etc/hosts. En el ejemplo siguiente, usaremos miordenador como nombre de host y en.misitio como nombre de dominio. Podremos editar ambos ficheros con nano o usar los comandos siguientes:

Listado de Código 2.21: Establecimiento de los nombres de host y dominio

livecd / # cd /etc
livecd etc # echo "127.0.0.1 miordenador.en.misitio miordenador localhost" > hosts
livecd etc # sed -i -e 's/HOSTNAME.*/HOSTNAME="miordenador"/' conf.d/hostname
(Uso del nombre de host definido y verificación)
livecd etc # hostname miordenador
livecd etc # hostname -f
miordenador.en.misitio

Configuración del Kernel

Instale fuentes para un kernel (usualmente gentoo-sources), configure, compile y copie el archivo arch/i386/boot/bzImage a /boot.

Listado de Código 2.22: Instale fuentes, compile e instale el kernel

livecd etc # time emerge gentoo-sources

real  3m3.110s
user  1m2.320s
sys   0m34.990s
livecd etc # cd /usr/src/linux
livecd linux # make menuconfig

(Configure el kernel de la manera usual y asegúrese que el
soporte para raid y lvm estén incluidos y no cómo modules. Lo
mismo aplica para los manejadores de disco y sistemas de archivos.)
Multi-device support (RAID and LVM)  --->
[*] Multiple devices driver support (RAID and LVM)
  <*>   RAID support
  < >     Linear (append) mode (NEW)
  <*>     RAID-0 (striping) mode
  <*>     RAID-1 (mirroring) mode
  < >     RAID-10 (mirrored striping) mode (EXPERIMENTAL) (NEW)
  < >     RAID-4/RAID-5 mode (NEW)
  < >     RAID-6 mode (NEW)
  < >     Multipath I/O support (NEW)
  < >     Faulty test module for MD (NEW)
  <*>   Device mapper support
  < >     Crypt target support (NEW)
  < >     Snapshot target (EXPERIMENTAL) (NEW)
  < >     Mirror target (EXPERIMENTAL) (NEW)
  < >     Zero target (EXPERIMENTAL) (NEW)
  < >     Multipath target (EXPERIMENTAL) (NEW)
  < >     Bad Block Relocation Device Target (EXPERIMENTAL) (NEW)

livecd linux # time make -j2

(El tiempo depende altamente en las opciones seleccionadas)
real  5m5.869s
user  4m32.320s
sys   0m32.930s

livecd linux # make modules_install
livecd linux # cp arch/i386/boot/bzImage /boot/kernel

Configuración del sistema

Edite su /etc/fstab y reemplace BOOT, ROOT y SWAP con los nombres correspondientes de sus particiones y añada sus volúmenes lógicos. No olvide verificar que los sistmas de ficheros coinciden con los de suinstalación.

Listado de Código 2.23: Ejemplo de fstab

livecd linux # cd /etc
livecd etc # nano -w fstab
/dev/md1          /boot                   ext2  noauto,noatime  1 2
/dev/md3          /                       ext3  noatime         0 1
/dev/sda2         none                    swap  sw,pri=1        0 0
/dev/sdb2         none                    swap  sw,pri=1        0 0
/dev/vg/usr       /usr                    ext3  noatime         1 2
/dev/vg/portage   /usr/portage            ext2  noatime         1 2
/dev/vg/distfiles /usr/portage/distfiles  ext2  noatime         1 2
/dev/vg/home      /home                   ext3  noatime         1 2
/dev/vg/opt       /opt                    ext3  noatime         1 2
/dev/vg/tmp       /tmp                    ext2  noatime         1 2
/dev/vg/var       /var                    ext3  noatime         1 2
/dev/vg/vartmp    /var/tmp                ext2  noatime         1 2

Configure la red en /etc/conf.d/net. Añada el guión de inicio net.eth0 al nivel de ejecución default. Si tiene varias tarjetas de red, haga un enlace simbólico al guión de inicio net.eth0 para cada una de ellas y añádalos igualmente al nivel de ejecución default. Puede editar /etc/conf.d/net con nano o usar los siguientes comandos:

Listado de Código 2.24: Configuración de la red

livecd etc # cd conf.d
livecd conf.d # echo 'config_eth0=( "192.168.1.10/24" )' >> net
livecd conf.d # echo 'routes_eth0=( "default via 192.168.1.1" )' >> net
livecd conf.d # rc-update add net.eth0 default
(Si ha compilado el controlador de la tarjeta de red como módulo,
añádalo a /etc/modules.autoload.d/kernel-2.6)
livecd conf.d # echo r8169 >> /etc/modules.autoload.d/kernel-2.6
(Si quiere reconectarse por ssh después de haber reiniciado su
nuevo sistema:)
livecd conf.d # rc-update add sshd default

Nota: Instale pcmciautils si necesita soporte para tarjetas PCMCIA.

Establezca la contraseña de root con passwd.

Listado de Código 2.25: Establezca la contraseña de root

livecd conf.d # passwd
New UNIX password: escriba_la_contraseña
Retype new UNIX password: escriba_la_contraseña_nuevamente
passwd: password updated successfully

Edite /etc/conf.d/clock para definir la zona horaria usada anteriormente.

Listado de Código 2.26: Editar /etc/conf.d/clock

livecd conf.d # nano -w /etc/conf.d/clock
TIMEZONE="Europe/Brussels"

Verifique la configuración del sistema en /etc/rc.conf, /etc/conf.d/rc, /etc/conf.d/keymaps, y edite alguno de los ficheros si es necesario

Listado de Código 2.27: Opcional: edición de algunos ficheros de configuración

livecd conf.d # nano -w /etc/rc.conf
livecd conf.d # nano -w /etc/conf.d/rc
livecd conf.d # nano -w /etc/conf.d/keymaps

Instalación de las herramientas del sistema

Instale las utilidades RAID y LVM2.

Listado de Código 2.28: Instalación de las utilidades RAID y LVM2

livecd conf.d # emerge mdadm lvm2

Instale una bitácora del sistema como syslog-ng y un demonio de cron como vixie-cron y añádalos a ambos al nivel de ejecución default.

Nota: Los demonios de cron dependen de un MTA por lo que puede que mail-mta/ssmtp sea puesto como dependencia. Si quiere utilizar un MTA más avanzado, podría instalarlo ahora. Si tiene prisa, deje que ssmtp sea instalado y quítelo después cuando instale el MTA de su elección

Listado de Código 2.29: Instalación de una bitácora del sistema de y un demonio de cron

livecd conf.d # time emerge syslog-ng vixie-cron

real  1m52.699s
user  1m1.630s
sys   0m35.220s
livecd conf.d # rc-update add syslog-ng default
livecd conf.d # rc-update add vixie-cron default

Instale las herramientas del sistema (xfsprogs, reiserfsprogs o jfsutils) y red (dhcpcd o ppp) precisas, si es que necesita alguna.

Listado de Código 2.30: Instalación de herramientas extra si son necesarias

livecd conf.d # emerge xfsprogs           (Si usa sistemas
de ficheros XFS)
livecd conf.d # emerge jfsutils           (Si usa sistemas
de ficheros JFS)
livecd conf.d # emerge reiserfsprogs      (Si usa sistemas
de ficheros Reiser file system)
livecd conf.d # emerge dhcpcd             (Si necesita un
cliente DHCP)
livecd conf.d # emerge ppp                (Si necesita
conectividad PPPoE ADSL)

Configuración del gestor de arranque

Haga emerge grub y configúrelo.

Listado de Código 2.31: Hacer emerge de grub y editar su fichero de configuración

livecd conf.d # time emerge grub

real  1m8.634s
user  0m39.460s
sys   0m15.280smedia.xml
livecd conf.d # nano -w /boot/grub/grub.conf

Listado de Código 2.32: Ejemplo de grub.conf

default 0
timeout 10

title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda3

Listado de Código 2.33: Instalación de grub on en ambos discos

livecd conf.d # grub
Probing devices to guess BIOS drives. This may take a long time.

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.

grub> root (hd1,0)
 Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd1)

grub> quit

Reboot

Salga del entorno enjaulado, desmonte todos los sistemas de archivo y reinicie:

Listado de Código 2.34: Reinicie

livecd conf.d # exit
livecd / # umount /mnt/gentoo/usr/portage/distfiles /mnt/gentoo/usr/portage \
/mnt/gentoo/usr /mnt/gentoo/var/tmp /mnt/gentoo/tmp /mnt/gentoo/var \
/mnt/gentoo/opt /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/home \
/mnt/gentoo/boot /mnt/gentoo
livecd / # reboot
(No se olvide de sacar el CD)

Finalizar la instalación

Nota: En nuestra máquina de pruebas, el intervalo de tiempo total entre el indicador de comandos en el arranque del CD minimal y el indicador del ingreso en el sistema después de reiniciar fue de 00:42:31. ¡Sí, menos de una hora! Note que este tiempo incluye incluso la descarga del stage3, de la instantánea de Portage y de algunos paquetes y el tiempo empleado en configurar el núcleo.

Entre como root, luego añada uno o más usuarios para el día a día utilizando useradd.

Listado de Código 2.35: Entrada en su nuevo sistema desde otro PC

(Limpie su fichero known_hosts puesto que su nueva máquina ha
generado una nueva y definitiva clave sshd)

$ nano -w ~/.ssh/known_hosts
(Busque la IP de su nuevo PC y borre la línea, luego guarde el
fichero y salga de nano)

(Use la dirección IP de su nuevo sistema)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: introduzca_la_contraseña

Listado de Código 2.36: Añadir un nuevo usuario

miordenador ~ # adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m john
miordenador ~ # passwd john
New UNIX password: Introduzca la contraseña de John
Retype new UNIX password: Introduzca la contraseña de John otra vez
passwd: password updated successfully

Últimos retoques de la configuración

Comenzaremos seleccionando los servidores réplica cercanos definiendo las variables SYNC y GENTOO_MIRRORS en /etc/make.conf o bien utilizando mirrorselect. También podemos definir en este momento el número de procesos de compilación concurrentes.

Listado de Código 2.37: Uso de mirrorselect y establecimiento de MAKEOPTS

miordenador ~ # emerge mirrorselect
miordenador ~ # mirrorselect -i -o >> /etc/make.conf
miordenador ~ # mirrorselect -i -r -o >> /etc/make.conf
(Normalmente (el número de procesadores +1) es un buen valor)
miordenador ~ # echo 'MAKEOPTS="-j2"' >> /etc/make.conf

Ahora es un buen momento para habilitar o deshabilitar algunas opciones USE. Ejecute emerge -vpe world para listar todos los paquetes instalados y sus opciones USE habilitadas o deshabilitadas. Edite /etc/make.conf o alternativamente use el siguiente comando para definir la variable USE:

Listado de Código 2.38: Ver las opciones USE en uso y habilitar o deshabilitar algunas

miordenador ~ # emerge -vpe world
(Portage muestra los paquetes y sus opciones USE; como ejemplo,
vamos a deshabilitar ipv6 y fortran, y habilitar unicode)
miordenador ~ # echo 'USE="nptl nptlonly -ipv6 -fortran unicode"' >> /etc/make.conf

Versiones recientes de glibc usan /etc/locale.gen para la configuración de locales.

Listado de Código 2.39: Definición de locales

miordenador ~ # cd /etc
miordenador etc # nano -w locale.gen
miordenador etc # locale-gen

Finalmente pero no menos importante, puede querer modificar la variable CFLAGS en su /etc/make.conf para optimizar el código a sus necesidades específicas. Por favor, tenga en cuenta que raramente se necesita utilizar una larga lista de opciones que pueden llegar incluso a estropear el sistema. Es recomendable especificar el tipo de procesador en la opción march e incluir -O2 -pipe.

También puede querer pasarse a ~x86. Sólo debería hacer esto si es capaz de manejar los posibles ebuilds o paquetes rotos. Si más bien quiere mantener su sistema estable, no añada la variable ACCEPT_KEYWORDS. También es una buena idea añadir FEATURES="parallel-fetch ccache".

Listado de Código 2.40: Ultima edición de make.conf

miordenador etc # nano -w make.conf
(Establezca -march a su tipo de CPU en CFLAGS)
CFLAGS="-O2 -march=athlon-xp -pipe"
(Añada la siguiente línea)
FEATURES="ccache"
(Añada lo siguiente únicamente si sabe lo que está haciendo)
ACCEPT_KEYWORDS="~x86"

Puede querer recompilar todo su sistema para hacer un uso completo de los últimos cambios de configuración hechos. Tomará bastante tiempo en completarse y obtendrá unos mínimos beneficios de velocidad. Puede dejar a su sistema que se optimice por sí solo de forma gradual cada vez que salgan versiones nuevas de los paquetes. Sin embargo, recompilar continúa siendo una buena idea desde el punto de vista de la consistencia del sistema. Por favor, vaya a la Guía de actualización de GCC en Gentoo Linux para encontrar una descripción de los beneficios de disponer de un sistema construido consistentemente.

Recompilar sólo los paquetes que han sido ya actualizados desde la versión o que han sido afectados por las nuevas opciones USE tomará bastante tiempo. Podría también quitar los paquetes que bloquean una actualización. Busque los "[blocks B ]" en la salida de emerge -vpuD --newuse world y utilice emerge -C para quitarlos.

Listado de Código 2.41: Actualización de los paquetes

(Instale ccache)
miordenador etc # emerge ccache

(Por favor tenga en cuenta que cambiar a ~x86 causa que muchos
paquetes sean actualizados
miordenador etc # emerge -vpuD --newuse world
(Dé una buena revisión a la lista de paquetes y sus opciones
USE, quite los paquetes que bloqueen otros si los hay, e inicie el largo
proceso)
miordenador etc # time emerge -vuD --newuse world
(79 paquetes han sido (re)compilados)

real  180m13.276s
user  121m22.905s
sys   36m31.472s

(Reinstale libtool para prevenir potenciales problemas)
miordenador etc # emerge --oneshot libtool

(Actualice los ficheros de configuración, asegurándose de
no dejar a dispatch-conf que actualice ficheros que usted ha
editado)
miordenador etc # dispatch-conf

(Si perl ha sido actualizado, debería ejecutar el guión
perl-cleaner)
miordenador etc # time perl-cleaner all
real  1m6.495s
user  0m42.699s
sys   0m10.641s

(En caso de una actualización mayor de python, debería ejecutar
el guión python-updater)
miordenador etc # python-updater

Qué hacer a continuación

Dependiendo de lo que se supone deba hacer su nueva máquina Gentoo, probablemente querrá instalar aplicaciones de servidor o un sistema de escritorio. Sólo como ejemplo, emerge gnome y emerge kde han sido cronometrados en el sistema ~x86 instalado tal como se describe antes. Ambos instalados desde el mismo punto de partida.

Puede ver nuestro índice de documentación para saber cómo instalar la aplicaciones de su elección.

Importante: Lo siguiente sólo es un ejemplo. De ninguna manera es una configuración recomendada.

Listado de Código 2.42: Emerge GNOME

miordenador etc # emerge -vp gnome
(Vea la lista de paquetes y sus opciones USE, luego edite make.conf si es necesario.
miordenador etc # nano -w /etc/make.conf
(Las siguientes opciones USE han sido definidas)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
  -kde -qt3 -qt4 -arts -eds -esd gnome gstreamer gtk firefox"

miordenador etc # time emerge gnome
(326 paquetes han sido instalados)

real  520m44.532s
user  339m21.144s
sys   146m22.337s

Listado de Código 2.43: Emerge KDE

miordenador etc # emerge -vp kde-meta
(Vea la lista de paquetes y sus opciones USE, luego edite make.conf si es necesario.
miordenador etc # nano -w /etc/make.conf
Las siguientes opciones USE han sido definidas)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
   kde qt3 qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox"

miordenador etc # time emerge kde-meta
(391 han sido instalados)

real  1171m25.318s
user  851m26.393s
sys   281m45.629s