Instalar el sistema base de Gentoo

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Handbook:AMD64/Installation/Base and the translation is 100% complete.

Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文 • ‎中文(中国大陆)‎
AMD64 Manual
Instalación
Acerca de la instalación
Elegir los medios
Configurar la red
Preparar los discos
Instalar el stage3
Instalar el sistema base
Configurar el núcleo
Configurar el sistema
Instalar las herramientas
Configurar el cargador de arranque
Terminar
Trabajar con Gentoo
Introducción a Portage
Ajustes USE
Características de Portage
Sistema de guiones de inicio
Variables de entorno
Trabajar con Portage
Ficheros y directorios
Variables
Mezclar ramas de software
Herramientas adicionales
Repositorios personalizados de paquetes
Características avanzadas
Configuración de la red
Comenzar
Configuración avanzada
Configuración de red modular
Conexión inalámbrica
Añadir funcionalidad
Gestión dinámica


Enjaulamiento

Opcional: Seleccionar los servidores réplica

Distribución de archivos

Para poder descargar el código fuente rápidamente se recomienda seleccionar un servidor réplica rápido. Portage comprobará en su archivo make.conf la variable GENTOO_MIRRORS y utilizará los servidores que se especifican allí. Puede navegar por la lista de servidores de réplica de Gentoo y buscar un servidor (o servidores) que estén cerca de su localización (ya que estos suelen resultar los más rápidos). Por otra parte, nosotros le facilitamos una buena herramienta llamada mirrorselect la cual proporciona una interfaz amigable para seleccionar los servidores réplicas que quiera. Simplemente navegue a los servidores réplica que desee y pulse Spacebar para seleccionar uno o más servidores.

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Repositorio de ebuilds de Gentoo

Un segundo paso importante en la selección de servidores replica consiste en configurar el repositorio de ebuilds de Gentoo a través del archivo /etc/portage/repos.conf/gentoo.conf. Este archivo contiene la información de sincronización necesaria para actualizar el repositorio de paquetes (la colección de ebuilds y archivos relacionados que contienen toda la información que Portage necesita para descargar e instalar paquetes de software).

La configuración del repositorio se puede hacer en unos sencillos pasos. Primero, si no existe, cree el directorio repos.conf:

root #mkdir /mnt/gentoo/etc/portage/repos.conf

Luego, copie el archivo de configuración del repositorio de Gentoo proporcionado por Portage al directorio (recien creado) repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Visualícelo con un editor de texto o usando la orden cat. El contenido del archivo debe estar en formato .ini y tener este aspecto:

ARCHIVO /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes

El valor por defecto de la variable sync-uri listado antes determinará la localización de un servidor réplica basado en una rotación de servidores. Esto ayudará aliviando la presión sobre el ancho de banda en la infraestructura de Gentoo y proporcionará un uso a prueba de fallos en caso de caida puntual de un servidor replica. Es recomendable mantener la URI por defecto a menos que se utilice un servidor réplica de Portage privado y local.

Tip
Para quien esté interesado, la especificación oficial de la API para los complementos (plug-in) de sincronización de Portage puede ser encontrada en el artículo Sync de los proyectos de Portage.

Copiar la información DNS

Aún queda una cosa que hacer antes de entrar en el nuevo entorno, copiar la información sobre los DNS en /etc/resolv.conf. Necesita hacer esto para asegurarse de que la red continúe funcionando después de entrar en el nuevo entorno. /etc/resolv.conf contiene los servidores de nombres para su red.

Para copiar esta información, se recomienda pasar la opción -L en la orden cp.Esto asegura que, si /etc/resolv.conf es un enlace simbólico, se copia el archivo al que apunta el enlace y no el propio enlace. En caso contrario, en el nuevo entorno, el enlace simbólico podría apuntar a un archivo inexistente (ya que lo mas probable es que los archivos apuntados no estén disponible dentro del nuevo entorno).

root #cp -L /etc/resolv.conf /mnt/gentoo/etc/

Montar los sistemas de archivos necesarios

En breve, cambiaremos la raíz de Linux a la nueva localización. Para asegurarse de que el nuevo entorno funciona correctamente, necesitaremos disponer de ciertos sistemas de archivos también en la nueva localización.

Los sistemas de archivos que deben estar disponibles son:

  • /proc/ que es un pseudosistema de archivos (parecen archivos normales, pero en la actualidad son generados dinámicamente) a través del cual el núcleo Linux expone información al entorno
  • /sys/ que es un pseudosistema de archivos, como /proc/ al que podía haber sustituido y que es mas estructurado que /proc/
  • /dev/ que es un systema de archivos normal, parcialmente gestionado por el gestor de dispositivos Linux (normalmente udev), que contiene todos los archivos de dispositivo

La ubicación /proc/ se montará en /mnt/gentoo/proc/ mientras que los otros dos serán montados mediente enlace. Esto último quiere decir que, por ejemplo, /mnt/gentoo/sys/ será realmente el actual /sys/ (será sólo un segundo punto de entrada al mismo sistema de archivos) mientras que /mnt/gentoo/proc/ es un nuevo montaje (instancia por así decirlo) del sistema de archivos.

root #mount -t proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
Nota
Las operaciones --make-rslave son necesarias para dar soporte a systemd mas adelante en la instalación.
Advertencia
Cuando se utilicen medios de instalación que no sean de Gentoo, podría no ser suficiente. Algunas distribuciones crean el enlace simbólico /dev/shm a /run/shm/ el cual ya no será válido después del chroot. Hacer que /dev/shm/ sea un apropiado montaje tmpfs puede resolver este problema:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount -t tmpfs -o nosuid,nodev,noexec shm /dev/shm
Asegúrese también de asignale permisos 1777
root # chmod 1777 /dev/shm

Entrar en el nuevo entorno

Ahora que todas las particiones están inicializadas y el sistema base instalado, es hora de entrar en el nuevo entorno de instalación haciendo chrooting en él. Esto significa que la sesión cambiará su raíz (la ubicación de mayor nivel que puede ser accedida) desde el entorno de instalación actual (CD de instalación u otro medio de instalación) hasta el sistema de instalación (es decir, las particiones inicializadas). De ahí el nombre, change root (cambiar raíz) o chroot.

El enjaulamiento (chroot) se hace en tres pasos:

  1. Se cambia la raíz desde / (en el medio de instalación) a /mnt/gentoo/ (en las particiones) utilizando chroot
  2. Se cargan en memoria algunas definiciones (ofrecidas por /etc/profile) mediante la orden source.
  3. Se redefine el símbolo de espera de órdenes (prompt) primario que nos hará recordar que nos encontramos en un entorno enjaulado (chroot).
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) $PS1"

Desde este momento, todas las acciones realizadas lo serán en el nuevo entorno Gentoo Linux. Por supuesto aún no hemos terminado, ¡Todavía quedan unas cuantas secciones!

Tip
Si la instalación de Gentoo se interrumpe en algún momento posterior, debería ser posible 'continuarla' desde este paso. ¡No es necesario particionar los discos otra vez! Simplemente monte la partición raíz y siga los pasos anteriores comenzando desde copiar la información DNS hasta entrar en el nuevo entorno. Esto también se utiliza para arreglar problemas con el cargador de arranque. Mas información en el artículo chroot.

Montar la partición de arranque

Ahora que estamos en el nuevo entorno, es necesario crear y montar la partición /boot. Esto cobrará importancia cuando llegue el momento de compilar el núcleo e instalar el cargador de arranque:

root #mkdir /boot
root #mount /dev/sda2 /boot

Configurar Portage

Instalar una instantánea de repositorio de ebuilds desde la web

El siguiente paso es instalar una instantánea del repositorio principal de ebuilds. Esta instantánea contiene una colección de ficheros que informa a Portage sobre los títulos de software disponibles (para su instalación), qué perfiles puede seleccionar el administrador del sistema, artículos de noticias específicas de paquetes o perfiles, etc.

Se recomienda utilizar emerge-webrsync para aquéllos que se encuentren detrás de cortafuegos restrictivos (ya hace uso de los protocolos HTTP/FTP para descargar la instantánea) y ahorra ancho de banda de red. Los lectores que no tengan limitaciones en el ancho de banda pueden saltar a la siguiente sección.

Esto recuperará la última instantánea (que se libera todo los días) desde uno de los servidores réplica de Gentoo e instalarla en el sistema:

root #emerge-webrsync
Nota
Durante esta operación, emerge-webrsync podría indicar que la localización /usr/portage/ no existe. Esto es normal y no debe preocupar - la herramienta creará la localización.

A partir de este punto Portage podría indicar que se recomienda realizar algunas actualizaciones. Esto es debido a que algunos paquetes de sistema que se han instalado mediante un archivo stage disponen de versiones más actuales y ahora Portage detecta los nuevos paquetes consultando la instantánea del repositorio. Por el momento se pueden ignorar las actualizaciones de los paquetes y realizarlas una vez haya finalizado la instalación de Gentoo.

Opcional: Actualizar el repositorio de ebuilds de Gentoo

Puede actualizar el repositorio de ebuilds de Gentoo a la última versión. La orden emerge-webrsync anterior habrá instalado una instantanea muy reciente (normalmente inferior a 24 horas) de manera que claramente este paso es opcional.

Suponiendo que hubiera una necesidad de tener las últimas actualizaciones de los paquetes (hasta hace 1 hora) entonces use emerge --sync. Esta orden utilizará el protocolo rsync para actualizar el repositorio de ebuilds de Gentoo (que obtuvo anteriormente mediante emerge --sync) a su estado mas reciente.

root #emerge --sync

En terminales lentos como algunos framebuffers o consolas seriales, es aconsejable usar la opción --quiet para aumentar la velocidad del proceso:

root #emerge --sync --quiet

Leer los elementos de noticias

Cuando se sincroniza el repositorio de ebuilds de Gentoo, Portage puede advertir al usuario con mensajes similares a los siguientes:

CÓDIGO Portage informa de que hay nuevos elementos de noticias disponibles
 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Los elementos de noticias se crearon para ofrecer un medio de comunicación en el que se incluyeran mensajes críticos a los usuarios a través del árbol sincronizado. Para gestionarlos necesitará utilizar eselect news. La aplicación eselect es una aplicación de Gentoo que presenta una interfaz de gestión común en cuanto a cambios en el sistema y las operaciones para realizarlos. En este caso se ha pedido a eselect que use el módulo news.

Para el módulo news hay tres operaciones que son las mas usadas:

  • Con list se muestra un sumario de las noticias disponibles
  • Con read se leen las noticas
  • Con purge se pueden eliminar noticias que una vez leidas ya no sea necesario volverlas a leer mas.
root #eselect news list
root #eselect news read

Se puede obtener más información sobre el lector de noticias en la página del manual:

root #man news.eselect

Elegir el perfil adecuado

Un perfil (profile) es uno de los bloques de construcción en cualquier sistema Gentoo. No solamente especifica unos valores predeterminados para USE, CFLAGS , y otras variables importantes, también bloquea sistema para ciertos rangos de versiones de algunos paquetes. Estas configuraciones son todas mantenidas por los desarrolladores de Portage de Gentoo.

Se puede ver el perfil que el sistema está utilizado actualmente con eselect, en este caso usando el módulo profile:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
Nota
La salida de la orden anterior es solo un ejemplo y cambiará a lo largo del tiempo.

Como se puede ver, también existen sub-perfiles desktop (escritorio) disponibles para algunas arquitecturas.

Después de revisar los perfiles disponibles para la arquitectura Handbook:Variable, los usuarios pueden elegir usar un perfil diferente para el sistema:

root #eselect profile set 2


No multilibrería

Para seleccionar un entorno puro de 64 bits sin aplicaciones ni bibliotecas de 32 bits, utilice un perfil no multilibrería:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib

A continuación seleccione el perfil no-multilib:

root #eselect profile set 5
root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib *

systemd

Aquéllos usuarios que deseen utilizar systemd como su sistema de inicio, debería seleccionar un perfil con systemd en algún lugar del nombre del mismo:

root #eselect profile set default/linux/amd64/13.0/systemd
root #eselect profile list
Available profile symlink targets:
  [10]  default/linux/amd64/13.0/developer
  [11]  default/linux/amd64/13.0/no-multilib
  [12]  default/linux/amd64/13.0/systemd *
  [13]  default/linux/amd64/13.0/x32
  [14]  hardened/linux/amd64
Tip
Como se muestra arriba, se pueden utilizar nombres completos de perfil en lugar del valor numérico asignado a cada perfil.


Nota
El subperfil developer es específico para desarrolladores de Gentoo Linux y no está dirigido a usuarios comunes.

Actualizar el conjunto @world

En este punto, si se ha escogido un nuevo perfil de sistema, es aconsejable actualizar el conjunto @world del sistema para establecer una base para el nuevo perfil.

El siguiente paso es necesario para quienes hayan seleccionado un perfil con systemd en el título (ya que todos los empaquetados de stages oficiales de Gentoo usan OpenRC como sistema de inicio por defecto), sin embargo es opcional para otros perfiles:

root #emerge --ask --update --deep --newuse @world
Tip
Si se ha seleccionado un perfil de entorno de escritorio máximo, este paso puede aumentar en gran medida la cantidad de tiempo necesario para el proceso de instalación. Los impacientes deben aplicar esta 'regla de oro': cuanto mas corto el nombre del perfil menos específico es el conjunto @world del sistema; cuanto menos específico sea el conjunto @world, menos paquetes necesita el sistema. En otras palabras:
  • Seleccionar default/linux/amd64/13.0 requerirá muy pocos paquetes a actualizar, mientras
  • Seleccionar default/linux/amd64/13.0/desktop/gnome/systemd requerirá muchos paquetes a instalar ya que el sistema de inicio cambia de OpenRC a systemd, y se instalará el entorno de escritorio GNOME.

Configurar la variable USE

La variable USE es una de las más importantes que Gentoo proporciona a sus usuarios. Muchos programas se pueden compilar con o sin soporte opcional para ciertas cosas. Por ejemplo, algunos programas se pueden compilar con soporte para GTK+, o con soporte para QT. Otros programas se pueden compilar con o sin soporte SSL. Algunos programas incluso se pueden compilar con soporte framebuffer (svgalib) en lugar de soporte X11 (servidor X).

Muchas distribuciones compilan sus paquetes con el mayor soporte posible, aumentando el tamaño de los programas y su tiempo de carga, sin mencionar una cantidad enorme de dependencias. Con Gentoo se puede definir con que opciones debe ser compilado un paquete. Ahí es donde actúa USE.

En la variable USE se definen palabras clave que son transformadas en opciones de compilación. Por ejemplo ssl compilará los programas que lo requieran con soporte SSL.-X quitara el soporte para el servidor X (nótese el signo menos delante). gnome gtk -kde -qt4 -qt5 compilará los programas con soporte para GNOME (y GTK), pero sin soporte para KDE (y Qt), haciendo su sistema completamente adaptado para GNOME (siempre que se use una arquitectura que lo soporte).

Los valores por defecto de la variable USE se encuentran en los archivos make.defaults del perfil Gentoo que use su sistema. Gentoo usa un (complejo) sistema de herencia en sus perfiles, que no podemos profundicar en esta etapa. La manera mas fácil de conocer la configuración actual de USE es ejecutar emerge --info y fijarse en la línea que comienza con USE:

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Nota
El ejemplo anterior está truncado la lista actual de valores para USE es mucho mucho mas larga.

Puede encontrar una descripción completa sobre la variable USE en el propio sistema, en /usr/portage/profiles/use.desc.

root #less /usr/portage/profiles/use.desc

Dentro de la orden less puede desplazarse arriba y abajo utilizando las teclas y y salir pulsando q.

Como ejemplo, se muestran algunas opciones USE para un sistema basado en KDE con DVD, ALSA y soporte para grabar CDs:

root #nano -w /etc/portage/make.conf
ARCHIVO /etc/portage/make.confConfiigurar USE para KDE con DVD, ALSA y soporte para grabar CDs
USE="-gtk -gnome qt4 qt5 kde dvd alsa cdr"

Cuando se define USE en /etc/portage/make.conf sus valores son añadidos (o quitados si el valor comienza con el carácter -) de la lista de valores por defecto. Los usuarios que no quieran tener ningún valor por defecto para USE y gestionarlos completamente por ellos mismos deben comenzar la definición de USE en make.conf con -*:

ARCHIVO /etc/portage/make.confIgnorar valores por defecto para USE
USE="-* X acl alsa"
Advertencia
Aunque sea posible hacerlo, el asignar -* (como en el ejemplo anterior) está desaconsejado ya que algunos ebuilds pueden tener configurados ajustes USE por defecto cuidadosamente elegidos, para prevenir conflictos y otros errores.


Zona horaria

Seleccione la zona horaria para su sistema. Busque las zonas horarias disponibles en /usr/share/zoneinfo/, a continuación, anótela en el archivo /etc/timezone.

root #ls /usr/share/zoneinfo

Suponga que quiere utilizar Europe/Brussels:

root #echo "Europe/Brussels" > /etc/timezone

Por favor, evite las zonas horarias listadas en /usr/share/zoneinfo/Etc/GMT* ya que sus nombres no indican las zonas esperadas. Por ejemplo, GMT-8 es en realidad GMT+8.

A continuación, reconfigure el paquete sys-libs/timezone-data, que actualizará por nosotros el archivo /etc/localtime basándose en la entrada /etc/timezone. La biblioteca C del sistema utiliza el fichero /etc/localtime para conocer la zona horaria en la que se encuentra el sistema.

root #emerge --config sys-libs/timezone-data

Configurar localizaciones

La mayoría de usuarios necesitarán usar únicamente una o dos localizaciones (locales) en su sistema.

Las localizaciones no sólo especifican el idioma que el usuario debe usar para interactuar con el usuario (N. del T. en original: sistema), sino también las reglas para ordenar cadenas, presentar fechas y horas, etc.

Las localizaciones para las que un sistema debe tener soporte deben mencionarse en /etc/locale.gen.

root #nano -w /etc/locale.gen

Las siguientes localizaciones son un ejemplo de como disponer tanto de Inglés (Estados Unidos) como de Español (España) junto con los formatos de caracteres (como UTF-8).

ARCHIVO /etc/locale.genHabilitar las localizaciones US y ES con los formatos de carácter apropiados
en_US ISO-8859-1
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES.UTF-8 UTF-8
Advertencia
Se recomienda firmemente usar al menos una localización UTF-8 ya que algunas aplicaciones pueden necesitarla.

El siguiente paso es lanzar locale-gen. Se generarán las localizaciones que ha especificado en el archivo /etc/locale.gen.

root #locale-gen

Para verificar que las localizaciones seleccionadas están ahora disponibles, ejecute locale -a.

Una vez hecho esto, es hora de definir los ajustes de localización para todo el sistema. De nuevo usaremos eselect para ello, ahora con el módulo locale.

Con eselect locale list se muestran las opciones disponibles:

root #eselect locale list
Available targets for the LANG variable:
  [1] C
  [2] POSIX
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] es_ES
  [7] es_ES.iso88591
  [8] es_ES.iso885915
  [9] es_ES.utf8
  [ ] (free form)

Con eselect locale set VALOR puede definir la localización deseada:

root #eselect locale set 9

Se puede realizar también manualmente usando el archivo /etc/env.d/02locale:

ARCHIVO /etc/env.d/02localeDefinición de la localización del sistema manualmente
LANG="es_ES.UTF-8"
LC_COLLATE="C"

Asegúrese de que ha definido una localización ya que de lo contrario podría obtener mensajes de advertencia o error al construir el núcleo u otras aplicaciones más adelante durante la instalación.

Ahora recargue sus variables de entorno:

root #env-update && source /etc/profile && export PS1="(chroot) $PS1"

Disponemos de una completa Guía de localización para ayudar al usuario en este proceso. Otro artículo interesante es la guía UTF-8 para obtener información específica de cómo habilitar UTF-8 en un sistema.