Manual de Gentoo Linux amd64: Instalar Gentoo
Los lectores no deben intentar seguir las instrucciones directamente desde el espacio de nombres Handbook:Parts (¡que es ESTA página!). Las secciones que se muestran a continuación se utilizan como una estructura para transclusión de información en los manuales específicos de las diferentes arquitecturas de procesador y, por lo tanto, carecen de información crítica.
Por favor visite la lista de Manuales para leer instrucciones relevantes para cada arquitectura de procesador.
Introducción
Bienvenido
¡Bienvenidos a Gentoo! Gentoo es un sistema operativo gratuito basado en Linux que se puede optimizar y personalizar automáticamente para casi cualquier aplicación o necesidad. Está construido sobre un ecosistema de software libre y no oculta a sus usuarios lo que hay bajo el capó.
Franqueza
Las principales herramientas de Gentoo están construidas a partir de lenguajes de programación simples. Portage, el sistema de mantenimiento de paquetes de Gentoo, está escrito en Python. Ebuilds, que proporcionan definiciones de paquetes para Portage están escritos en bash. Se anima a nuestros usuarios a revisar, modificar y mejorar el código fuente de todas las partes de Gentoo.
De forma predeterminada, los paquetes sólo se parchean cuando es necesario para corregir errores o proporcionar interoperabilidad dentro de Gentoo. Se instalan en el sistema compilando el código fuente proporcionado por proyectos externos en formato binario (aunque también se incluye soporte para paquetes binarios precompilados). La configuración de Gentoo se realiza a través de archivos de texto.
Por las razones anteriores y otras: la "franqueza" está incorporada como un "principio de diseño".
Elección
La "elección" es otro "principio de diseño" de Gentoo.
Al instalar Gentoo, la elección se ve claramente a lo largo del Manual. Los administradores del sistema pueden elegir entre dos sistemas de inicio totalmente compatibles (el propio OpenRC de Gentoo y el systemd de Freedesktop.org), la estructura de partición para los discos de almacenamiento, qué sistemas de archivos usar en el disco( s), un perfil del sistema de referencia, elimine o agregue funciones a nivel global (en todo el sistema) o específico de cada paquete a través de indicadores USE, cargador de arranque, utilidad de administración de red y mucho, mucho más.
Como filosofía de desarrollo, Los autores de Gentoo intentan evitar forzar a los usuarios a utilizar un perfil de sistema o entorno de escritorio específico. Si se ofrece algo en el ecosistema GNU/Linux, es probable que esté disponible en Gentoo. Si no, nos encantaría que lo estuviera. Para solicitudes de nuevos paquetes, presente una petición o cree su propio repositorio de ebuilds.
Potencia
Ser un sistema operativo basado en código fuente permite que Gentoo pueda ser portado a nuevos conjuntos de instrucciones de arquitectura de procesador y también permite que todos los paquetes instalados sean ajustados. Esta fortaleza hace emerger otro “principio de diseño” de Gentoo: la “potencia”.
Un administrador de sistemas que haya instalado y personalizado Gentoo con éxito habrá compilado un sistema operativo personalizado a partir del código fuente. Todo el sistema operativo se puede ajustar a nivel binario a través de los mecanismos incluidos en el archivo make.conf de Portage. Si así lo desea, se pueden realizar ajustes por paquete o por grupos de paquetes. De hecho, se pueden agregar o eliminar conjuntos completos de funciones utilizando indicadores USE.
Es muy importante que el lector del Manual comprenda que estos principios de diseño son los que hacen que Gentoo sea único. Con los principios de gran potencia, muchas opciones y franqueza extrema resaltados, se debe emplear rigor, reflexión e intencionalidad al usar Gentoo.
Cómo se estructura la instalación
La instalación de Gentoo puede verse como un procedimiento de diez pasos. Después de cada paso se alcanza cierto estado:
Paso | Resultado |
---|---|
1 | El usuario dispone de un entorno de trabajo listo para instalar Gentoo. |
2 | La conexión a Internet estará preparada para instalar Gentoo. |
3 | Los discos duros están inicializados para alojar la instalación Gentoo. |
4 | El entorno de instalación está preparado y el usuario puede entrar en una jaula chroot. |
5 | Los paquetes principales, que son los mismos en toda instalación Gentoo, están instalados. |
6 | El núcleo Linux está instalado. |
7 | Se crean la mayoría de los archivos de configuración del sistema. |
8 | Las herramientas del sistema necesarias están instaladas. |
9 | Se ha instalado y configurado el cargador de arranque apropiado. |
10 | El entorno Gentoo Linux recién instalado está preparado para ser explorado. |
Siempre que se presenta cierta elección, se tratará de explicar en el manual los pros y los contras de cada opción. Aunque el texto continuará con una opción por defecto (Identificada con "Por defecto:" en el título). No crea que esta opción por defecto es la recomendada por Gentoo. Es, sin embargo y así lo creemos en Gentoo por la que la mayoría de los usuarios optará.
Algunas veces se puede seguir un paso opcional. Estos pasos están marcados como "Opcional: " y por tanto no son necesarios para instalar Gentoo. Sin embargo, algunos pasos opcionales dependen de una decisión tomada previamente. Le informaremos cuando se dé el caso, tanto cuando tome la decisión, como cuando se describa el paso opcional.
Opciones de instalación para Gentoo
Gentoo se puede instalar de formas muy diversas. Se puede descargar e instalar desde un medio de instalación oficial de Gentoo como nuestras imágenes ISO arrancables. Los medios se pueden instalar desde un dispositivo de almacenamiento USB o se pude acceder a ellos a través de un entorno arrancado desde red. Alternativamente, se puede instalar Gentoo desde medios no oficiales como una distribución ya instalada o un disco que no contenga Gentoo (por ejemplo Knoppix).
Este documento cubre la instalación utilizando un medio de instalación oficial de Gentoo o, en algunos casos, instalación por red.
Para encontrar ayuda acerca de otros procedimientos de instalación, incluyendo el uso de medios arrancables ajenos a Gentoo, por favor, lea nuestra guía sobre métodos alternativos de instalación.
También ofrecemos un documento de consejos y trucos para instalar Gentoo que también puede ser de utilidad.
Problemas
Si encuentra algún problema durante la instalación (o con el documento de instalación), por favor, visite nuestro sistema de seguimiento de incidencias y compruebe si el problema es ya conocido. Si no lo es, por favor, cree un informe sobre él para que podamos echarle un vistazo. No tema a los desarrolladores a los que se les han asignado los informes de error, (normalmente) no se comen a nadie.
Aunque este documento es específico de la arquitectura puede contener referencias a otras arquitecturas ya que muchas partes del manual de Gentooo utilizan texto que es idéntico para todas las arquitecturas (con el fin de evitar la duplicación de esfuerzos). Estas referencias se conservan mínimamente para evitar confusiones.
Si hay alguna duda sobre si el problema es o no un problema del usuario (algún error cometido a pesar de haber leído la documentación cuidadosamente) o un problema de software (algún error que cometimos a pesar de haber probado la instalación/documentación cuidadosamente), todo el mundo es bienvenido a unirse al canal #gentoo (webchat) en irc.libera.chat. Por supuesto, cualquier otro es bienvenido también, ya que nuestro canal de chat cubre el amplio espectro de Gentoo.
Hablando de esto, si tiene cualquier pregunta adicional concerniente a Gentoo, eche un vistazo al artículo FAQ. También están disponibles las FAQs en los Foros de Gentoo.
Requisitos del hardware
Antes de continuar con el proceso de instalación, se deben cumplir los requisitos mínimos de hardware para instalar Gentoo exitosamente para la arquitectura del sistema amd64.
Minimal CD | LiveDVD | |
---|---|---|
CPU | ||
Memory | ||
Disk space | ||
Swap space |
Medios de instalación de Gentoo Linux
Aunque se recomienda utilizar el medio de arranque oficial de Gentoo durante la instalación, es posible utilizar otros entornos de instalación. Sin embargo, no hay garantía de que contengan los componentes necesarios. Si se utiliza un entorno de instalación alternativo, vaya a Preparando de los discos.
El CD mínimalista de instalación
El CD de instalación mínima de Gentoo es una pequeña imagen de arranque: un entorno Gentoo autónomo. Esta imagen es mantenida por Desarrolladores Gentoo y está diseñada para permitir que cualquier usuario con conexión a Internet instale Gentoo. Durante el proceso de arranque, se detecta el hardware y se cargan automáticamente los controladores adecuados.
Las versiones de CD de instalación mínima se denominan con el formato: install-<arch>-minimal-<marca de tiempo de lanzamiento>.iso.
El LiveGUI de Gentoo
A algunos usuarios puede resultarles más fácil instalar Gentoo utilizando el LiveGUI, que ofrece un entorno de escritorio KDE. Además de proporcionar un entorno gráfico útil, el LiveGUI tiene más módulos del kernel y firmware, que pueden resultar útiles si se usan chipsets Wi-Fi modernos.
La imagen del LiveGUI USB de Gentoo se crea semanalmente para las plataformas amd64 y arm64.
Entonces, ¿Qué son los stages?
Un archivo de stage es un archivo que sirve como semilla para un entorno Gentoo.
Los archivos de stage 3 se pueden descargar desde releases/amd64/autobuilds/ en cualquiera de los mirrors oficiales de Gentoo. Las stages se actualizan con frecuencia y, por lo tanto, no se incluyen en las imágenes live oficiales.
Por ahora, los archivos stage se pueden ignorar. Se describirán con mayor detalle más adelante cuando sean necesarios
Históricamente, el manual describía los pasos de instalación para archivos stage con versiones inferiores a 3. Estas stages contenían entornos inadecuados para instalaciones típicas y ya no están cubiertos en el manual.
Descargar
Obtener los medios
El medio de instalación predeterminado utilizado por Gentoo Linux son los CD de instalación mínima, que proporcionan un entorno Gentoo Linux muy pequeño y de arranque. Este entorno contiene las herramientas necesarias para instalar Gentoo. Las imágenes en sí se pueden descargar desde la página de descargas (recomendado) o navegando manualmente a la ubicación ISO en una de las muchas mirrors disponibles.
Si descarga desde un mirroe, los CD de instalación mínima se pueden encontrar en:
- Conéctese al mirror, normalmente usando uno local que se encuentre en mirrors de fuentes de Gentoo.
- Navegue hasta el directorio releases/.
- Seleccione el directorio para la arquitectura adecuada (por ejemplo amd64/).
- Seleccione el directorio autobuilds/.
- Para las arquitecturas amd64 and x86 seleccione, bien el directorio current-install-amd64-minimal/, bien el directorio current-install-x86-minimal/ (respectivamente). Para las demás arquitecturas, navegar al directorio current-iso/.
Algunas arquitecturas como arm, mips y s390 no tendrán CDs mínimos de instalación. Por el momento El proyecto de ingeniería de liberaciones de Gentoo no ofrece el soporte para la construcción de ficheros .iso para estas arquitecturas.
Dentro de esta localización el fichero del medio de instalación es el que tiene el sufijo .iso. Por ejemplo, eche un vistazo a la siguiente lista:
[TXT] install-amd64-minimal-20231112T170154Z.iso.asc 2023-11-12 20:41 488
[TXT] install-amd64-minimal-20231119T164701Z.iso.asc 2023-11-19 18:41 488
[TXT] install-amd64-minimal-20231126T163200Z.iso.asc 2023-11-26 18:41 488
[TXT] install-amd64-minimal-20231203T170204Z.iso.asc 2023-12-03 18:41 488
[TXT] install-amd64-minimal-20231210T170356Z.iso.asc 2023-12-10 19:01 488
[TXT] install-amd64-minimal-20231217T170203Z.iso.asc 2023-12-17 20:01 488
[TXT] install-amd64-minimal-20231224T164659Z.iso.asc 2023-12-24 20:41 488
[TXT] install-amd64-minimal-20231231T163203Z.iso.asc 2023-12-31 19:01 488
[ ] install-amd64-minimal-20240107T170309Z.iso 2024-01-07 20:42 466M
[ ] install-amd64-minimal-20240107T170309Z.iso.CONTENTS.gz 2024-01-07 20:42 9.8K
[ ] install-amd64-minimal-20240107T170309Z.iso.DIGESTS 2024-01-07 21:01 1.3K
[TXT] install-amd64-minimal-20240107T170309Z.iso.asc 2024-01-07 21:01 488
[ ] install-amd64-minimal-20240107T170309Z.iso.sha256 2024-01-07 21:01 660
[TXT] latest-install-amd64-minimal.txt 2024-01-08 02:01 653
En el ejemplo anterior, el archivo install-amd64-minimal-20240107T170309Z.iso es el CD de instalación mínima. Pero como puede verse, también existen otros archivos relacionados:
- Un archivo .CONTENTS.gz que es un archivo de texto comprimido con gz que enumera todos los archivos disponibles en el medio de instalación. Este archivo puede ser útil para verificar si un firmware o controladores específicos están disponibles en el medio de instalación antes de descargarlo.
- Un archivo .DIGESTS que contiene el hash del propio archivo ISO, en varios formatos/algoritmos de hash. Este archivo se puede utilizar para verificar la integridad del archivo ISO.
- Un archivo .asc que es una firma criptográfica del archivo ISO. Esto se puede utilizar para verificar la integridad y autenticidad de la imagen: que la descarga haya sido proporcionada por el equipo de ingeniería de lanzamientos de Gentoo, libre de manipulaciones.
Ignore por ahora los otros ficheros que aparecen en esta localización, éstos se usarán más adelante en la instalación. Descargue el fichero .iso y, si desea verificar la descarga, descargue también el fichero .iso.asc para el fichero .iso.
El archivo .DIGESTS solo es necesario si la firma en el archivo .iso.asc no está verificada.
Verificar los ficheros descargados
Este paso es opcional y no es necesario para instalar Gentoo Linux. Sin embargo, se recomienda realizarlo y con él se asegura que el fichero que se ha descargado no está corrupto y que de hecho lo ha generado el equipo de Infraestructura de Gentoo.
El archivo .asc proporciona una firma criptográfica del ISO. Al validarlo, uno puede asegurarse de que el archivo de instalación lo proporciona el equipo de ingeniería de lanzamientos de Gentoo y está intacto y sin modificaciones.
Verificación basada en Microsoft Windows
En primer lugar, para verificar la firma criptográfica, se pueden utilizar herramientas como GPG4Win. Después de la instalación se necesita importar las claves públicas del equipo de Ingeniería de Lanzamientos de Gentoo. La lista de claves está disponible en la página de firmas. Una vez importadas, el usuario puede verificar la firma en el fichero .asc.
Verificación en sistemas basados en Linux
En un sistema Linux, el método más común para verificar la firma criptográfica es el uso del software app-crypt/gnupg. Con este paquete instalado, se pueden utilizar la siguiente órden para verificar la firma criptográfica en el fichero .asc.
Al importar claves de Gentoo, verifique que la huella digital (
BB572E0E2D182910
) coincida.Las claves de Gentoo se pueden descargar desde hkps://keys.gentoo.org usando las huellas digitales disponibles en la página de firmas:
user $
gpg --keyserver hkps://keys.gentoo.org --recv-keys 13EBBDBEDE7A12775DFDB1BABB572E0E2D182910
Alternativamente, puede utilizar en su lugar el WKD para descargar la clave:
user $
gpg --auto-key-locate=clear,nodefault,wkd --locate-key releng@gentoo.org
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported gpg: Total number processed: 2 gpg: imported: 2 gpg: no ultimately trusted keys found pub dsa1024 2004-07-20 [SC] [expires: 2025-07-01] D99EAC7379A850BCE47DA5F29E6438C817072058 uid [ unknown] Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org> sub elg2048 2004-07-20 [E] [expires: 2025-07-01]
O si utiliza medios de lanzamiento oficiales de Gentoo, importe la clave desde /usr/share/openpgp-keys/gentoo-release.asc (proporcionada por sec-keys/openpgp-keys-gentoo-release):
user $
gpg --import /usr/share/openpgp-keys/gentoo-release.asc
gpg: directory '/home/larry/.gnupg' created gpg: keybox '/home/larry/.gnupg/pubring.kbx' created gpg: key DB6B8C1F96D8BF6D: 2 signatures not checked due to missing keys gpg: /home/larry/.gnupg/trustdb.gpg: trustdb created gpg: key DB6B8C1F96D8BF6D: public key "Gentoo ebuild repository signing key (Automated Signing Key) <infrastructure@gentoo.org>" imported gpg: key 9E6438C817072058: 3 signatures not checked due to missing keys gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported gpg: key BB572E0E2D182910: 1 signature not checked due to a missing key gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported gpg: key A13D0EF1914E7A72: 1 signature not checked due to a missing key gpg: key A13D0EF1914E7A72: public key "Gentoo repository mirrors (automated git signing key) <repomirrorci@gentoo.org>" imported gpg: Total number processed: 4 gpg: imported: 4 gpg: no ultimately trusted keys found
A continuación, verifique la firma criptográfica:
user $
gpg --verify install-amd64-minimal-20240107T170309Z.iso.asc
gpg: assuming signed data in 'install-amd64-minimal-20240107T170309Z.iso' gpg: Signature made Sun 07 Jan 2024 03:01:10 PM CST gpg: using RSA key 534E4209AB49EEE1C19D96162C44695DB9F6043D gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910 Subkey fingerprint: 534E 4209 AB49 EEE1 C19D 9616 2C44 695D B9F6 043D
Para estar completamente seguro de que todo está en su sitio, verifique que la huella digital coincide con la huella digital que se muestra en la página de firmas.
En general, es una buena práctica marcar una clave importada como confiable, una vez que esté seguro de que es confiable. Cuando se verifican las claves confiables, gpg no dirá "desconocido" ni advertirá sobre que la firma no es confiable.
Grabar el medio de arranque
Por supuesto, sólo con descargar un archivo ISO, no se puede iniciar la instalación de Gentoo Linux. El archivo ISO debe escribirse en un dispositivo de arranque. Esto generalmente requiere que la imagen se extraiga a un sistema de archivos o se escriba directamente en un dispositivo.
Escribir un USB de arranque
La mayoría de los sistemas modernos admiten el arranque desde un dispositivo USB.
Escribiendo con Linux
dd normalmente está disponible en la mayoría de las distribuciones de Linux y se puede usar para escribir el medio de arranque de Gentoo en una unidad USB.
Determinar la ruta del dispositivo USB
Antes de escribir, se debe determinar la ruta al dispositivo de almacenamiento deseado.
dmesg mostrará información detallada que describe el dispositivo de almacenamiento a medida que se agrega al sistema:
root #
dmesg
[268385.319745] sd 19:0:0:0: [sdd] 60628992 512-byte logical blocks: (31.0 GB/28.9 GiB)
Alternativamente, se puede usar lsblk para mostrar los dispositivos de almacenamiento disponibles:
root #
lsblk
sdd 8:48 1 28.9G 0 disk ├─sdd1 8:49 1 246K 0 part ├─sdd2 8:50 1 2.8M 0 part ├─sdd3 8:51 1 463.5M 0 part └─sdd4 8:52 1 300K 0 part
Una vez que se ha determinado el nombre del dispositivo, se puede agregar al prefijo de ruta /dev/ para obtener la ruta del dispositivo /dev/sdd.
Se recomienda usar la ruta del dispositivo base, es decir sdd frente a sdd1, ya que el medio de arranque de Gentoo contiene un esquema de partición GPT completo.
Escribir con dd
Asegúrese de verificar la ruta de destino (of=target) antes de ejecutar dd, ya que se sobrescribirá.
Con la ruta del dispositivo (/dev/sdd) y el medio de arranque install-amd64-minimal-<marca de tiempo de lanzamiento>.iso listos:
root #
dd if=install-amd64-minimal-<marca de tiempo de lanzamiento>.iso of=/dev/sdd bs=4096 status=progress && sync
if= especifica el archivo de entrada, of= especifica el archivo de salida, que en este caso , es un dispositivo.
bs=4096 se utiliza ya que acelera las transferencias en la mayoría de los casos, status=progress muestra estadísticas de transferencia.
Grabar un disco
Puede encontrar un conjunto de instrucciones más elaborado en CD/DVD/BD_writing#Image_writing.
Grabación con Microsoft Windows 7 y superior
Las versiones de Microsoft Windows 7 y superiores pueden montar y grabar imágenes ISO en medios ópticos sin el requisito de software de terceros. Simplemente inserte un disco grabable, busque los archivos ISO descargados, haga clic con el botón derecho en el archivo en el Explorador de Windows y seleccione "Grabar imagen de disco".
Grabar con Linux
La utilidad cdrecord del paquete app-cdr/cdrtools puede grabar imágenes ISO en Linux.
Para grabar el archivo ISO en el CD usando el dispositivo /dev/sr0 (este es el primer dispositivo de CD en el sistema, sustituir con el dispositivo apropiado si es necesario):
user $
cdrecord dev=/dev/sr0 install-amd64-minimal-20141204.iso
Los usuarios que prefieran una interfaz gráfica de usuario puede utilizar K3B, parte del kde-apps/k3b. En K3B, vaya a Herramientas y utilice Grabar Imagen de CD.
Arrancar
This is a placeholder for architecture-specific booting information
Configuración adicional del hardware
Cuando el medio de instalación arranca, trata de detectar todos los dispositivos hardware y carga los módulos del núcleo adecuados para dar soporte a ese hardware. En la gran mayoría de los casos, hace muy buen trabajo. Sin embargo, en algunos casos puede que no cargue automáticamente los módulos del núcleo necesitados por el sistema. Si la detección automática de PCI perdió algunos de los dispositivos hardware del sistema, se tendrán que cargar manualmente los módulos del núcleo adecuados.
En el siguiente ejemplo se carga el módulo 8139too (que soporta ciertos tipos de interfaces de red):
root #
modprobe 8139too
Opcional: Cuentas de Usuario
Si otras personas necesitan tener acceso al entorno de la instalación, o se necesita lanzar órdenes como un usuario que no sea root en el medio de instalación (por ejemplo para chatear usando con irssi sin privilegios de root por razones de seguridad), entonces se necesita crear una cuenta de usuario y definir la contraseña de root para que sea robusta.
Para cambiar la contraseña de root, utilice la utilidad passwd:
root #
passwd
Nueva contraseña: (Introduzca la nueva contraseña) Vuelva a escribir la nueva contraseña: (Introduzca la contraseña)
Para crear una cuenta de usuario, en primer lugar introduzca las credenciales de la nueva cuenta seguidas de la contraseña. Las órdenes useradd y passwd se utilizan para esta tarea.
En el siguiente ejemplo, se crea un usuario llamado juan:
root #
useradd -m -G users juan
root #
passwd juan
Nueva contraseña: (Introduzca la contraseña de juan) Vuelva a escribir la nueva contraseña: (Introduzca de nuevo la contraseña de juan)
Para cambiar del (actual) usuario root a la cuenta del usuario recién creado, utilice la orden su:
root #
su - juan
Opcional: Ver la documentación mientras se realiza la instalación
TTYs
Para ver el manual de Gentoo desde un TTY durante la instalación, primero cree una cuenta de usuario como se describe arriba, luego presione Alt+F2 para ir a una nueva terminal (TTY) e inicie sesión como el usuario recién creado. Siguiendo el principio de privilegio mínimo, es una buena práctica evitar navegar por la web o, en general, realizar cualquier tarea con privilegios superiores a los necesarios. La cuenta root tiene control total del sistema y, por lo tanto, debe usarse con moderación.
Durante la instalación, se puede usar en navegador web links para navegar por el manual de Gentoo. Por supuesto, solo desde el momento en que se dispone de conexión a Internet.
user $
links https://wiki.gentoo.org/wiki/Handbook:Parts/es
Para volver al terminal original, pulse Alt + F1.
Cuando se inicia en los entornos mínimos de Gentoo o de administración de Gentoo, estarán disponibles siete TTY. Se pueden cambiar presionando Alt y luego una tecla de función entre F1-F7. Puede resultar útil cambiar a una nueva terminal mientras se espera que se complete el trabajo, para abrir documentación, etc.
GNU Screen
La utilidad Screen se incluye por defecto en los medios de instalación oficiales de Gentoo. Puede ser más eficiente para los entusiastas más experimentados utilizar screen para ver las instrucciones de instalación utilizando varios paneles en lugar del método de tener múltiples TTYs mencionado arriba.
Opcional: Iniciar el demonio SSH
Para permitir que otros usuarios tengan acceso al sistema durante la instalación (tal vez para ofrecer/recibir ayuda durante la misma o incluso hacerlo de forma remota), se necesita crear una cuenta de usuario (como se documentó anteriormente) y se debe inicar el demonio SSH.
Para iniciar el demonio SSH en un inicio de OpenRC, lance la siguiente orden:
root #
rc-service sshd start
Si los usuarios inician sesión en el sistema, verán un mensaje de que la clave de host para este sistema debe ser confirmada (a través de lo que se denomina huella digital). Este comportamiento es típico y se puede esperar para las conexiones iniciales a un servidor SSH. Sin embargo, más adelante, cuando se configura el sistema y alguien inicia sesión en el sistema recién creado, el cliente SSH le advertirá que la clave de host ha sido cambiada. Esto se debe a que el usuario que ahora inicia sesión - para SSH - en un servidor diferente (es decir, el sistema Gentoo recién instalado en lugar del entorno vivo de la instalación está usando actualmente). Siga las instrucciones que aparecen en la pantalla y luego reemplace la clave de host en el sistema cliente.
Para poder utilizar sshd, la red debe funcionar correctamente. Continúe con el capítulo sobre Configuración de la red
Configuración automática de la red
¿Es posible que simplemente funcione?
Si el sistema está conectado a una red Ethernet con un enrutador IPv6 o un servidor DHCP, es muy probable que la red del sistema se haya configurado automáticamente. Si no se requiere una configuración avanzada adicional, se puede probar la conectividad a Internet.
Usar DHCP
DHCP (Protocolo de configuración dinámica de host) ayuda en la configuración de la red y puede proporcionar automáticamente la configuración para una variedad de parámetros que incluyen: dirección IP, máscara de red, rutas, servidores DNS, servidores NTP, etc.
DHCP requiere que un servidor se ejecute en el mismo segmento de "Capa 2" ("Ethernet") que el cliente que solicita una "concesión". DHCP se utiliza a menudo en redes RFC1918 ("privadas"), pero también se utiliza para adquirir información de IP pública de los ISP.
El medio de arranque oficial de Gentoo ejecuta dhcpcd automáticamente al inicio. Este comportamiento se puede desactivar agregando el argumento
nodhcp
al medio de arranque en la linea de comando del núcleo.Si aún no se está ejecutando, dhcpcd se puede iniciar en enp1s0 con:
root #
dhcpcd enp1s0
Algunos administradores de red requieren que el sistema utilice el nombre de host y el nombre de dominio proporcionados por el servidor DHCP. En ese caso, utilice:
root #
dhcpcd -HD enp1s0
Para detener dhcpcd, se puede utilizar -x:
root #
dhcpcd -x
sending signal Term to pid 10831 waiting for pid 10831 to exit
Uso de Dhcpcd
Probar la red
Una ruta "predeterminada" correctamente configurada es un componente crítico de la conectividad a Internet; la configuración de la ruta se puede verificar con:
root #
ip route
default via 192.168.0.1 dev enp1s0
Si no hay definida ninguna ruta "predeterminada", la conectividad a Internet no está disponible y se requiere configuración adicional.
La conectividad básica a Internet se puede confirmar con un ping:
root #
ping -c 3 1.1.1.1
Es útil comenzar haciendo ping a una dirección IP conocida en lugar de a un nombre de host. Esto puede aislar los problemas de DNS de los problemas básicos de conectividad a Internet.
El acceso HTTPS saliente y la resolución DNS se pueden confirmar con:
root #
curl --location gentoo.org --output /dev/null
A menos que curl informe un error u otras pruebas fallen, el proceso de instalación puede continuar con preparación del disco.
Si curl informa un error, pero los pings vinculados a Internet funcionan, DNS puede necesitar configuración.
Si no se ha establecido la conectividad a Internet, primero se debe verificar la información de la interfaz, luego:
- se puede utilizar net-setup para ayudar en la configuración de la red.
- Es posible que se requiera configuración específica de la aplicación.
- Se puede intentar la configuración de red manual.
Obtener información de la interfaz
Si la conexión en red no funciona de inmediato, se deben tomar medidas adicionales para habilitar la conectividad a Internet. Generalmente, el primer paso es enumerar las interfaces de red del host.
El comando ip, que forma parte del paquete sys-apps/iproute2, se puede utilizar para consultar y configurar las redes del sistema.
El argumento link se puede utilizar para mostrar enlaces de interfaz de red:
root #
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
El argumento address se puede utilizar para consultar la información de la dirección del dispositivo:
root #
ip address
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000<pre> link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global enp1s0 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
El resultado de este comando contiene información para cada interfaz de red del sistema. Las entradas comienzan con el índice del dispositivo, seguido del nombre del dispositivo: enp1s0.
Si no se muestra ninguna interfaz aparte de lo (loopack), entonces el hardware de red está defectuoso o el controlador de la interfaz no se ha cargado en el kernel. Ambas situaciones van más allá del alcance de este Manual. Por favor solicite soporte en contacto #gentoo (webchat).
Para mantener la coherencia, el manual asumirá que la interfaz de red principal se llama enp1s0.
Como resultado del cambio hacia nombres de interfaz de red predecibles, el nombre de la interfaz en el sistema puede ser bastante diferente a la antigua convención de nomenclatura eth0. Los medios de arranque modernos de Gentoo utilizan nombres de interfaz con prefijos como eno0, ens1 o enp5s0.
Opcional: configuración específica de la aplicación
Los siguientes métodos generalmente no son necesarios, pero pueden resultar útiles en situaciones en las que se requiere configuración adicional para la conectividad a Internet.
Opcional: Configurar proxys web
Si se accede a internet a través de un proxy web, será necesario definir la información del proxy para que Portage acceda correctamente al proxy para cada protocolo admitido. Portage observa las variables de entorno http_proxy, ftp_proxy y RSYNC_PROXY para descargar paquetes a través de su wget y rsync mecanismos de recuperación.
Ciertos navegadores web en modo texto, como links, también pueden utilizar variables de entorno que definen la configuración del proxy web; en particular para el acceso HTTPS, también será necesario definir la variable de entorno https_proxy. Si bien Portage se verá afectado sin pasar parámetros adicionales en tiempo de ejecución durante la invocación, links requerirá que se establezcan configuraciones de proxy.
En la mayoría de los casos, es suficiente definir variables de entorno utilizando el nombre de host del servidor. En el siguiente ejemplo, se supone que el host del servidor proxy se llama proxy.gentoo.org y el puerto es 8080.
El símbolo
#
en los siguientes comandos es un comentario. Se ha agregado solo para mayor claridad y no es necesario escribirlo al ingresar los comandos.Para definir un proxy HTTP (para tráfico HTTP y HTTPS):
root #
export http_proxy="http://proxy.gentoo.org:8080" # Se aplica a Portage y a Links
root #
export https_proxy="http://proxy.gentoo.org:8080" # Sólo aplica para Links
Si el proxy HTTP requiere autenticación, establezca un nombre de usuario y contraseña con la siguiente sintaxis:
root #
export http_proxy="http://username:password@proxy.gentoo.org:8080" # Se aplica a Portage y a Links
root #
export https_proxy="http://username:password@proxy.gentoo.org:8080" # Sólo aplica para Links
Inicie links usando los siguientes parámetros para soporte de proxy:
user $
links -http-proxy ${http_proxy} -https-proxy ${https_proxy}
Para definir un proxy FTP para Portage y/o links:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080" # Se aplica a Portage y a Links
Inicie links usando el siguiente parámetro para un proxy FTP:
user $
links -ftp-proxy ${ftp_proxy}
Para definir un proxy RSYNC para Portage:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080" # Se aplica a Portage; Links no admite un proxy rsync
Usar pppoe-setup para ADSL
Si se requiere PPPoE para acceder a Internet, el medio de arranque de Gentoo incluye el script pppoe-setup para simplificar la configuración de ppp.
Durante la configuración, pppoe-setup solicitará:
- El nombre de la interfaz Ethernet conectada al módem ADSL.
- El nombre de usuario y contraseña de PPPoE.
- IP del servidor DNS.
- Si se necesita o no un firewall.
root #
pppoe-setup
root #
pppoe-start
En caso de error, se deben verificar las credenciales en /etc/ppp/pap-secrets o /etc/ppp/chap-secrets. Si las credenciales son correctas, se debe verificar la selección de la interfaz Ethernet para PPPoE.
Usar PPTP
Si se necesita compatibilidad con PPTP, se puede utilizar pptpclient, pero requiere configuración antes de su uso.
Edite /etc/ppp/pap-secrets o /etc/ppp/chap-secrets para que contenga la combinación correcta de nombre de usuario y contraseña:
root #
nano /etc/ppp/chap-secrets
Ajuste ahora /etc/ppp/options.pptp si es necesario:
root #
nano /etc/ppp/options.pptp
Una vez completada la configuración, ejecute pptp (junto con las opciones que no se pudieron configurar en options.pptp) para conectar el servidor:
root #
pptp <server ipv4 address>
Configuración de WEP
No utilice WEP a menos que sea la única opción. WEP prácticamente no proporciona seguridad en una red abierta.
El comando iw solo está disponible en las siguientes arquitecturas: amd64, x86, arm, arm64 , ppc, ppc64 y riscv.
Si está empleando una tarjeta inalámbrica (802.11), quizá necesite configurar sus opciones antes seguir. Para revisar la configuración inalámbrica actual de su tarjeta, puede utilizar iw. Al ejecutar iw se debería mostrar algo como esto:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
Para comprobar la conexión actual:
root #
iw dev wlp9s0 link
Not connected.
o
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
Algunas tarjetas inalámbricas pueden tener un nombre de dispositivo como wlan0 o ra0 en lugar de wlp9s0. Lanzar ip link para determinar el nombre correcto del dispositivo.
Para la mayoría de los usuarios, solo hay dos ajustes necesarios para conectarse, el ESSID (también conocido como nombre de red inalámbrica) y, opcionalmente, la clave WEP.
- En primer lugar, asegurarse de que la interfaz está activa:
root #
ip link set dev wlp9s0 up
- Para conectar a una red abierta llamada NodoGentoo:
root #
iw dev wlp9s0 connect -w NodoGentoo
- Para conectar con una clave WEP hexadecimal, anteponer la clave con
d:
:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- Para conectar con una clave WEP ASCII:
root #
iw dev wlp9s0 connect -w GentooNode key 0:alguna-contraseña
Si la red inalámbrica está configurada para usar claves WPA o WPA2, tendrá que usar wpa_supplicant. Para más información acerca de la configuración de redes inalámbricas en Gentoo Linux, por favor lea el capítulo de redes inalámbricas del Manual Gentoo.
Puede volver a comprobar la configuración inalámbrica utilizando iw dev wlp9s0 link. Una vez que tenga la conexión funcionando, puede continuar configurando las opciones de red de nivel IP como se describe en la siguiente sección (Comprender la terminología de red) o utilizar la herramienta net-setup como se describió anteriormente.
Usar net-setup
En los casos en los que la configuración automática de la red no tiene éxito, el medio de arranque de Gentoo proporciona scripts para ayudar en la configuración de la red. net-setup se puede utilizar para configurar información de red inalámbrica e IP,s estáticas.
root #
net-setup enp1s0
net-setup hará algunas preguntas sobre el entorno de red y utilizará esa información para configurar wpa_supplicant o direccionamiento estático.
El estado de la red debe ser probado después de realizar cualquier paso de configuración. En caso de que los scripts de configuración no funcionen, se requiere configuración de red manual.
Conceptos básicos de Internet e IP
Si todo lo anterior falla, la red debe configurarse manualmente. Esto no es particularmente difícil, pero debe hacerse con reflexión. Esta sección sirve para aclarar la terminología y presentar a los usuarios conceptos básicos de redes relacionados con la configuración manual de una conexión a Internet.
Algunos CPE (Equipo proporcionado por el operador) combinan las funciones de un enrutador, punto de acceso, módem, servidor DHCP y servidor DNS en una sola unidad. Es importante diferenciar las funciones de un dispositivo del aparato físico.
Interfaces y direcciones
Las interfaces de red son representaciones lógicas de dispositivos de red. Una interfaz necesita una dirección para comunicarse con otros dispositivos en la red. Si bien sólo se requiere una única dirección, se pueden asignar varias direcciones a una única interfaz. Esto es especialmente útil para configuraciones de doble pila (IPv4 + IPv6).
Para mantener la coherencia, este manual asumirá que la interfaz enp1s0 utilizará la dirección 192.168.0.2.
Las direcciones IP se pueden configurar arbitrariamente. En consecuencia, es posible que varios dispositivos utilicen la misma dirección IP, lo que genera un conflicto de direcciones. Los conflictos de direcciones se deben evitar utilizando DHCP o SLAAC.
IPv6 normalmente utiliza la configuración StateLess Address AutoConfiguration (SLAAC) para la configuración de direcciones. En la mayoría de los casos, configurar manualmente las direcciones IPv6 es una mala práctica. Si se prefiere un sufijo de dirección específico, se pueden usar tokens de identificación de interfaz.
Redes y CIDR
Una vez elegida una dirección, ¿cómo sabe un dispositivo cómo hablar con otros dispositivos?
Las direcciones IP están asociadas con redes. Las redes IP son rangos lógicos contiguos de direcciones.
La notación Enrutamiento entre dominios sin clases o CIDR se utiliza para distinguir los tamaños de red.
- El valor CIDR, a menudo anotado comenzando con /, representa el tamaño de la red.
- La fórmula 2 ^ (32 - CIDR) se puede utilizar para calcular el tamaño de la red.
- Una vez calculado el tamaño de la red, el número de nodos utilizables se debe reducir en 2.
- La primera IP de una red es la Dirección de red y la última suele ser la Dirección de difusión. Estas direcciones son especiales y no pueden ser utilizadas por hosts normales.
Los valores CIDR más comunes son /24 y /32, que representan 254 nodos y un solo nodo respectivamente.
Un CIDR de /24 es el tamaño de red predeterminado de-facto. Esto corresponde a una máscara de subred de 255.255.255.0, donde los últimos 8 bits están reservados para las direcciones IP de los nodos de una red.
La notación: 192.168.0.2/24 se puede interpretar como:
- La dirección 192.168.0.2
- En la red 192.168.0.0
- Con un tamaño de 254 (2 ^ (32 - 24) - 2)
- Las IP,s utilizables están en el rango 192.168.0.1 - 192.168.0.254
- Con una dirección de difusión de 192.168.0.255
- En la mayoría de los casos, la última dirección de una red se utiliza como "dirección de difusión", pero esto se puede cambiar.
Con esta configuración, un dispositivo debería poder comunicarse con cualquier host en la misma red (192.168.0.0).
Internet
Una vez que un dispositivo está en una red, ¿cómo sabe cómo hablar con dispositivos en Internet?
Para comunicarse con dispositivos fuera de las redes locales, se debe utilizar enrutamiento. Un enrutador es simplemente un dispositivo de red que reenvía tráfico a otros dispositivos. El término ruta predeterminada o puerta de enlace normalmente se refiere a cualquier dispositivo de la red actual que se utilice para el acceso a la red externa.
Es una práctica estándar hacer que la puerta de enlace sea la primera o la última IP de una red.
Si hay un enrutador conectado a Internet disponible en 192.168.0.1, se puede utilizar como ruta predeterminada, proporcionando acceso a Internet.
Para resumir:
- Las interfaces deben configurarse con una dirección y una información de red, como el valor CIDR.
- El acceso a la red local se utiliza para acceder a un enrutador en la misma red.
- Se configura la ruta predeterminada, por lo que el tráfico destinado a redes externas se reenvía a la puerta de enlace, proporcionando acceso a Internet.
El Sistema de Nombres de Dominio
Recordar IP,s es difícil. El Sistema de Nombres de Dominio fue creado para permitir el mapeo entre Nombres de Dominio y direcciones IP.
Los sistemas Linux utilizan /etc/resolv.conf para definir servidores de nombres que se utilizarán para la resolución DNS.
Muchos enrutadores también pueden funcionar como servidores DNS, y el uso de un servidor DNS local puede aumentar la privacidad y acelerar las consultas mediante el almacenamiento en caché.
Muchos ISP ejecutan un servidor DNS que generalmente se anuncia en la puerta de enlace a través de DHCP. El uso de un servidor DNS local tiende a mejorar la latencia de las consultas, pero la mayoría de los servidores DNS públicos arrojarán los mismos resultados, por lo que el uso del servidor se basa en gran medida en las preferencias.
Configuración de red manual
Configuración de dirección de interfaz
Al configurar manualmente las direcciones IP, se debe considerar la topología de la red local. Las direcciones IP se pueden configurar arbitrariamente; Los conflictos pueden causar interrupciones en la red.
Para configurar enp1s0 con la dirección 192.168.0.2 y CIDR /24:
root #
ip address add 192.168.0.2/24 dev enp1s0
El inicio de este comando se puede acortar a ip a.
Configuración de ruta predeterminada
La configuración de la dirección y la información de red para una interfaz configurará rutas link, lo que permitirá la comunicación con ese segmento de red:
root #
ip route
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.2
Este comando se puede abreviar a ip r.
La ruta default se puede configurar en 192.168.0.1 con:
root #
ip route add default via 192.168.0.1
Configuración DNS
La información del servidor de nombres normalmente se adquiere mediante DHCP, pero se puede configurar manualmente agregando entradas nameserver
a /etc/resolv.conf.
Si dhcpcd se está ejecutando, los cambios en Template:Ruta no se mantendrán. El estado se puede comprobar con
ps x | grep dhcpcd
.nano está incluido en el medio de arranque de Gentoo y puede usarse para editar /etc/resolv.conf con:
root #
nano /etc/resolv.conf
Las líneas que contienen la palabra clave nameserver
seguida de la dirección IP del servidor DNS se consultan en orden de definición:
nameserver 9.9.9.9
nameserver 149.112.112.112
nameserver 1.1.1.1
nameserver 1.0.0.1
El estado del DNS se puede verificar haciendo ping a un nombre de dominio:
root #
ping -c 3 gentoo.org
Una vez que se haya verificado la conectividad, continúe con Preparando los discos.
Introducción a los dispositivos de bloque
Dispositivos de bloque
Examinaremos de forma detallada los aspectos de Gentoo Linux así como Linux en general que tengan que ver con discos, incluyendo dispositivos de bloques, particiones y sistemas de archivos de Linux. Una vez familiarizados con las entrañas de los discos y sistemas de archivos, podemos establecer las particiones y sistemas de archivos para la instalación.
Para empezar, veamos los dispositivos de bloque. Los discos SCSI y Serial ATA (SATA) aparecen ambos etiquetados entre los dispositivos gestionados como /dev/sda, /dev/sdb, /dev/sdc, etc. En los equipos mas modernos, los discos de estado sólido NVMe sobre PCI Express tienen nombres de dispositivo como /dev/nvme0n1, /dev/nvme0n2, etc..
La siguiente tabla ayudará a los lectores a saber dónde encontrar un tipo concreto de dispositivo de bloque en su sistema:
Tipo de dispositivo | Nombre del dispositivo por defecto | Notas y consideraciones |
---|---|---|
IDE, SATA, SAS, SCSI, o USB flash | /dev/sda | Se puede encontrar desde aproximadamente 2007 hasta la actualidad, es quizá el mas comunmente usado en Linux. Estos tipos de dispositivos pueden se conectados
via bus SATA, SCSI, USB como almacenamiento de bloque. Como ejemplo, la primera partición en el primer dispositivo SATA es nombrada /dev/sda1. |
NVM Express (NVMe) | /dev/nvme0n1 | Lo último en tecnología de estado sólido, los discos NVMe son conectados al bus PCI Express y tienen la mejor velocidad de transferencia de bloques del mercado. Equipos desde alrededor de 2014 hasya la actualidad pueden tener soporte para el hardware NVMe. La primera partición en el primer dispositivo NVMe en nombrada /dev/nvme0n1p1. |
MMC, eMMC, and SD | /dev/mmcblk0 | Los dispositivos embedded MMC, tarjetas SD, y otros tipos de tarjetas de memoria pueden ser útiles para el almacenamiento de datos. No obstante, es posible que muchos sistemas no permitan el arranque desde este tipo de dispositivos. Se segiere no usar estos dispositivos para instalaciones Linux activas; más bien considere usarlos para transferir archivos, que es la idea de diseño típica. Alternativamente, este tipo de almacenamiento podría resultar útil para copias de seguridad de archivos o instantáneas a corto plazo. |
Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta de disco. Las aplicaciones pueden hacer uso de estas interfaces para interactúar con el disco duro de la máquina sin tener que saber el tipo de unidad que tiene: SATA, SCSI, o cualquier otra. La aplicación puede simplemente dirigirse al almacenamiento en el disco como a una serie de bloques contiguos de acceso aleatorio de 4096-bytes (4K).
Introduction to block devices
Block devices
Placeholder for introduction to block devices specific to that architecture
Designing a partition scheme
Placeholder for designing a partition scheme specific to that architecture
Crear los sistemas de archivos
Cuando utilice una unidad SSD o NVMe, es aconsejable comprobar si hay actualizaciones de firmware. Algunos SSD Intel en particular (600p y 6000p) requieren una actualización de firmware para posible corrupción de datos inducida por patrones de uso de E/S de XFS. El problema está en el nivel de firmware y no en ningún fallo del sistema de archivos XFS. La utilidad smartctl puede ayudar a verificar el modelo del dispositivo y la versión del firmware.
Introducción
Ahora que ya se han creado las particiones, es el momento de crear en ellas un sistema de archivos. En la próxima sección se describen los distintos sistemas de archivos soportados en Linux. Los lectores que ya sepan los sistemas de archivos que pueden usar deben ir a Aplicar un sistema de archivos a una partición. En caso contrario siga leyendo para conocer los sistemas de archivos disponibles...
Sistemas de archivos
Linux ofrece soporta para varias docenas de sistemas de archivos, aunque muchos de ellos se utilizan para desplegar situaciones específicas. Solo algunos de los sistemas de archivos estables se pueden encontrar en la arquitectura amd64. Se recomienda leer acerca de los sistemas de archivos y el estado de soporte en el que se encuentran antes de seleccionar uno demasiado experimental para particiones importantes. XFS es el sistema de archivos recomendado para la mayoría de situaciones y plataformas. Abajo se muestra una lista que no es exhaustiva
- btrfs
- Sistema de archivos de nueva generación. Proporciona funciones avanzadas como instantáneas, autorreparación mediante sumas de comprobación, compresión transparente, subvolúmenes y RAID integrado. No se garantiza que los núcleos anteriores a 5.4.y sean seguros de usar con btrfs en producción porque las correcciones para problemas graves solo están presentes en las versiones más recientes de las ramas del núcleo LTS. RAID 5/6 y grupos de cuotas no son seguros en todas las versiones de btrfs.
- ext4
- Ext4 es un sistema de archivos confiable y multiuso para todas las plataformas, aunque carece de características modernas como reflinks.
- f2fs
- El sistema de archivos compatible con Flash fue creado originalmente por Samsung para su uso con memoria flash NAND. Es una opción decente al instalar Gentoo en tarjetas microSD, unidades USB u otros dispositivos de almacenamiento basados en flash.
- XFS
- Sistema de archivos con registro de metadatos que viene con un sólido conjunto de funciones y está optimizado para la escalabilidad. Se ha actualizado continuamente para incluir características modernas. El único inconveniente es que las particiones XFS aún no se pueden reducir, aunque se está trabajando en ello. Es notable que XFS admite enlaces de referencia y copia en escritura (CoW), lo cual es particularmente útil en sistemas Gentoo debido a la cantidad de compilaciones que completan los usuarios. XFS es el sistema de archivos moderno y multiuso recomendado para todas las plataformas. Requiere una partición de al menos 300 MB.
- VFAT
- También conocido como FAT32, es compatible con Linux pero no admite la configuración de permisos estándar de UNIX. Se utiliza principalmente para interoperabilidad/intercambio con otros sistemas operativos (Microsoft Windows o macOS de Apple), pero también es necesario para algunos firmware del gestor de arranque del sistema (como UEFI). Los usuarios de sistemas UEFI necesitarán una EFI System Partition formateada con VFAT para poder arrancar.
- NTFS
- Este sistema de archivos de "Nueva Tecnología" es el sistema de archivos insignia de Microsoft Windows desde Windows NT 3.1. De manera similar a VFAT, no almacena la configuración de permisos de UNIX ni los atributos extendidos necesarios para que BSD o Linux funcionen correctamente, por lo que no debe usarse como sistema de archivos raíz en la mayoría de los casos. Debe usarse "sólo" para interoperabilidad o intercambio de datos con sistemas Microsoft Windows (tenga en cuenta el énfasis en "sólo").
Puede encontrar información más extensa sobre los sistemas de archivos en el Filesystem Article mantenido por la comunidad.
Creación de un sistema de archivos en una partición
Asegúrese de instalar el paquete de utilidades de espacio de usuario correspondiente para el sistema de archivos elegido antes de reiniciar. Habrá un recordatorio para hacerlo cerca del final del proceso de instalación.
Para crear un sistema de archivos en una partición o volumen, existen utilidades de espacio de usuario disponibles para todos los sistemas de archivos. Hacer clic en el nombre del sistema de archivos de la tabla de abajo para obtener información de cada sistema de archivos:
Sistema de archivos | Comando de creación | ¿Dentro del entorno live? | Paquete |
---|---|---|---|
btrfs | mkfs.btrfs | Si | sys-fs/btrfs-progs |
ext4 | mkfs.ext4 | Si | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | Si | sys-fs/f2fs-tools |
xfs | mkfs.xfs | Si | sys-fs/xfsprogs |
vfat | mkfs.vfat | Si | sys-fs/dosfstools |
NTFS | mkfs.ntfs | Si | sys-fs/ntfs3g |
El manual recomienda nuevas particiones como parte del proceso de instalación, pero es importante tener en cuenta que ejecutar cualquier comando mkfs borrará todos los datos contenidos en la partición. Cuando sea necesario, asegúrese de realizar una copia de seguridad adecuada de todos los datos que existan antes de crear algunos sistemas de archivos.
Por ejemplo, para tener la partición raíz (/dev/sda3) como xfs como se usa en la estructura de partición de ejemplo, los siguientes comandos deberían ser usados:
root #
mkfs.xfs /dev/sda3
Sistema de archivos de partición del sistema EFI
La partición del sistema EFI (/dev/sda1) debe estar formateada como FAT32:
root #
mkfs.vfat -F 32 /dev/sda1
Sistema de archivos de partición de arranque BIOS heredado
Los sistemas que arrancan a través de BIOS heredado con una etiqueta de disco MBR/DOS pueden usar cualquier formato de sistema de archivos admitido por el gestor de arranque.
Por ejemplo, para formatear con XFS:
root #
mkfs.xfs /dev/sda1
Particiones ext4 pequeñas
Cuando se utiliza el sistema de archivos ext4 en una partición pequeña (menos de 8 GiB), el sistema de archivos debe crearse con las opciones adecuadas para reservar suficientes inodos. Esto se puede especificar usando la opción -T small
:
root #
mkfs.ext4 -T small /dev/<device>
Hacerlo cuadruplicará el número de inodos para un sistema de archivos determinado, ya que su "bytes por inodo" se reduce de uno cada 16 kB a uno cada 4 kB.
Activar la partición de intercambio
mkswap es la orden utilizada para inicializar particiones de intercambio:
root #
mkswap /dev/sda2
Para activar la partición, use swapon:
root #
swapon /dev/sda2
Este paso de 'activación' sólo es necesario porque la partición de intercambio se creó recientemente dentro del entorno live. Una vez que se haya reiniciado el sistema, siempre que la partición de intercambio esté definida correctamente dentro de fstab u otro mecanismo de montaje, el espacio de intercambio se activará automáticamente.
Montar la partición raíz
Las instalaciones que se iniciaron anteriormente, pero que no finalizaron el proceso de instalación, pueden reanudar la instalación desde este punto del manual. Utilice este enlace como enlace permanente: Las instalaciones reanudadas comienzan aquí.
Es posible que a ciertos entornos live les falte el punto de montaje sugerido para la partición raíz de Gentoo (/mnt/gentoo), o puntos de montaje para particiones adicionales creadas en la sección de particionamiento:
root #
mkdir --parents /mnt/gentoo
Solo para instalaciones con EFI, el ESP debe montarse en alguna ubicación de la partición raíz:
root #
mkdir --parents /mnt/gentoo/efi
Continúe creando puntos de montaje adicionales necesarios para cualquier partición adicional (personalizada) creada durante los pasos anteriores utilizando el comando mkdir.
Una vez creados los puntos de montaje, es hora de hacer que las particiones sean accesibles mediante el comando mount.
Monte la partición raíz:
root #
mount /dev/sda3 /mnt/gentoo
Continúe montando particiones adicionales (personalizadas) según sea necesario usando el comando mount.
Si necesita que su /tmp/ resida en una partición separada, asegúrese de cambiar los permisos después de montarla:
root #
chmod 1777 /mnt/gentoo/tmp
Más adelante en las instrucciones, se montará el sistema de archivos proc (una interfaz virtual con el núcleo), así como otros pseudosistemas de archivos del núcleo. Pero primero se debe extraer el archivo de stage de Gentoo.
Elegir un empaquetado de stage
En las arquitecturas compatibles, se recomienda que los usuarios que se orientan a un entorno de sistema operativo de escritorio (gráfico) utilicen un archivo de stage con el término
desktop
dentro del nombre. Estos archivos incluyen paquetes como sys-devel/llvm y dev-lang/rust-bin y el ajuste del indicador USE que mejorará enormemente el tiempo de instalación.El archivo de stage actúa como semilla de una instalación de Gentoo. Los archivos de stage son generados con Catalyst por el Equipo de Ingeniería de Lanzamiento. Los archivos de stage se basan en perfiles específicos y contienen un sistema casi completo.
Al elegir un archivo de stage, es importante elegir uno con perfiles correspondientes al tipo de sistema deseado.
Si bien es posible realizar cambios importantes en el perfil después de que se haya establecido una instalación, el cambio requiere un considerable esfuerzo y consideraciones y está fuera del alcance de este manual de instalación. Cambiar los sistemas de inicio es difícil, pero cambiar de
no-multilib
a multilib
requiere un amplio conocimiento de Gentoo y de la cadena de herramientas de bajo nivel.La mayoría de los usuarios no deberían necesitar utilizar las opciones de archivos comprimidos 'avanzadas'; son para configuraciones de software o hardware atípicas o avanzadas.
OpenRC
OpenRC es un sistema de inicio basado en dependencias (responsable de iniciar los servicios del sistema una vez que se ha iniciado el núcleo) que mantiene compatibilidad con el programa de inicio proporcionado por el sistema, que normalmente se encuentra en /sbin/init. Es el sistema de inicialización nativo y original de Gentoo, pero también lo implementan algunas otras distribuciones de Linux y sistemas BSD.
OpenRC no funciona como reemplazo del archivo /sbin/init por defecto y es 100% compatible con los guiones de inicio de Gentoo. Esto significa que puede ser una solución para ejecutar las docenas de daemons en el repositorio de ebuilds de Gentoo.
systemd
systemd es un reemplazo moderno de init y rc de estilo SysV para sistemas Linux. La mayoría de las distribuciones Linux lo utilizan como sistema de inicio principal. systemd es totalmente compatible con Gentoo y funciona para el propósito previsto. Si aún le parece que falta algo en el Manual para ser una guia de instalación con systemd, revise el artículo de systemd antes de solicitar ayuda.
Multilibrería (32 y 64 bits)
No todas las arquitecturas tienen una opción multilib. Muchas solo ejecutan código nativo. Multilib se aplica más comúnmente a amd64.
El perfil multilib utiliza bibliotecas de 64 bits cuando es posible y solo recurre a las versiones de 32 bits cuando es estrictamente necesario por motivos de compatibilidad. Esta es una excelente opción para la mayoría de instalaciones porque proporciona una gran flexibilidad para la personalización en el futuro.
El uso de
multilib
hace que sea más fácil cambiar de perfil más adelante, en comparación con no-multilib
No multilibrería (64 bits puros)
Los lectores que acaban de empezar con Gentoo no deben elegir un empaquetado sin multilib a menos que sea absolutamente necesario. Migrar de un sistema
no-multilib
a uno multilib
requiere un conocimiento extremadamente bueno de Gentoo y de la cadena de herramientas de nivel inferior (incluso puede hacer que nuestros desarrolladores de la cadedena de herramientas se estremezcan un poco). No es para miedosos y está más allá del alcance de esta guía.La selección de un archivo empaquetado no-multilib como base del sistema proporciona un entorno de sistema operativo completo de 64 bits - sin software de 32 bits. Esto efectivamente hace que la capacidad de cambiar a perfiles multilib
sea engorrosa, aunque aún técnicamente posible.
Descargar el empaquetado de stage (tarball)
Antes de descargar el archivo de stage, el directorio actual debe situarse en la ubicación de montaje utilizado para la instalación:
root #
cd /mnt/gentoo
Ajustar la Fecha/Hora correcta
Los archivos de stage generalmente se obtienen mediante HTTPS, lo que requiere una relativa precisión en la hora del sistema. La desviación del reloj puede impedir que las descargas funcionen y puede causar errores impredecibles si la hora del sistema se ajusta en una cantidad considerable después de la instalación.
La fecha y hora actuales se pueden verificar con date:
root #
date
Mon Oct 3 13:16:22 PDT 2021
Si la fecha/hora mostrada tiene más de unos pocos minutos de diferencia, debe actualizarse utilizando uno de los siguientes métodos.
Automático
Usar NTP para corregir la desviación del reloj suele ser más fácil y confiable que configurar manualmente el reloj del sistema.
chronyd, parte de net-misc/chrony, se puede utilizar para actualizar el reloj del sistema a UTC con:
root #
chronyd -q
Los sistemas sin un reloj en tiempo real (RTC) funcional deben sincronizar el reloj del sistema en cada inicio del sistema y, a partir de entonces, en intervalos regulares. Esto también es conveniente para sistemas con RTC, ya que la batería podría fallar y se puede acumular la desviación del reloj.
El tráfico NTP estándar en no autenticado, es importante verificar los datos de tiempo obtenidos de la red.
Manual
Cuando el acceso NTP no está disponible, se puede usar date para configurar manualmente el reloj del sistema.
Se recomienda la hora UTC para todos los sistemas Linux. Posteriormente, se define una zona horaria del sistema, que cambia el desplazamiento cuando se muestra la fecha.
El siguiente formato de argumento se utiliza para establecer la hora: MMDDhhmmAAAA
sintaxis ('Mes, Día, hora, 'minuto y Y Año).
Por ejemplo, para ajustar la fecha y hora a las 13:16 horas del 3 de octubre del 2021, ejecute:
root #
date 100313162021
Los usuarios que utilicen entornos con navegadores web gráficos no tendrán problema en copiar el URL de un archivo de stage desde la sección de descargas del sitio web principal. Simplemente seleccione la pestaña apropiada, haga clic con el botón secundario del ratón en el archivo de stage, entonces Copiar la ruta del enlace para copiar el enlace al portapapeles, a continuación pegue el enlace para la utilidad wget en la línea de órdenes para descargar el archivo de stage:
root #
wget <URL_DEL_ARCHIVO_DE_STAGE_PEGADA>
Los usuarios de Gentoo más tradicionales o los 'históricos' que trabajen exclusivamente con la línea de órdenes puede que prefieran utilizar links (www-client/links), un navegador no gráfico dirigido por menús. Para descargar un stage, navegue a la lista de servidores réplica de Gentoo de esta forma:
root #
links https://www.gentoo.org/downloads/mirrors/
Para usar un proxy HTTP con links, pase la URL con la opción -http-proxy
:
root #
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/
Junto a links existe también el navegador lynx (www-client/lynx). Al igual que links es un navegador de consola pero sin menús.
root #
lynx https://www.gentoo.org/downloads/mirrors/
Si necesita pasar a través de un proxy, exporte las variables http_proxy y ftp_proxy:
root #
export http_proxy="http://proxy.server.com:port"
root #
export ftp_proxy="http://proxy.server.com:port"
Seleccione un servidor réplica cercano. Normalmente bastará con los servidores HTTP, sin embargo también están disponibles otros protocolos. Entre en el directorio releases/amd64/autobuilds/. En él deberían aparecer todos los archivos de stage disponibles (quizá almacenados en subdirectorios con el nombre de cada subarquitectura). Seleccione uno y pulse d para descargarlo.
Una vez haya finalizada la descarga del archivo de stage, es posible verificar la integridad y validar los contenidos del archivo de stage. Los interesados pueden ir a la siguiente sección.
Aquellos que no estén interesados en verificar y validar el archivo de stage pueden cerrar el navegador de línea de comandos presionando q e ir directamente a la sección Descomprimir el archivo de stage.
Verificar y validar
La mayoría de los stages ahora tienen sufijo explícitamente con el tipo de sistema de inicio (openrc o systemd), aunque en algunas arquitecturas aún pueden faltar por ahora.
Al igual que con los CDs minimalistas de instalación, hay descargas disponibles para verificar y validar el archivo stage. Aunque estos pasos se pueden omitir, estos archivos se ofrecen a aquéllos usuarios que se preocupan por la integridad del archivo o archivos que se acaban de descargar. Los archivos adicionales están disponibles en la raíz del directorio mirrors. Busque la ubicación adecuada para la arquitectura del hardware y el perfil del sistema y descargue los archivos asociados .CONTENTS.gz, .DIGESTS y .sha256.
root #
wget https://distfiles.gentoo.org/releases/
- .CONTENTS.gz: un archivo comprimido que contiene una lista de todos los archivos dentro del archivo de stage.
- .DIGESTS: contiene sumas de comprobación del archivo de stage utilizando varios algoritmos hash criptográficos.
- .sha256: contiene una suma de comprobación SHA256 firmada con PGP del archivo de stage. Es posible que este archivo no esté disponible para descargar para todos los archivos de stage.
Se pueden utilizar herramientas y utilidades criptográficas como openssl, sha256sum o sha512sum para comparar la salida con las sumas de verificación proporcionadas en el archivo .DIGESTS.
Para verificar la suma de comprobación SHA512 con openssl:
root #
openssl dgst -r -sha512 stage3-amd64-<release>-<init>.tar.xz
dgst
indica al comando openssl que utilice el subcomando Message Digest, -r
imprime el resultado del resumen en formato coreutils y -sha512
selecciona el resumen SHA512.
Para verificar la suma de comprobación BLAKE2B512 con openssl:
root #
openssl dgst -r -blake2b512 stage3-amd64-<release>-<init>.tar.xz
Compare las salidas de los comandos de suma de comprobación con los valores correspondientes de hash y nombre de archivo contenidos en el archivo .DIGESTS. Los valores correspondientes deben coincidir con el resultado de los comandos de suma de comprobación; de lo contrario, el archivo descargado está dañado y debe descartarse y volverse a descargar.
Para verificar el hash SHA256 de un archivo .sha256 asociado usando la utilidad sha256sum:
root #
sha256sum --check stage3-amd64-<release>-<init>.tar.xz.sha256
La opción --check
indica a sha256sum que lea una lista de archivos esperados y hashes asociados, y luego imprima un "OK" asociado para cada archivo que se calcule correctamente o un "FAILED" para archivos en los que no ocurra.
Al igual que con el archivo ISO, la firma criptográfica del archivo tar.xz se puede verificar usando gpg para garantizar que no se haya realizado ninguna manipulación en el archivo empaquetado.
Para las imágenes live oficiales de Gentoo, el paquete sec-keys/openpgp-keys-gentoo-release proporciona claves de firma PGP para lanzamientos automatizados. Las claves primero deben importarse a la sesión del usuario para poder utilizarlas para la verificación:
root #
gpg --import /usr/share/openpgp-keys/gentoo-release.asc
Para todas las imágenes live no oficiales que ofrecen gpg y wget en el entorno live, se puede recuperar e importar un paquete que contiene claves de Gentoo:
root #
wget -O - https://qa-reports.gentoo.org/output/service-keys.gpg | gpg --import
Verifique la firma del empaquetado y, opcionalmente, los archivos de suma de comprobación asociados:
root #
gpg --verify stage3-amd64-<release>-<init>.tar.xz.asc
root #
gpg --verify stage3-amd64-<release>-<init>.tar.xz.DIGESTS
root #
gpg --verify stage3-amd64-<release>-<init>.tar.xz.sha256
Si la verificación tiene éxito, aparecerá "Good signature from" en la salida de los comandos anteriores.
Las huellas digitales de las claves OpenPGP utilizadas para firmar los medios de lanzamiento se pueden encontrar en la página de firmas de medios de lanzamiento.
Instalar un archivo de stage
Una vez que el archivo stage se haya descargado y verificado, se puede extraer usando tar:
root #
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
Antes de extraer verifique las opciones:
x
extract, indica a tar que extraiga el contenido del archivo.p
preservar permisos.v
salida v'erbose.f
file, proporciona a tar el nombre del archivo de entrada.--xattrs-include='*.*'
Conserva los atributos extendidos en todos los espacios de nombres almacenados en el archivo.--numeric-owner
Asegúrese de que los ID de usuario y grupo de los archivos que se extraen del empaquetado sigan siendo los mismos que pretendía el equipo de ingeniería de lanzamiento de Gentoo (incluso si los usuarios aventureros no están usando entornos live oficiales de Gentoo para el proceso de instalación).
Ahora que el archivo stage está desempaquetado, continúe con Configurara las opciones de compilación.
Configurar las opciones de compilación
Introducción
Para optimizar el sistema, es posible establecer variables que afecten al comportamiento de Portage, el administrador de paquetes con soporte oficial de Gentoo. Todas esas variables se pueden configurar como variables de entorno (usando export), pero la configuración a través de export no es permanente.
Técnicamente, las variables se pueden exportar a través del perfil del shell o archivos rc, sin embargo, esa no es la mejor manera para la administración básica del sistema.
Portage lee el archivo make.conf cuando se ejecuta, lo que cambiará su comportamiento durante su ejecución dependiendo de los valores guardados en el archivo. make.conf puede considerarse el archivo de configuración principal de Portage, así que trate su contenido con cuidado.
Puede encontrar una lista comentada de todas las variables posibles en /mnt/gentoo/usr/share/portage/config/make.conf.example. Se puede encontrar documentación adicional sobre make.conf ejecutando man 5 make.conf.
Para una instalación exitosa de Gentoo, solo se deben configurar las variables que se mencionan a continuación.
Use su editor favorito (en esta guía usaremos nano) para modificar las variables de optimización que discutiremos en adelante.
root #
nano /mnt/gentoo/etc/portage/make.conf
Observando el archivo make.conf.example es obvio cual es su estructura: las líneas que son comentarios comienzan con #
, el resto definen variables usando la sintaxis VARIABLE="valor"
. Varias de estas variables se discuten a continuación.
CFLAGS y CXXFLAGS
Las variables CFLAGS y CXXFLAGS definen los parámetros de optimización para los compiladores GCC de C y de C++ respectivamente. Aunque generalmente se definen aquí, obtendrá el máximo rendimiento si optimiza estos parámetros para cada programa por separado. La razón es que cada programa es diferente. Sin embargo, no es manejable definir estos indicadores en el archivo make.conf.
En make.conf deberá definir los parámetros de optimización que se ajusten a su sistema de forma general. No coloque parámetros experimentales en esta variable; un nivel demasiado alto de optimización puede hacer que los programas funcionen mal (cuelgues, o incluso peor, funcionamientos erróneos).
El Manual no explicará todas las opciones posibles de optimización. Si quiere conocerlas todas, lea los Manuales en línea GNU o la página información de gcc (info gcc). El archivo make.conf.example también contiene una gran cantidad de ejemplos e información; no olvide leerlo también.
El primer parámetro es -march=
o -mtune=
, el cual especifica el nombre de la arquitectura destino. Las posibles opciones se describen en el archivo make.conf.example (como comentarios). Un valor frecuentemente utilizado es native ya que indica al compilador que seleccione la arquitectura destino del sistema actual (en el que se está realizando la instalación).
Seguida de esta, está el parámetro -O
(que es una O mayúscula, no un cero), que especifica la clase optimización de gcc. Las clases posibles son s (para tamaño optimizado), 0 (cero - para no optimizar), 1, 2 o incluso 3 para la optimización de velocidad (cada clase tiene los mismos parámetros que la anterior, más algunos extras). -O2
es la recomendación por defecto. Es conocido que -O3
provoca problemas cuando se utiliza globalmente en el sistema, por esto se recomienda quedarse con -O2
.
Otros parámetros de optimización bastante populares son los -pipe
(usar tuberías en lugar de archivos temporales para la comunicación entre las diferentes etapas de compilación). No tiene ningún impacto sobre le código generado, pero usa más memoria. En sistemas con poca memoria, el proceso del compilador podría ser terminado. En ese caso, no use este parámetro.
Usar -fomit-frame-pointer
(el cual no mantiene el puntero de marco en un registro para aquellas funciones que no lo necesiten) podría tener graves repercusiones en la depuración de errores en aplicaciones.
Cuando defina las variables CFLAGS y CXXFLAGS, debería combinar varios parámetros de optimización en una sóla cadena. Los valores por defecto que trae el archivo de stage deberían ser suficientemente buenos. Lo siguiente es simplemente un ejemplo:
# Configuraciones del compilador a aplicar en cualquier lenguaje
COMMON_CFLAGS="-march=native -O2 -pipe"
# Use los mismos valores en ambas variables
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${CFLAGS}"
A pesar de que el artículo sobre la optimización de GCC contiene más información sobre cómo las distintas opciones de compilación pueden afectar a un sistema, el artículo sobre CFLAGS seguras puede resultar más práctico para los que se inician en la optimización de su sistema.
MAKEOPTS
La variable MAKEOPTS define cuántas compilaciones paralelas deben ocurrir al instalar un paquete. A partir de la versión 3.0.31 de Portage[1], si no se define, el comportamiento predeterminado de Portage es establecer el valor de trabajos en MAKEOPTS al mismo número de hilos de procesamiento devueltos por nproc.
Además, a partir de Portage 3.0.53[2], si no se define, el comportamiento predeterminado de Portage es establecer el valor promedio de carga en < var>MAKEOPTS al mismo número de hilos de procesamiento devueltos por nproc.
Una buena opción es el menor de: el número de hilos de procesamiento que tiene la CPU o la cantidad total de RAM del sistema dividida por 2 GiB.
El uso de una gran cantidad de trabajos puede afectar significativamente el consumo de memoria. Una buena recomendación es tener al menos 2 GiB de RAM para cada trabajo especificado (por ejemplo,
-j6
requiere al menos 12 GiB). Para evitar quedarse sin memoria, reduzca el número de trabajos para que se ajusten a la memoria disponible.Cuando se utilizan emerges en paralelo (
--jobs
), la cantidad efectiva de trabajos ejecutados puede crecer exponencialmente (hasta hacer que los trabajos se multipliquen por los trabajos de los emerges). Esto se puede solucionar ejecutando una configuración distcc solo para localhost que limitará el número de instancias del compilador por host.# Si no se define, el comportamiento predeterminado de Portage es:
# - establecer el valor de los trabajos en MAKEOPTS en la misma cantidad de subprocesos devueltos por `nproc`
# - establecer el valor de carga media en MAKEOPTS ligeramente por encima de la cantidad de subprocesos devueltos por `nproc`, debido a que será el valor limitante
# Reemplace '4' según corresponda para el sistema (min(RAM/2GB, subprocesos), o déjelo sin establecer.
MAKEOPTS="-j4 -l5"
Busque MAKEOPTS en man 5 make.conf para obtener más detalles.
Preparados, listos, ¡ya!
Actualice /mnt/gentoo/etc/portage/make.conf con sus propios parámetros y guarde los cambios (los usuarios de nano deben presionar usar Ctrl+o para guardar los cambios y después Ctrl+x para salir).
Referencias
Enjaulamiento
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 --dereference
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 --dereference /etc/resolv.conf /mnt/gentoo/etc/
Montar los sistemas de archivos necesarios
En unos momentos, la raíz de Linux se cambiará a la nueva ubicación.
Los sistemas de archivos que deben estar disponibles son:
- /proc/ es un pseudosistema de archivos. Parecen archivos normales, pero el kernel de Linux los genera sobre la marcha.
- /sys/ es un pseudosistema de archivos, como /proc/ que alguna vez estuvo destinado a reemplazarlo, y está más estructurado que /proc/
- /dev/ es un sistema de archivos normal que contiene todos los dispositivos. Está parcialmente administrado por el administrador de dispositivos de Linux (generalmente udev)
- /run/ es un sistema de archivos temporal utilizado para archivos generados en tiempo de ejecución, como archivos PID o bloqueos.
La ubicación /proc/ se montará en /mnt/gentoo/proc/ mientras que los otros serán montados mediante 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.
Si utiliza el medio de instalación de Gentoo, este paso se puede reemplazar con simplemente: arch-chroot /mnt/gentoo.
root #
mount --types 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
root #
mount --bind /run /mnt/gentoo/run
root #
mount --make-slave /mnt/gentoo/run
Las operaciones
--make-rslave
son necesarias para dar soporte a systemd mas adelante en la instalación.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 --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
Asegúrese también de asignale permisos 1777:
root #
chmod 1777 /dev/shm /run/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:
- Se cambia la raíz desde / (en el medio de instalación) a /mnt/gentoo/ (en las particiones) utilizando chroot o arch-chroot, si está disponible.
- Se cargan en memoria algunas definiciones (ofrecidas por /etc/profile) mediante la orden source.
- 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.
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.
Preparándose para un gestor de arranque
Ahora que se ha entrado en el nuevo entorno, es necesario prepararlo para el gestor de arranque. Será importante tener montada la partición correcta cuando llegue el momento de instalar el gestor de arranque.
Sistemas UEFI
Para los sistemas UEFI, /dev/sda1 se formateó con el sistema de archivos FAT32 y se utilizará como partición del sistema EFI (ESP). Cree un nuevo directorio /efi (si aún no se ha creado) y luego monte ESP allí:
root #
mkdir /efi
root #
mount /dev/sda1 /efi
Sistemas DOS/Legacy BIOS
Para sistemas DOS/BIOS heredado, el gestor de arranque se instalará en el directorio /boot, por lo tanto, móntelo de la siguiente manera:
root #
mount /dev/sda1 /boot
Configurar Portage
Instalar una instantánea de repositorio de ebuilds de Gentoo desde la web
El siguiente paso es instalar una instantánea del repositorio de ebuilds de Gentoo. 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 (utiliza 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
Durante esta operación, emerge-webrsync podría indicar que la ubicación /var/db/repos/gentoo/ no existe. Esto es normal y no debe preocupar - la herramienta creará la ubicació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 hasta que la instalación de Gentoo haya finalizado.
Opcional: Seleccionar los servidores réplica
Para descargar el código fuente rápidamente, se recomienda seleccionar un mirror rápido y geográficamente cercano. Portage buscará en el archivo make.conf la variable GENTOO_MIRRORS y utilizará los mirrors enumerados allí. Es posible navegar a la lista de réplicas de Gentoo y buscar una réplica (o varias réplicas) cerca de la ubicación física del sistema (ya que éstas suelen ser las más rápidas).
Una herramienta llamada mirrorselect proporciona una bonita interfaz de texto para consultar y seleccionar más rápidamente los mirrors adecuados. Simplemente navegue hasta los mirrors de su elección y presione Template:Tecla para seleccionar uno o más mirrors.
root #
emerge --ask --verbose --oneshot app-portage/mirrorselect
root #
mirrorselect -i -o >> /etc/portage/make.conf
Alternativamente, hay una lista de réplicas activas disponible en línea.
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.
Supongamos que es necesario disponer de las últimas actualizaciones de un paquete (hasta 1 hora), entonces utilice emerge --sync. Este comando utilizará el protocolo rsync para actualizar el repositorio ebuild de Gentoo (que se obtuvo anteriormente a través de emerge-webrsync) al estado más reciente.
root #
emerge --sync
En terminales lentos, como ciertos frame buffers o consolas serie, se recomienda utilizar la opción --quiet
para acelerar el proceso:
root #
emerge --sync --quiet
Leer los elementos de noticias
Cuando se sincroniza el repositorio de ebuilds de Gentoo, Portage puede mostrar mensajes informativos de salida similares a los siguientes:
* 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 repositorio de ebuilds de Gentoo. Para gestionarlos necesitará utilizar eselect news. La aplicación eselect es una utilidad específica de Gentoo que presenta una interfaz de gestión común para la administración del sistema. 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
Los perfiles de escritorio no son exclusivos para entornos de escritorio. También son adecuados para administradores de ventanas mínimos como i3 o sway.
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/23.0 * [2] default/linux/amd64/23.0/desktop [3] default/linux/amd64/23.0/desktop/gnome [4] default/linux/amd64/23.0/desktop/kde
La salida de la orden anterior es solo un ejemplo y cambiará a lo largo del tiempo.
Para usar systemd, seleccione un perfil que tenga "systemd" en el nombre y viceversa, si no
También hay subperfiles de escritorio disponibles para algunas arquitecturas que incluyen paquetes de software comúnmente necesarios para una experiencia de escritorio.
Las actualizaciones de perfil no deben tomarse a la ligera. Al seleccionar el perfil inicial, utilice el perfil correspondiente a la misma versión que el utilizado inicialmente por el archivo de stage (por ejemplo, 23.0). Cada nueva versión del perfil se anuncia a través de una noticia que contiene instrucciones de migración; asegúrese de seguir cuidadosamente las instrucciones antes de cambiar a un perfil más nuevo.
Después de revisar los perfiles disponibles para la arquitectura amd64, los usuarios pueden elegir usar un perfil diferente para el sistema:
root #
eselect profile set 2
This is a placeholder for architecture-specific profile information
El subperfil
developer
es específico para desarrolladores de Gentoo Linux y no está dirigido a usuarios comunes.Opcional: agregar un host de paquetes binarios
Desde diciembre de 2023, el equipo de Ingeniería de Lanzamiento de Gentoo ha ofrecido un host de paquetes binarios oficial (coloquialmente abreviado simplemente como "binhost") para que lo utilice la comunidad general para recuperar e instalar. paquetes binarios (binpkgs).[1]
Agregar un host de paquetes binarios permite a Portage instalar paquetes compilados y firmados criptográficamente. En muchos casos, agregar un host de paquetes binarios disminuirá "considerablemente" el tiempo medio para la instalación del paquete y agregará muchos beneficios cuando se ejecuta Gentoo en sistemas más antiguos, más lentos o con poca potencia.
Configuración del repositorio
La configuración del repositorio para un binhost se encuentra en el directorio /etc/portage/binrepos.conf/ de Portage, que funciona de manera similar a la configuración mencionada en la sección repositorio de ebuilds de Gentoo.
Al definir un host de binarios, hay dos aspectos importantes a considerar:
- La arquitectura y perfiles dentro del valor
sync-uri
sí importan y deben alinearse con la arquitectura de ordenadores respectiva (amd64 en este caso) y el perfil del sistema seleccionado en la sección Elegir el perfil correcto. - Seleccionar un mirror rápido y geográficamente cercano generalmente acortará el tiempo de recuperación. Revise la herramienta mirrorselect mencionada en la sección Opcional: Seleccionar mirrors o revise el lista en línea de mirrors donde se pueden descubrir los valores de URL.
[binhost]
priority = 9999
sync-uri = https://distfiles.gentoo.org/releases/<arch>/binpackages/<profile>/x86-64/
Instalación de paquetes binarios
Portage compilará paquetes desde el código fuente de forma predeterminada. Se le puede indicar que utilice paquetes binarios de las siguientes maneras:
- La opción
--getbinpkg
se puede pasar al invocar el comando emerge. Este método de instalación de paquetes binarios es útil para instalar sólo un paquete binario en particular. - Cambiar el valor predeterminado del sistema a través de la variable FEATURES de Portage, que se expone a través del archivo /etc/portage/make.conf. La aplicación de este cambio de configuración hará que Portage consulte al host del paquetes binarios los paquetes que se solicitarán y volverá a compilar localmente cuando no se encuentren resultados.
Por ejemplo, para que Portage instale siempre los paquetes binarios disponibles:
# Agregar getbinpkg a la lista de valores dentro de la variable FEATURES
FEATURES="${FEATURES} getbinpkg"
# Requerir firmas
FEATURES="${FEATURES} binpkg-request-signature"
Ejecute también getuto para que Portage configure el conjunto de claves necesario para la verificación:
root #
getuto
Las funciones adicionales de Portage se analizarán en el siguiente capítulo del manual.
Opcional: 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).
La mayoría de las distribuciones compilan sus paquetes con tanto soporte como sea posible, aumentando el tamaño de los programas y el tiempo de inicio, sin mencionar una enorme cantidad de dependencias. Con Gentoo, los usuarios pueden definir para qué opciones se debe compilar un paquete. Aquí es donde entra en juego 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 -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).
La configuración USE predeterminada se coloca en los archivos make.defaults del perfil de Gentoo utilizado por el sistema. Gentoo utiliza un complejo sistema de herencia para los perfiles del sistema, que no se tratará en profundidad durante el proceso de instalación. La forma más sencilla de comprobar la configuración USE actualmente activa es ejecutar emerge --info y seleccionar 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 ..."
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 /var/db/repos/gentoo/profiles/use.desc.
root #
less /var/db/repos/gentoo/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 /etc/portage/make.conf
USE="-gtk -gnome qt5 kde dvd alsa cdr"
Cuando se define un valor USE en /etc/portage/make.conf, se "agrega" a la lista de valores USE del sistema. Los valores USE se pueden eliminar globalmente agregando un signo menos - delante del valor en la lista. Por ejemplo, para deshabilitar la compatibilidad con entornos gráficos X, se puede configurar -X
:
USE="-X acl alsa"
Aunque es posible, configurar
-*
(que deshabilitará todos los valores USE excepto los especificados en make.conf) está "firmemente" desaconsejado y es imprudente. Los desarrolladores de ebuilds eligen ciertos valores USE predeterminados en ebuilds para evitar conflictos, mejorar la seguridad y evitar errores, entre otras razones. Deshabilitar "todos" los valores USE anulará el comportamiento predeterminado y puede causar problemas importantes.CPU_FLAGS_*
Algunas arquitecturas (incluidas AMD64/X86, ARM, PPC) tienen una variable USE_EXPAND llamada CPU_FLAGS_<ARCH>, donde <ARCH> se reemplaza con el nombre de la arquitectura del sistema relevante.
¡No te confundas! Los sistemas AMD64 y X86 comparten una arquitectura común, por lo que el nombre de variable adecuado para los sistemas AMD64 es CPU_FLAGS_X86.
Se usa para configurar la construcción para compilar en código ensamblador específico u otro intrínseco, generalmente escritos a mano o de otra manera adicional,
y no es lo mismo que pedirle al compilador que genere un código optimizado para una determinada característica de la CPU (por ejemplo, -march=
).
Los usuarios deben establecer esta variable además de configurar su COMMON_FLAGS como deseen.
Se necesitan algunos pasos para configurar esto:
root #
emerge --ask --oneshot app-portage/cpuid2cpuflags
Inspeccione la salida manualmente si tiene curiosidad:
root #
cpuid2cpuflags
Luego copie la salida en package.use:
root #
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
VIDEO_CARDS
La variable VIDEO_CARDS USE_EXPAND debe configurarse adecuadamente según las GPU disponibles. No es necesario configurar VIDEO_CARDS para una instalación de solo consola.
A continuación se muestra un ejemplo de una variable VIDEO_CARDS configurada correctamente. Sustituya el nombre del controlador que se utilizará.
VIDEO_CARDS="amdgpu radeonsi"
Los detalles de varias GPU se pueden encontrar en los artículos AMDGPU, Intel, Nouveau (Open Source) o NVIDIA (Propietario).
Opcional: Configurar la variable ACCEPT_LICENSE
A partir de la Propuesta de mejora 23 de Gentoo Linux (GLEP 23), se creó un mecanismo para permitir a los administradores de sistemas la capacidad de "regular el software que instalan con respecto a las licencias... Algunos quieren un sistema libre de cualquier software que no esté aprobado por OSI; otros simplemente sienten curiosidad por saber qué licencias aceptan implícitamente."[2] Con la motivación de tener un control más granular sobre del tipo de software que se ejecuta en un sistema Gentoo, nació la variable ACCEPT_LICENSE.
Durante el proceso de instalación, Portage considera los valores establecidos dentro de la variable ACCEPT_LICENSE para determinar si los paquetes solicitados cumplen con la determinación del administrador del sistema de una licencia aceptable. Aquí radica un problema: el repositorio de ebuilds de Gentoo está lleno de miles de ebuilds, lo que resulta en cientos de distintas licencias de software... ¿Implica esto que el administrador del sistema apruebe individualmente todas y cada una de las nuevas licencias de software? Afortunadamente no; GLEP 23 también describe una solución a este problema, un concepto llamado grupos de licencias.
Para facilitar la administración del sistema, se han agrupado licencias de software que son legalmente similares, cada una según su tipo. Las definiciones de los grupos de licencias están disponibles para su visualización y son administradas por el proyecto Licencias Gentoo. Los grupos de licencias están precedidos sintácticamente por un símbolo @
, mientras que una licencia individual no lo está, lo que permite distinguirlos fácilmente en la variable ACCEPT_LICENSE.
Algunos grupos de licencias comunes incluyen:
Nombre | Descripción |
---|---|
@GPL-COMPATIBLE |
Licencias compatibles con GPL aprobadas por la Free Software Foundation [a_license 1] |
@FSF-APPROVED |
Licencias de software libre aprobadas por la FSF (incluye @GPL-COMPATIBLE )
|
@OSI-APPROVED |
Licencias aprobadas por la Open Source Initiative [a_license 2] |
@MISC-FREE |
Licencias varias que probablemente sean software libre, es decir, que sigan la Definición de software libre [a_license 3] pero no están aprobadas ni por la FSF ni por la OSI |
@FREE-SOFTWARE |
Combina @FSF-APPROVED , @OSI-APPROVED , y @MISC-FREE .
|
@FSF-APPROVED-OTHER |
Licencias aprobadas por la FSF para "documentación libre" y "trabajos de uso práctico además de software y documentación" (incluidas las fuentes tipográficas) |
@MISC-FREE-DOCS |
Licencias varias para documentos libres y otros trabajos (incluidas fuentes tipográficas) que siguen la definición libre [a_license 4] pero NO están listadas en @FSF-APPROVED-OTHER .
|
@FREE-DOCUMENTS |
Combina @FSF-APPROVED-OTHER y @MISC-FREE-DOCS .
|
@FREE |
Metaconjunto de todas las licencias con libertad de usar, compartir, modificar y compartir modificaciones. Combina @FREE-SOFTWARE y @FREE-DOCUMENTS .
|
@BINARY-REDISTRIBUTABLE |
Licencias que permitan al menos la redistribución gratuita del software en formato binario. Incluye @FREE .
|
@EULA |
Acuerdos de licencia que intentan quitarle sus derechos. Son más restrictivos que "todos los derechos reservados" o requieren aprobación explícita. |
Los valores de licencia aceptables actualmente establecidos en todo el sistema se pueden ver a través de:
user $
portageq envvar ACCEPT_LICENSE
@FREE
Como se ve en el resultado, el valor predeterminado es permitir que solo se instale el software que se ha agrupado en la categoría @FREE
.
Se pueden definir licencias específicas o grupos de licencias para un sistema en las siguientes ubicaciones:
- Para todo el sistema dentro del perfil seleccionado: esto establece el valor predeterminado.
- Para todo el sistema dentro del archivo /etc/portage/make.conf. Los administradores del sistema anulan el valor predeterminado del perfil con el contenido de este archivo.
- Por paquete dentro del archivo /etc/portage/package.license.
- Por paquete dentro de un directorio de archivos Template:Ruta.
La licencia predeterminada para todo el sistema en el perfil se anula con el contenido de /etc/portage/make.conf:
# Anula el valor predeterminado ACCEPT_LICENSE del perfil
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"
Opcionalmente, los administradores del sistema también pueden definir licencias aceptadas por paquete como se muestra en el siguiente directorio de archivos de ejemplo. Tenga en cuenta que será necesario crear el directorio package.license si aún no existe:
root #
mkdir /etc/portage/package.license
Los detalles de la licencia de software para un paquete Gentoo individual se almacenan dentro de la variable LICENSE del ebuild asociado. Un paquete puede tener una o varias licencias de software, por lo que podría ser necesario especificar varias licencias aceptables para un único paquete.
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
La variable LICENSE en un ebuild es sólo una indicación para los desarrolladores y usuarios de Gentoo. No es una declaración legal y no hay garantía de que refleje la realidad. Se recomienda no confiar únicamente en la interpretación que haga el desarrollador de ebuilds de la licencia de un paquete de software; sino que verifique el paquete en profundidad, incluidos todos los archivos que se han instalado en el sistema.
Actualizar el conjunto @world
La actualización del conjunto @world del sistema es opcional y es poco probable que se realicen cambios funcionales a menos que se hayan realizado uno o más de los siguientes pasos opcionales:
- Se ha seleccionado un perfil objetivo diferente del archivo de stage.
- Se han configurado indicadores USE adicionales para los paquetes instalados.
Los lectores que estén realizando una 'ejecución rápida de instalación de Gentoo' pueden omitir con seguridad las actualizaciones del conjunto @world hasta después de que su sistema se haya reiniciado en el nuevo entorno de Gentoo.
Los lectores que estén realizando una ejecución lenta pueden hacer que Portage realice actualizaciones para cambios de paquetes, perfiles y/o indicadores USE en este momento:
root #
emerge --ask --verbose --update --deep --newuse @world
Eliminar paquetes obsoletos
Es importante hacer siempre depclean después de las actualizaciones del sistema para eliminar paquetes obsoletos. Revise el resultado cuidadosamente con emerge --depclean --pretend para ver si alguno de los paquetes que se van a eliminar debe conservarse si los usa personalmente. Para conservar un paquete que de otro modo se eliminaría, utilice emerge --noreplace foo.
root #
emerge --ask --pretend --depclean
Si está satisfecho, proceda con la limpieza de dependencias real:
root #
emerge --ask --depclean
Si se seleccionó un perfil objetivo de entorno de escritorio desde un archivo de stage que no es de escritorio, el proceso de actualización de @world podría extender en gran medida la cantidad de tiempo necesario para el proceso de instalación. Aquellos que tienen poco tiempo pueden actuar según esta 'regla general': cuanto más corto sea el nombre del perfil, menos específico será el conjunto @world del sistema. Cuanto menos específico sea el conjunto @world, menos paquetes requerirá el sistema. P.ej.:
- Seleccionar
default/linux/amd64/23.0
probablemente requerirá que se actualicen menos paquetes, mientras que - Seleccionar
default/linux/amd64/23.0/desktop/gnome/systemd
probablemente requerirá la instalación de más paquetes ya que el perfil de destino tiene unos conjuntos @system y @profile mas grandes: dependencias que dan soporte al entorno de escritorio GNOME.
Zona horaria
Este paso no se aplica a los usuarios de musl libc. Los usuarios que no sepan lo que eso significa deben realizar este paso.
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.
Seleccione la zona horaria para su sistema. Busque las zonas horarias disponibles en /usr/share/zoneinfo/:
root #
ls -l /usr/share/zoneinfo
total 352 drwxr-xr-x 2 root root 1120 Jan 7 17:41 Africa drwxr-xr-x 6 root root 2960 Jan 7 17:41 America drwxr-xr-x 2 root root 280 Jan 7 17:41 Antarctica drwxr-xr-x 2 root root 60 Jan 7 17:41 Arctic drwxr-xr-x 2 root root 2020 Jan 7 17:41 Asia drwxr-xr-x 2 root root 280 Jan 7 17:41 Atlantic drwxr-xr-x 2 root root 500 Jan 7 17:41 Australia drwxr-xr-x 2 root root 120 Jan 7 17:41 Brazil -rw-r--r-- 1 root root 2094 Dec 3 17:19 CET -rw-r--r-- 1 root root 2310 Dec 3 17:19 CST6CDT drwxr-xr-x 2 root root 200 Jan 7 17:41 Canada drwxr-xr-x 2 root root 80 Jan 7 17:41 Chile -rw-r--r-- 1 root root 2416 Dec 3 17:19 Cuba -rw-r--r-- 1 root root 1908 Dec 3 17:19 EET -rw-r--r-- 1 root root 114 Dec 3 17:19 EST -rw-r--r-- 1 root root 2310 Dec 3 17:19 EST5EDT -rw-r--r-- 1 root root 2399 Dec 3 17:19 Egypt -rw-r--r-- 1 root root 3492 Dec 3 17:19 Eire drwxr-xr-x 2 root root 740 Jan 7 17:41 Etc drwxr-xr-x 2 root root 1320 Jan 7 17:41 Europe ...
root #
ls -l /usr/share/zoneinfo/Europe/
total 256 -rw-r--r-- 1 root root 2933 Dec 3 17:19 Amsterdam -rw-r--r-- 1 root root 1742 Dec 3 17:19 Andorra -rw-r--r-- 1 root root 1151 Dec 3 17:19 Astrakhan -rw-r--r-- 1 root root 2262 Dec 3 17:19 Athens -rw-r--r-- 1 root root 3664 Dec 3 17:19 Belfast -rw-r--r-- 1 root root 1920 Dec 3 17:19 Belgrade -rw-r--r-- 1 root root 2298 Dec 3 17:19 Berlin -rw-r--r-- 1 root root 2301 Dec 3 17:19 Bratislava -rw-r--r-- 1 root root 2933 Dec 3 17:19 Brussels ...
Supuesto de zona horaria como Europe/Brussels.
OpenRC
El nombre de la zona horaria deseada se puede escribir en /etc/timezone:
root #
echo "Europe/Brussels" > /etc/timezone
Finalmente, el paquete sys-libs/timezone-data se puede reconfigurar, actualizando /etc/localtime, según la entrada /etc/timezone:
root #
emerge --config sys-libs/timezone-data
La biblioteca C del sistema utiliza el archivo /etc/localtime para conocer la zona horaria en la que se encuentra el sistema.
systemd
Se emplea una manera ligeramente diferente cuando se utiliza systemd. Se genera un enlace simbólico:
root #
ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime
Después, cuando systemd se esté ejecutando, la zona horaria y las configuraciones relacionadas se pueden configurar con el comando timedatectl.
Configurar localizaciones
Este paso no se aplica a los usuarios de musl libc. Los usuarios que no saben lo que eso significa deben realizar este paso.
Generación de 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 sistema, sino también las reglas para ordenar cadenas, presentar fechas y horas, etc. Los nombres de las localizaciones son sensibles a mayúsculas y deben se escritas exactamente como se ha indicado. Una lista completa de las localizaciones disponibles se puede encontrar en el archivo /usr/share/i18n/SUPPORTED.
Las localizaciones soportadas por un sistema debe estar definidas en el archivo /etc/locale.gen.
root #
nano /etc/locale.gen
Las siguientes localizaciones son un ejemplo de como disponer tanto de Inglés (Estados Unidos) como de Alemán (Alemán/Alemania) junto con los formatos de caracteres (como UTF-8).
en_US ISO-8859-1
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES.UTF-8 UTF-8
Muchas aplicaciones requieren al menos una configuración regional UTF-8 para costruirse correctamente.
El siguiente paso es ejecutar la orden locale-gen. Esta ordene genera las localizaciones especificadas en el archivo /etc/locale.gen.
root #
locale-gen
Para verificar que las localizaciones seleccionadas están ahora disponibles, ejecute locale -a.
En instalaciones con systemd, se puede usar localectl, p. ej. localectl set-locale ... o localectl list-locales.
Selección de localización
Una vez hecho esto, es el momento de establecer la configuración regional de todo el sistema. Nuevamente se usa eselect, 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] C.utf8 [3] en_US [4] en_US.iso88591 [5] en_US.utf8 [6] de_DE [7] de_DE.iso88591 [8] de_DE.utf8 [9] POSIX [ ] (free form)
Con eselect locale set <NÚMERO> se puede seleccionar la localización correcta:
root #
eselect locale set 2
Se puede realizar también manualmente usando el archivo /etc/env.d/02locale y para systemd el archivo /etc/locale.conf:
LANG="de_DE.UTF-8"
LC_COLLATE="C.UTF-8"
La configuración de localizaciones previene mensajes de advertencia o error durante la compilación del núcleo y otro software más adelante durante la instalación.
Ahora recargue sus variables de entorno:
root #
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
Para obtener orientación adicional acerca del proceso de selección de configuración regional, lea también la Guía de localización y la guía UTF-8.
Referencias
Opcional: Instalar firmware y/o microcódigo
Firmware
Firmware para Linux
Antes de comenzar a configurar las secciones del núcleo, es conveniente tener en cuenta que algunos dispositivos físicos requieren la instalación de firmware adicional, a veces no compatible con FOSS, en el sistema antes de que funcionen correctamente. Este suele ser el caso de las interfaces de red inalámbrica que se encuentran comúnmente en las computadoras de escritorio y portátiles. Los chips de video modernos de proveedores como AMD, Nvidia e Intel, a menudo también requieren archivos de firmware externos para ser completamente funcionales. La mayoría del firmware para dispositivos hardware modernos se puede encontrar en el paquete sys-kernel/linux-firmware.
Se recomienda tener instalado el paquete sys-kernel/linux-firmware antes del reinicio inicial del sistema para tener el firmware disponible en caso de que sea necesario:
root #
emerge --ask sys-kernel/linux-firmware
La instalación de determinados paquetes de firmware suele requerir la aceptación de las licencias de firmware asociadas. Si es necesario, visite la sección de manejo de licencias del Manual para obtener ayuda sobre cómo aceptar licencias.
Es importante tener en cuenta que los símbolos del núcleo que se construyen como módulos (M) cargarán sus archivos de firmware asociados desde el sistema de archivos cuando el núcleo los cargue. No es necesario incluir los archivos de firmware del dispositivo dentro de la imagen binaria del núcleo para los símbolos cargados como módulos.
Architecture specific firmware
Placeholder for architecture-specific firmware information
Microcódigo
Además del específico para el hardware de gráficos y las interfaces de red, las CPUs también pueden requerir actualizaciones de firmware. Normalmente, este tipo de firmware se conoce como microcódigo. A veces se necesitan revisiones más recientes del microcódigo para parchear la inestabilidad, los problemas de seguridad u otros errores diversos en el hardware de la CPU.
Las actualizaciones de microcódigo para las CPUs de AMD se distribuyen dentro del paquete sys-kernel/linux-firmware mencionado anteriormente. El microcódigo para CPUs Intel se puede encontrar dentro del paquete sys-firmware/intel-microcode, que deberá instalarse por separado. Consulte el artículo sobre Microcódigo para obtener más información sobre cómo aplicar actualizaciones de microcódigo.
Configuración y compilación del núcleo
Ahora es el momento de configurar y compilar las fuentes del núcleo. A efectos de instalación, se presentarán tres estrategias para la gestión del núcleo; sin embargo, en cualquier momento posterior a la instalación, se puede cambiar de estrategia.
Clasificadas de menor a mayor complicación:
- Propuesta de automatización total: núcleos de la distribución
- Un Núcleo de la Distribución se usa para configurar, compilar e instalar automáticamente el núcleo Linux, sus módulos asociados y (opcionalmente, pero habilitado por defecto) un archivo initramfs. Las actualizaciones futuras del núcleo están completamente automatizadas, ya que se manejan a través del administrador de paquetes, como cualquier otro paquete del sistema. Es posible proporcionar un archivo de configuración del núcleo personalizado si es necesaria la personalización. Este es el proceso menos complicado y es perfecto para los nuevos usuarios de Gentoo debido a que funciona de forma inmediata y ofrece una participación mínima por parte del administrador del sistema.
- La manera completamente manual
- Las nuevas fuentes del núcleo se instalan a través del administrador de paquetes del sistema. El núcleo se configura, compila e instala manualmente utilizando eselect kernel y una serie de comandos make. Las futuras actualizaciones del núcleo repiten el proceso manual de configuración, compilación e instalación de los archivos del núcleo. Este es el proceso más complejo, pero ofrece el máximo control sobre el proceso de actualización del núcleo.
- Estrategia híbrida: Genkernel
- Las nuevas fuentes del núcleo se instalan a través del administrador de paquetes del sistema. Los administradores del sistema pueden usar la herramienta genkernel de Gentoo para configurar, compilar, e instalar automáticamente el núcleo Linux, sus módulos asociados y (opcionalmente, pero no habilitado por defecto) un archivo initramfs archivo. Es posible proporcionar un archivo de configuración del núcleo personalizado si es necesaria la personalización. La configuración, compilación e instalación futuras del núcleo requieren la participación del administrador del sistema en la forma de ejecutar eselect kernel, genkernel y potencialmente otros comandos para cada actualización.
El eje alrededor del cual se construyen todas las distribuciones es el núcleo Linux. Es la capa entre los programas del usuario y el hardware del sistema. Aunque el manual proporciona a sus usuarios varias fuentes posibles del núcleo, hay disponible una lista más completa y con descripciones más detalladas en la Página de descripción general del núcleo.
Tareas de instalación del núcleo como, por ejemplo, copiar la imagen del núcleo a /boot o la Partición del Sistema EFI, generar un initramfs y/o Imagen unificada del núcleo, que actualiza la configuración del gestor de arranque, se puede automatizar con installkernel. Es posible que los usuarios deseen configurar e instalar sys-kernel/installkernel antes de continuar. Consulte la Sección de instalación del núcleo a continuación para obtener más información.
Núcleos de la distrubución
Núcleos de la Distribución son ebuilds que cubren el proceso completo de descomprimir, configurar, compilar e instalar el kernel. La principal ventaja de este método es que el administrador de paquetes actualiza los kernels a nuevas versiones como parte de la actualización de @world. Esto no requiere más participación que ejecutar un comando emerge. Los núcleos de la distribución tienen de forma predeterminada una configuración que admite la mayoría del hardware; sin embargo, se ofrecen dos mecanismos para la personalización: savedconfig y fragmentos de configuración. Consulte la página del proyecto para más detalles sobre la configuración.
Instalando un núcleo de distribución
Antes de instalar el paquete del núcleo, se debe agregar el indicador USE dracut para el paquete sys-kernel/installkernel en /etc/portage/package.use:
sys-kernel/installkernel dracut
Es posible que los usuarios también deseen habilitar en este momento indicadores USE adicionales para sys-kernel/installkernel. Consulte la sección Instalación/Kernel#Installkernel para obtener más detalles.
Para construir un núcleo con parches de Gentoo desde el código fuente, escriba:
root #
emerge --ask sys-kernel/gentoo-kernel
Los administradores de sistema que quieran evitar compilar las fuentes del núcleo localmente pueden utilizar imágenes del núcleo precompiladas:
root #
emerge --ask sys-kernel/gentoo-kernel-bin
Opcional: Módulos del núcleo firmados
Los módulos del núcleo en el núcleo de distribución preconstruido (sys-kernel/gentoo-kernel-bin) ya están firmados. Para firmar los módulos de núcleos creados a partir del código fuente, habilite el indicador USE modules-sign y, opcionalmente, especifique qué clave usar para la firma en /etc/portage/make.conf:
USE="modules-sign"
# Opcionalmente, para utilizar claves de firma personalizadas.
MODULES_SIGN_KEY="/ruta/a/clave_núcleo.pem"
MODULES_SIGN_CERT="/ruta/a/clave_núcleo.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado.
MODULES_SIGN_HASH="sha512" # sha512 por defecto.
Si no se especifica MODULES_SIGN_KEY, el sistema de compilación del kernel generará una clave, que se almacenará en /usr/src/linux-x.y.z/certs. Se recomienda generar manualmente una clave para garantizar que sea la misma para cada versión del kernel. Se puede generar una clave con:
root #
openssl req -new -nodes -utf8 -sha256 -x509 -outform PEM -out kernel_key.pem -keyout kernel_key.pem
MODULES_SIGN_KEY y MODULES_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se establecen al mismo valor.
OpenSSL hará algunas preguntas sobre el usuario para el que se genera la clave, se recomienda responderlas lo más detalladamente posible.
Guarde la clave en un lugar seguro, como mínimo, que solo el usuario root pueda leerla. Verifiquelo con:
root #
ls -l kernel_key.pem
-r-------- 1 root root 3164 Jan 4 10:38 kernel_key.pem
Si la salida es algo distinta a lo anterior, corrija los permisos con:
root #
chown root:root kernel_key.pem
root #
chmod 400 kernel_key.pem
Opcional: Firmar la imagen del núcleo (Arranque Seguro)
La imagen del núcleo en el núcleo de distribución preconstruido (sys-kernel/gentoo-kernel-bin) ya está firmada para su uso con Secure Boot. Para firmar la imagen del núcleo de los núcleos creados a partir del código fuente, habilite el indicador USE secureboot y, opcionalmente, especifique qué clave usar para la firma en /etc/portage/make.conf. Tenga en cuenta que firmar la imagen del núcleo para usarla con Secureboot requiere que los módulos del núcleo también estén firmados, se puede usar la misma clave para firmar tanto la imagen del núcleo como los módulos del núcleo:
USE="modules-sign secureboot"
# Opcionalmente, para utilizar claves de firma personalizadas.
MODULES_SIGN_KEY="/ruta/a/kernel_key.pem"
MODULES_SIGN_CERT="/ruta/a/kernel_key.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado.
MODULES_SIGN_HASH="sha512" # El valor predeterminado es sha512.
# Opcionalmente, para arrancar con secureboot habilitado, puede ser la misma clave de firma o una diferente..
SECUREBOOT_SIGN_KEY="/ruta/a/kernel_key.pem"
SECUREBOOT_SIGN_CERT="/ruta/a/kernel_key.pem"
SECUREBOOT_SIGN_KEY y SECUREBOOT_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se establecen en el mismo valor.
Para este ejemplo, la misma clave que se generó para firmar los módulos se utiliza para firmar la imagen del kernel. También es posible generar y utilizar una segunda clave independiente para firmar la imagen del kernel. Se puede volver a utilizar el mismo comando OpenSSL que en la sección anterior.
Consulte la sección anterior para obtener instrucciones sobre cómo generar una nueva clave, los pasos pueden repetirse si se debe usar una clave distinta para firmar la imagen del núcleo.
Para arrancar correctamente con el arranque seguro habilitado, el gestor de arranque utilizado también debe estar firmado y el firmware UEFI o Shim debe aceptar el certificado. Esto se explicará más adelante en el manual.
Actualización y limpieza
Una vez instalado el núcleo, el administrador de paquetes lo actualizará automáticamente a versiones más recientes. Las versiones anteriores se conservarán hasta que se solicite al administrador de paquetes que limpie los paquetes obsoletos. Para recuperar espacio en disco, los paquetes obsoletos se pueden eliminar ejecutando periódicamente emerge con la opción --depclean
:
root #
emerge --depclean
Alternativamente, para limpiar específicamente versiones antiguas del núcleo:
root #
emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin
Tareas posteriores a la instalación/actualización
Los núcleos de distribución pueden reconstruir módulos del núcleo instalados por otros paquetes. Portage proporciona una manera con el indicador USE dist-kernel que forma parte de linux-mod-r1.eclass y controla una dependencia de subslot en virtual/dist-kernel.
Este ajuste USE debe aplicarse globalmente si se utiliza un núcleo de distribución dentro de /etc/portage/make.conf. Al hacerlo, se permitirá que paquetes como sys-fs/zfs y x11-drivers/nvidia-drivers se reconstruyan automáticamente para un núcleo recién actualizado y, si fuera el caso, se volverá a generar el initramfs también.
Reconstrucción manual de initramfs o de la Imagen de Núcleo Unificada
Si es necesario, active manualmente tales reconstrucciones, después de una actualización del núcleo, ejecutando:
root #
emerge --ask @module-rebuild
Si se necesita algún módulo del núcleo (por ejemplo, ZFS) en el inicio temprano, reconstruya el initramfs también a través de:
root #
emerge --config sys-kernel/gentoo-kernel
root #
emerge --config sys-kernel/gentoo-kernel-bin
Instalar las fuentes del núcleo
Esta sección solo es relevante cuando se usa lo siguiente genkernel (híbrido) o configuración manual de la gestión del núcleo.
El uso de sys-kernel/installkernel no es estrictamente obligatorio, pero sí muy recomendable. Cuando se instale este paquete, el proceso de instalación del núcleo se delegará a installkernel. Esto permite instalar varias versiones diferentes del núcleo simultaneamente, así como administrar y automatizar varias tareas relacionadas con la instalación del núcleo que se describen después en el manual. Instálalo ahora con:
root #
emerge --ask sys-kernel/installkernel
Al instalar y compilar el núcleo para sistemas basados en amd64, Gentoo recomienda el paquete sys-kernel/gentoo-sources.
Elija una fuente del núcleo adecuada e instálela usando emerge:
root #
emerge --ask sys-kernel/gentoo-sources
Esto instalará las fuentes del núcleo Linux en /usr/src/ usando la versión específica del kernel en el nombre de la ruta. No creará un enlace simbólico de forma automática a no ser que el indicador USE symlink esté habilitado en el paquete de fuentes del núcleo elegido.
Es una convencion que se mantenga el enlace simbólico /usr/src/linux, de modo que se refiera a las fuentes que correspondan con el núcleo que se está ejecutando actualmente. Sin embargo, este enlace simbólico no se creará por defecto. Una manera fácil de crear el enlace simbólico es utilizar el módulo kernel de eselect.
Para obtener más información sobre la finalidad del enlace simbólico y cómo administrarlo, consulte Kernel/Upgrade.
Primero, enumere todos los núcleos instalados:
root #
eselect kernel list
Available kernel symlink targets: [1] linux-6.6.21-gentoo
Para crear un enlace simbólico llamado linux, use:
root #
eselect kernel set 1
root #
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-6.6.21-gentoo
Alternativa: Configuración manual
Introducción
En caso de que se lo haya perdido, esta sección requiere las fuentes del núcleo estén instalafas. Asegúrese de obtener las fuentes del núcleo relevantes, luego regrese aquí para el resto de la sección.
La configuración manual del núcleo se considera comúnmente como uno de los procedimientos más difíciles que debe realizar un administrador de sistemas. Nada es menos cierto: después de configurar algunos núcleos, ¡nadie recuerda que fuera difícil!
Sin embargo, una cosa sí es cierta: es vital conocer el sistema para configurar manualmente un núcleo. La mayor cantidad de información se puede obtener instalando sys-apps/pciutils que contiene la orden lspci:
root #
emerge --ask sys-apps/pciutils
Dentro de la jaula chroot, se pueden ignorar con tranquilidad las advertencias sobre pcilib (como pcilib: cannot open /sys/bus/pci/devices) que pudiera mostrar lspci.
Otra fuente de información sobre nuestro sistema consiste en ejecutar lsmod para ver los módulos del nucleo que ha usado el CD de instalación y tener así buenas indicaciones sobre qué habilitar.
Ahora vaya al directorio de las fuentes del núcleo y ejecute make menuconfig. Esto generará una pantalla de configuración basada en menús.
root #
cd /usr/src/linux
root #
make menuconfig
La configuración del núcleo Linux tiene muchas, muchas secciones. Veamos primero una lista con algunas opciones que deben ser activadas (en caso contrario Gentoo no funcionará o no funcionará adecuadamente sin ajustes adicionales). También tenemos la guía Gentoo de configuración del núcleo en la wiki de Gentoo que también podría ayudar.
Habilitar las opciones esenciales
Al usar sys-kernel/gentoo-sources, se recomienda encarecidamente que se habiliten las opciones de configuración específicas de Gentoo. Ésto asegura que estén disponibles un mínimo de características del núcleo requeridas para el funcionamiento adecuado:
Gentoo Linux --->
Generic Driver Options --->
[*] Gentoo Linux support
[*] Linux dynamic and persistent device naming (userspace devfs) support
[*] Select options required by Portage features
Support for init systems, system and service managers --->
[*] OpenRC, runit and other script based systems and managers
[*] systemd
Naturalmente, la elección en las últimas dos líneas depende del sistema de inicio seleccionado (OpenRC vs. systemd). No está de más tener habilitado el soporte para ambos sistemas de inicio.
Al usar sys-kernel/vanilla-sources, las selecciones adicionales para los sistemas de inicio no estarán disponibles. Es posible habilitar el soporte, pero va más allá del alcance del manual.
Habilitar soporte para componentes típicos del sistema
Asegúrese de que todos los controladores que son vitales para el arranque del sistema (como los controladores SATA, la compatibilidad con dispositivos de bloque NVMe, la compatibilidad con sistemas de archivos, etc.) estén compilados dentro del núcleo y no como un módulos; de lo contrario, es posible que el sistema no pueda arranque por completo.
A continuación seleccione con exactitud el tipo de procesador. Se recomienda habilitar las funcionalidades MCE (si están disponibles) de manera que los usuarios puedan ser informados de cualquier problema en este hardware. En algunas arquitecturas (como x86_64) estos errores no son presentados a través de dmesg sino de /dev/mcelog. Para ello se requiere el paquete app-admin/mcelog.
A continuación seleccione Maintain a devtmpfs file system to mount at /dev de modo que los archivos de dispositivo críticos estén disponibles cuanto antes en el proceso de inicio (CONFIG_DEVTMPFS y CONFIG_DEVTMPFS_MOUNT):
Device Drivers --->
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
Verificar que se ha activado el soporte de disco SCSI (CONFIG_BLK_DEV_SD):
Device Drivers --->
SCSI device support --->
<*> SCSI device support
<*> SCSI disk support
Device Drivers --->
<*> Serial ATA and Parallel ATA drivers (libata) --->
[*] ATA ACPI Support
[*] SATA Port Multiplier support
<*> AHCI SATA support (ahci)
[*] ATA BMDMA support
[*] ATA SFF support (for legacy IDE and PATA)
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)
Verifique que se haya habilitado el soporte básico para NVMe:
Device Drivers --->
<*> NVM Express block device
Device Drivers --->
NVME Support --->
<*> NVM Express block device
No está de más habilitar el siguiente soporte NVMe adicional:
[*] NVMe multipath support
[*] NVMe hardware monitoring
<M> NVM Express over Fabrics FC host driver
<M> NVM Express over Fabrics TCP host driver
<M> NVMe Target support
[*] NVMe Target Passthrough support
<M> NVMe loopback device support
<M> NVMe over Fabrics FC target driver
< > NVMe over Fabrics FC Transport Loopback Test driver (NEW)
<M> NVMe over Fabrics TCP target support
Vaya ahora a File Systems y seleccione el soporte para los sistemas de archivos que se vayan a usar en el sistema. No compile como módulo el sistema de archivos que vaya a utilizar para el sistema de archivos raíz, de lo contrario su sistema Gentoo podría no conseguir montar la partición raíz. También deberá seleccionar Virtual memory y /proc file system. Selecionar una o más de las siguientes opciones según las necesidades del sistema:
File systems --->
<*> Second extended fs support
<*> The Extended 3 (ext3) filesystem
<*> The Extended 4 (ext4) filesystem
<*> Btrfs filesystem support
<*> XFS filesystem support
DOS/FAT/NT Filesystems --->
<*> MSDOS fs support
<*> VFAT (Windows-95) fs support
Pseudo Filesystems --->
[*] /proc file system support
[*] Tmpfs virtual memory file system support (former shm fs)
Si está usando PPPoE para conectarse a Internet, o está usando un módem telefónico, habilite las siguientes opciones (CONFIG_PPP, CONFIG_PPP_ASYNC y CONFIG_PPP_SYNC_TTY):
Device Drivers --->
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP over Ethernet
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
Las dos opciones de compresión no están de más aunque no son necesarias, como tampoco lo es la opción PPP sobre Ethernet, que sólo podría utilizarse cuando se configure un núcleo en modo PPPoE.
No olvide incluir el soporte en el núcleo para su tarjeta de red (Ethernet o inalámbrica).
Muchos sistemas también tienen varios núcleos de microprocesador a su disposición, así que es importánte activar Symmetric multi-processing support (CONFIG_SMP):
Processor type and features --->
[*] Symmetric multi-processing support
En sistemas multi-núcleo, cada núcleo cuenta como un procesador.
Si utiliza dispositivos de entrada USB (como un teclado o un ratón) u otros, no olvide activarlos también:
Device Drivers --->
HID support --->
-*- HID bus support
<*> Generic HID driver
[*] Battery level reporting for HID devices
USB HID support --->
<*> USB HID transport layer
[*] USB support --->
<*> xHCI HCD (USB 3.0) support
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD (USB 1.1) support
<*> Unified support for USB4 and Thunderbolt --->
Opcional: módulos del núcleo firmados
Para firmar automáticamente los módulos del núcleo, habilite CONFIG_MODULE_SIG_ALL:
[*] Enable loadable module support
-*- Module signature verification
[*] Automatically sign all modules
Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->
Opcionalmente, cambie el algoritmo hash si lo desea.
Para exigir que todos los módulos estén firmados con una firma válida, habilite CONFIG_MODULE_SIG_FORCE también:
[*] Enable loadable module support
-*- Module signature verification
[*] Require modules to be validly signed
[*] Automatically sign all modules
Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->
Para usar una clave personalizada, especifique la ubicación de esta clave en CONFIG_MODULE_SIG_KEY; si no se especifica, el sistema de compilación del núcleo generará una clave. Se recomienda generar uno manualmente. Esto se puede hacer con:
root #
openssl req -new -nodes -utf8 -sha256 -x509 -outform PEM -out kernel_key.pem -keyout kernel_key.pem
OpenSSL hará algunas preguntas sobre el usuario para el que se genera la clave; se recomienda completar estas preguntas lo más detalladamente posible.
Guarde la clave en un lugar seguro; como mínimo, solo el usuario root debe poder leerla. Verifique esto con:
root #
ls -l kernel_key.pem
-r-------- 1 root root 3164 Jan 4 10:38 kernel_key.pem
Si esto genera algo distinto a lo anterior, corrija los permisos con:
root #
chown root:root kernel_key.pem
root #
chmod 400 kernel_key.pem
-*- Cryptographic API --->
Certificates for signature checking --->
(/path/to/kernel_key.pem) File name or PKCS#11 URI of module signing key
Para firmar también módulos del núcleo externos instalados por otros paquetes a través de linux-mod-r1.eclass
, habilite el indicador USE modules-sign globalmente:
USE="modules-sign"
# Opcional, cuando se usen claves personalizadas.
MODULES_SIGN_KEY="/ruta/a/kernel_key.pem"
MODULES_SIGN_CERT="/ruta/a/kernel_key.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado
MODULES_SIGN_HASH="sha512" # sha512 es el predeterminado
MODULES_SIGN_KEY y MODULES_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se configuran con el mismo valor.
Opcional: firmar la imagen del núcleo (Arranque Seguro)
Al firmar la imagen del núcleo (para usar en sistemas con Secure Boot habilitado), se recomienda configurar las siguientes opciones de configuración del núcleo:
General setup --->
Kexec and crash features --->
[*] Enable kexec system call
[*] Enable kexec file based system call
[*] Verify kernel signature during kexec_file_load() syscall
[*] Require a valid signature in kexec_file_load() syscall
[*] Enable ""image"" signature verification support
[*] Enable loadable module support
-*- Module signature verification
[*] Require modules to be validly signed
[*] Automatically sign all modules
Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->
Security options --->
[*] Integrity subsystem
[*] Basic module for enforcing kernel lockdown
[*] Enable lockdown LSM early in init
Kernel default lockdown mode (Integrity) --->
[*] Digital signature verification using multiple keyrings
[*] Enable asymmetric keys support
-*- Require all keys on the integrity keyrings be signed
[*] Provide keyring for platform/firmware trusted keys
[*] Provide a keyring to which Machine Owner Keys may be added
[ ] Enforce Machine Keyring CA Restrictions
Donde ""imagen"" es un marcador de posición para el nombre de la imagen específica de la arquitectura. Estas opciones, de arriba a abajo: exige que la imagen del núcleo en una llamada kexec deba estar firmada (kexec permite reemplazar el núcleo in situ), exige que los módulos del núcleo estén firmados, habilita el bloqueo modo integridad (evita la modificación del núcleo en tiempo de ejecución) y habilita varios claveros.
En arquitecturas que no admiten de forma nativa la descompresión del núcleo (por ejemplo, arm64 y riscv), el núcleo debe construirse con su propio descompresor (zboot):
Device Drivers --->
Firmware Drivers --->
EFI (Extensible Firmware Interface) Support --->
[*] Enable the generic EFI decompressor
Después de la compilación del núcleo, como se explica en la siguiente sección, se debe firmar la imagen del núcleo. Primero instale app-crypt/sbsigntools y luego firme la imagen del núcleo:
root #
emerge --ask app-crypt/sbsigntools
root #
sbsign /usr/src/linux-x.y.z/ruta/a/kernel-image --cert /ruta/a/kernel_key.pem --key /ruta/a/kernel_key.pem --out /usr/src/linux-x.y.z/ruta/a/kernel-image
Para este ejemplo, la misma clave que se generó para firmar los módulos se utiliza para firmar la imagen del núcleo. También es posible generar y utilizar una segunda clave especial para firmar la imagen del núcleo. Se puede volver a utilizar el mismo comando OpenSSL que en la sección anterior.
Luego proceda con la instalación.
Para firmar automáticamente los ejecutables EFI instalados por otros paquetes, habilite el indicador USE secureboot globalmente:
USE="modules-sign secureboot"
# Opcionalmente, para usar claves personalizadas.
MODULES_SIGN_KEY="/ruta/a/kernel_key.pem"
MODULES_SIGN_CERT="/ruta/a/kernel_key.pem" # Solo es necesario si MODULES_SIGN_KEY no contiene también el certificado.
MODULES_SIGN_HASH="sha512" # El predeterminado es sha512
# Opcionalmente, para iniciar con el arranque seguro habilitado, puede ser la misma clave de firma o una diferente.
SECUREBOOT_SIGN_KEY="/ruta/a/kernel_key.pem"
SECUREBOOT_SIGN_CERT="/ruta/a/kernel_key.pem"
SECUREBOOT_SIGN_KEY y SECUREBOOT_SIGN_CERT pueden ser archivos diferentes. Para este ejemplo, el archivo pem generado por OpenSSL incluye tanto la clave como el certificado adjunto y, por lo tanto, ambas variables se configuran con el mismo valor.
Al generar una Imagen del núcleo unificada con
ukify
de systemd, la imagen del núcleo se firmará automáticamente antes de incluirla en la imagen del núcleo unificada y no es necesario firmarla manualmente.Architecture specific kernel configurations
Placeholder for architecture-specific kernel build information
Compiling and installing
Placeholder for instructions for building and installing the kernel sources
Alternativa: Genkernel
En caso de que se lo haya perdido, esta sección requiere las fuentes del núcleo estén instalafas. Asegúrese de obtener las fuentes del núcleo relevantes, luego regrese aquí para el resto de la sección.
Genkernel solo debe ser considerado por usuarios que tengan una necesidad requerida que solo Genkernel puede satisfacer, de lo contrario se recomienda usar el núcleo de distribución o compilar manualmente el suyo propio, ya que hará que el mantenimiento de un sistema Gentoo sea mucho más simple. Un ejemplo de por qué genkernel es más difícil de administrar es la falta de integración con sys-kernel/installkernel. Esto significa que un usuario no obtendrá el mismo nivel de automatización que brindan los otros métodos, como que las imágenes unificadas del núcleo se deban crear manualmente al usar Genkernel.
Genkernel proporciona un archivo de configuración del núcleo genérico y compilará el núcleo y un initramfs, luego instalará los binarios resultantes en las ubicaciones apropiadas. Esto da como resultado un soporte de hardware mínimo y genérico para el primer arranque del sistema y permite un control de actualización adicional y personalización de la configuración del núcleo en el futuro.
Queda avisado: si bien el uso de genkernel para mantener el núcleo brinda a los administradores del sistema un mayor control de actualización sobre el núcleo del sistema, initramfs y otras opciones, "requerirán" un compromiso de tiempo y esfuerzo para materializar las futuras actualizaciones del núcleo a medida que se lanzan nuevas fuentes. Aquellos que busquen un enfoque de no intervención para el mantenimiento del núcleo deberían usar un núcleo de distribución.
Para mayor claridad, es un "concepto erróneo" creer que genkernel genera automáticamente una configuración del núcleo "personalizada" para el hardware en el que se ejecuta; utiliza una configuración del núcleo determinada que admite la mayoría del hardware genérico y maneja automáticamente los comandos make necesarios para ensamblar e instalar el núcleo, los módulos asociados y el archivo initramfs.
Grupo de licencias de software binario redistribuible
Si el paquete de firmware de linux se instaló previamente, salte a la sección instalación.
Como requisito previo, debido a que el valor USE firwmare
está habilitado de forma predeterminada para el paquete sys-kernel/genkernel, el administrador de paquetes también intentará instalar el paquete sys-kernel/linux-firmware. Las licencias de software binario redistribuible deben aceptarse antes de que se instale el linux-firmware.
Este grupo de licencias se puede aceptar de forma global para cualquier paquete agregando @BINARY-REDISTRIBUTABLE
como un valor ACCEPT_LICENSE en el archivo /etc/portage/make. conf. Se puede aceptar exclusivamente para el paquete de linux-firmware agregando una inclusión específica a través de un archivo /etc/portage/package.license/linux-firmware.
Si es necesario, revise los métodos para aceptar licencias de software disponibles en el capítulo Instalando el sistema base del manual, luego realice algunos cambios para las licencias de software aceptables.
Si no sabe qué decidir sobre este tema, lo siguiente funcionará:
root #
mkdir /etc/portage/package.license
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
Instalación
Además de las explicaciones y los requisitos previos, instale el paquete sys-kernel/genkernel:
root #
emerge --ask sys-kernel/genkernel
Generación
Compile las fuentes del núcleo ejecutando genkernel all. Sin embargo, tenga en cuenta que genkernel compila un núcleo que admite una amplia gama de hardware para diferentes arquitecturas de computadoras, por lo que esta compilación puede tardar bastante en finalizar.
Si la partición/volumen raíz usa un sistema de archivos que no sea ext4 o XFS, puede ser necesario configurar manualmente el núcleo usando genkernel --menuconfig all para agregar soporte integrado en el núcleo para el sistema de archivos en particular (es decir, no construir el soporte al sistema de archivos como un módulo).
Los usuarios de LVM2 deben añadir
--lvm
como argumento a la siguiente orden genkernel.root #
genkernel --mountboot --install all
Una vez finalice genkernel, se generarán e instalarán un núcleo y un sistema de archivos de inicio en ram (initramfs) en el directorio /boot. Los módulos asociados se instalarán en el directorio /lib/modules. El initramfs se iniciará inmediatamente después de cargar el núcleo para realizar la detección automática de hardware (al igual que en los entornos de imagen de disco vivo).
root #
ls /boot/vmlinu* /boot/initramfs*
root #
ls /lib/modules
Instalación del núcleo
Installkernel
Installkernel se puede utilizar para automatizar la instalación del núcleo, la generación de initramfs, la generación de imagen del núcleo unificada y/o la configuración del gestor de arranque, entre otras cosas. sys-kernel/installkernel implementa dos caminos para lograr esto: el installkernel tradicional que se origina en Debian y el kernel-install de systemd. Cuál elegir depende, entre otras cosas, del gestor de arranque del sistema. De forma predeterminada, el kernel-install de systemd se usa en los perfiles de systemd, mientras que el installkernel tradicional es el predeterminado para otros perfiles.
Si no está seguro, siga la subsección "Diseño tradicional" a continuación.
systemd-boot
Cuando se utiliza systemd-boot (anteriormente gummiboot) como gestor de arranque, se debe utilizar kernel-install de systemd. Por lo tanto, asegúrese de que los indicadores USE systemd y systemd-boot estén habilitados en sys-kernel/installkernel y luego instale el paquete relevante para systemd-boot.
En sistemas OpenRC:
sys-apps/systemd-utils boot kernel-install
sys-kernel/installkernel systemd systemd-boot
root #
emerge --ask sys-apps/systemd-utils
En sistemas systemd:
sys-apps/systemd boot
sys-kernel/installkernel systemd-boot
root #
emerge --ask sys-apps/systemd
GRUB
Los usuarios de GRUB pueden usar kernel-install de systemd o el tradicional installkernel de Debian. El indicador USE systemd cambia entre estas implementaciones. Para ejecutar grub-mkconfig automáticamente al instalar el kernel, habilite el indicador USE grub.
sys-kernel/installkernel grub
root #
emerge --ask sys-kernel/installkernel
Diseño tradicional, otros gestores de arranque (por ejemplo, lilo, etc.)
En el diseño tradicional (por ejemplo, LILO, etc.) /boot se utiliza de forma predeterminada si los indicadores grub, systemd-boot y uki no están habilitadas. No se requiere ninguna acción adicional.
Construir un initramfs
En ciertos casos es necesario construir un initramfs - un initial ram-based file system. La razón más habitual es cuando ubicaciones importantes del sistema de archivos (como /usr/ o /var/) están en particiones separadas. Con initramfs, estas particiones se pueden montar utilizando las herramientas disponibles dentro de initramfs. La configuración predeterminada del Project:Distribution Kernel requiere un initramfs.
Sin initramfs, existe riesgo de que el sistema no arranque correctamente ya que las herramientas responsables de montar los sistemas de archivos requieren información que reside en los sistemas de archivos desmontados. Un initramfs extraerá los archivos necesarios en un archivo que se utiliza inmediatamente después de que se inicie el núcleo, pero antes de que el control se entregue a la herramienta init. Los scripts en initramfs se asegurarán de que las particiones estén montadas correctamente antes de que el sistema continúe arrancando.
Si se usa genkernel, se debe usar tanto para construir el núcleo como el initramfs. Cuando se utiliza genkernel solo para generar un initramfs, es fundamental pasar
--kernel-config=/ruta/a/kernel.config
a genkernel o el initramfs generado puede que no funcione con un núcleo creado manualmente. Tenga en cuenta que los núcleos creados manualmente van más allá del alcance del soporte del manual. Consulte el artículo configuración del núcleo para obtener más información.Installkernel puede generar automáticamente un initramfs al instalar el núcleo si el indicador USE dracut está habilitado:
sys-kernel/installkernel dracut
Alternativamente, se puede llamar a dracut manualmente para generar un archivo initramfs. Instale sys-kernel/dracut primero, luego haga que genere un initramfs:
root #
emerge --ask sys-kernel/dracut
root #
dracut --kver=6.6.21-gentoo
El initramfs se almacenará en /boot/. El archivo resultante se puede encontrar simplemente enumerando los archivos que comienzan con initramfs:
root #
ls /boot/initramfs*
Opcional: Creación de una imagen de núcleo unificada
Una Imagen de Núcleo Unificada (UKI) combina, entre otras cosas, el núcleo, el initramfs y la línea de comandos del núcleo en un único ejecutable. Dado que la línea de comandos del núcleo está integrada en la imagen del núcleo unificada, se debe especificar antes de generar la imagen del núcleo unificada (ver más abajo). Tenga en cuenta que cualquier argumento de la línea de comandos del núcleo proporcionado por el gestor de arranque o el firmware durante el arranque se ignora cuando se inicia con el arranque seguro habilitado.
Una imagen de núcleo unificada requiere un cargador de código auxiliar; actualmente el único disponible es systemd-stub. Para habilitarlo:
En sistemas systemd:
sys-apps/systemd boot
En sistemas OpenRC:
sys-apps/systemd-utils boot kernel-install
Installkernel puede generar automáticamente una imagen de núcleo unificada usando dracut o ukify, habilitando el indicador respectivo. El indicador USE uki también debe estar habilitado para instalar la imagen del núcleo unificada generada en el directorio $ESP/EFI/Linux en la partición del sistema EFI (ESP).
Para dracut:
sys-kernel/installkernel dracut uki
uefi="yes"
kernel_cmdline="argumentos-para-la-linea-comandos-del-núcleo"
Para ukify:
sys-apps/systemd ukify # Para sistemas systemd
sys-apps/systemd-utils ukify # Para sistemas OpenRC
sys-kernel/installkernel dracut ukify uki
argumentos-para-la-linea-comandos-del-núcleo
Tenga en cuenta que, si bien dracut puede generar tanto initramfs como una imagen de núcleo unificada, ukify solo puede generar esta última y, por lo tanto, el initramfs debe generarse por separado con dracut.
Imagen del Núcleo Unificada Genérica
El Template:Paquete preconstruido puede instalar opcionalmente una imagen del núcleo unificada genérica preconstruida que contiene un initramfs genérico que puede arrancar la mayoría de los sistemas basados en systemd. Se puede instalar habilitando el indicador USE generic-uki y configurando installkernel para no generar un initramfs personalizado o una imagen del núcleo unificada:
sys-kernel/gentoo-kernel-bin generic-uki
sys-kernel/installkernel -dracut -ukify uki
Arranque Seguro
La imagen genérica del núcleo unificada distribuida opcionalmente por sys-kernel/gentoo-kernel-bin ya está prefirmada. La forma de firmar una imagen del núcleo unificada generada localmente depende de si se utiliza dracut o ukify. Tenga en cuenta que la ubicación de la clave y el certificado debe ser la misma que SECUREBOOT_SIGN_KEY y SECUREBOOT_SIGN_CERT como se especifica en /etc/portage/make.conf.
Para dracut:
uefi="yes"
kernel_cmdline="argumentos-para-la-linea-comandos-del-núcleo"
uefi_secureboot_key="/ruta/a/kernel_key.pem"
uefi_secureboot_cert="/ruta/a/kernel_key.pem"
Para ukify:
[UKI]
SecureBootPrivateKey=/ruta/a/kernel_key.pem
SecureBootCertificate=/ruta/a/kernel_key.pem
Reconstrucción de módulos del núcleo externos
Los módulos externos del núcleo instalados por otros paquetes a través de linux-mod-r1.eclass
deben reconstruirse para cada nueva versión del núcleo. Cuando se utilizan los núcleos de distribución, esto se puede automatizar habilitando el indicador dist-kernel globalmente.
*/* dist-kernel
Los módulos del núcleo externos también se pueden reconstruir manualmente con:
root #
emerge --ask @module-rebuild
Módulos del núcleo
Listado de módulos del núcleo disponibles
Es opcional el hacer un listado manual de los módulos que se necesitan para el hardware. udev normalmente cargará todos los módulos para el hardware que se detecte al ser conectado, en la mayoría de los casos. Sin embargo, no es perjudicial que se enumeren los módulos que se cargarán automáticamente. Los módulos no se pueden cargar dos veces; se cargan o se descargan. A veces, el hardware exótico requiere ayuda para cargar sus controladores.
Los módulos que deben cargarse durante cada arranque se pueden agregar a los archivos /etc/modules-load.d/*.conf en el formato de un módulo por línea. En cambio cuando se necesitan opciones adicionales para los módulos, deben indicarse en los archivos /etc/modprobe.d/*.conf.
Para ver todos los módulos disponibles para una versión de núcleo en concreto, lance la siguiente orden find. No olvide sustituir "<versión del núcleo>" con la versión apropiada del núcleo a buscar:
root #
find /lib/modules/<versión del núcleo>/ -type f -iname '*.o' -or -iname '*.ko' | less
Forzar la carga de módulos concretos del núcleo
Para forzar la carga del núcleo para que cargue el módulo 3c59x.ko (que es el controlador para una familia de tarjetas de red 3Com específica), edite /etc/modules-load.d/network.conf e ingrese el nombre del módulo dentro de él.
root #
mkdir -p /etc/modules-load.d
root #
nano -w /etc/modules-load.d/network.conf
Tenga en cuenta que el sufijo del archivo .ko del módulo es insignificante para el mecanismo de carga y no se incluye en el archivo de configuración:
3c59x
Continúe la instalación con Configuring the system.
Información del sistema de ficheros
Etiquetas e Identificadores únicos (UUIDs) del sistema de archivo
Tanto MBR (BIOS) como GPT incluyen soporte para etiquetas del sistema de archivo y para UUIDs del sistema de archivo. Estos atributos pueden estar definidos en /etc/fstab como alternativas a usar por el comando mount cuando intente encontrar y montar los dispositivos de bloques. Las etiquetas del sistema de archivo y los UUIDs son identificados por el prefijo LABEL y UUID y pueden ser visualizados con el comando blkid.
root #
blkid
Si se destruye el sistema de ficheros dentro de una partición, entonces los valores de la etiqueta del sistema de ficheros y del UUID también serán alterados o eliminados.
Debido a su unicidad, se recomienda a los lectores que estén usando una tabla de particiones al estilo MBR que utilicen UUIDs en lugar e etiquetas para definir volúmenes que se puedan montar en /etc/fstab.
Los UUIDs de los sistemas de ficheros en un volumen LVM y sus instantáneas LVM snapshots son idénticos, por lo tanto se debe evitar el uso de UUIDs para montar volúmenes LVM.
Etiquetas de particiones y UUIDs
Los sistemas con soporte para etiquetas de disco GPT ofrecen opciones 'robustas' adicionales para definir particiones en /etc/fstab. Las etiquetas de partición y los UUID de partición se pueden usar para identificar las particiones individuales del dispositivo de bloque, independientemente del sistema de archivos que se haya elegido para la partición en sí. Las etiquetas de partición y los UUID se identifican mediante los prefijos PARTLABEL y/o PARTUUID y se pueden ver claramente en la terminal ejecutando el comando blkid.
La salida para un sistema EFI amd64 que utiliza los UUID de especificación de partición detectable puede ser como la siguiente:
root #
blkid
/dev/sr0: BLOCK_SIZE="2048" UUID="2023-08-28-03-54-40-00" LABEL="ISOIMAGE" TYPE="iso9660" PTTYPE="PMBR" /dev/loop0: TYPE="squashfs" /dev/sda2: PARTUUID="0657fd6d-a4ab-43c4-84e5-0933c84b4f4f" /dev/sda3: PARTUUID="1cdf763a-5b4c-4dbf-99db-a056c504e8b2" /dev/sda1: PARTUUID="c12a7328-f81f-11d2-ba4b-00a0c93ec93b"
Si bien no siempre es cierto para las etiquetas de partición, el uso de un UUID para identificar una partición en fstab proporciona una garantía de que el gestor de arranque no se confundirá al buscar un determinado volumen, incluso si se cambia el sistema de archivos o reescrito posteriormente. Usar los archivos de dispositivos de bloque predeterminados más antiguos (/dev/sd*N) para definir las particiones en fstab tiene su riesgo para los sistemas a los que se agregan o eliminan regularmente dispositivos de bloque SATA.
El nombrado de los dispositivos de bloque depende de una variedad de factores, entre ellos cómo y en qué orden se conectan los discos al sistema. Se podrían incluso mostrar en un orden diferente dependiendo de qué dispositivos detecta el núcleo en primer lugar en los momentos iniciales del proceso de arranque. Dicho esto, a menos que el administrador del sistema juegue constantemente con el orden de los discos, usar los nombres predeterminados de los dispositivos es un método simple y sencillo.
Acerca de fstab
En Linux, todas las particiones utilizadas por el sistema se deben listar en /etc/fstab. Este archivo contiene los puntos de montaje de esas particiones (dónde se encuentran en la estructura del sistema de archivos), cómo se deben montar y con qué opciones especiales (de forma automática o no, si los usuarios pueden montar o no, etc.)
Crear el archivo fstab
Si el sistema de inicio que se utiliza es systemd, los UUID de la partición cumplen con la Especificación de Partición Detectable como se indica en Preparación de los discos, y el sistema utiliza UEFI, entonces se puede omitir la creación de un fstab, ya que systemd monta automáticamente las particiones que siguen la especificación.
El archivo en/etc/fstab utiliza un sintaxis similar a una una tabla. Cada línea consta de seis campos, separados por espacios en blanco (espacios, tabuladores o una mezcla de ambos). Cada campo tiene su propio significado:
- El primer campo muestra el dispositivo de bloques o sistema de archivo remoto que debe ser montado. Varios tipos de identificadores de dispositivo están disponibles para nodos de dispositivo de bloques, incluyendo rutas al archivo especial de dispositivo, etiquetas e identificadores únicos (UUIDs) del sistema de archivo y etiquetas e identificadores únicos (UUIDs) de particiones.
- El segundo campo muestra el punto de montaje en el que la partición se debe montar.
- El tercer campo muestra el tipo de sistema de ficheros usado por la partición.
- El cuarto campo muestra las opciones de montaje usadas por mount cuando se quiere montar la partición. Como cada sistema de ficheros tiene sus propias opciones de montaje, se recomienda a los administradores de sistemas leer la página del manual de mount (man mount) para un listado completo. Las opciones de montaje múltiples se deben separar por comas.
- El quinto campo lo utiliza dump para determinar si la partición debe ser volcada o no. Esto generalmente se puede dejar a
0
(cero). - El sexto campo lo utiliza fsck para determinar el orden en que los sistemas de ficheros se deben revisar en caso de que el sistema no se apagara correctamente. Para el sistema de ficheros raíz se debe definir a
1
mientras que para el resto debería ser2
(o 0 si no se necesita comprobación del sistema de archivo).
El archivo predeterminado /etc/fstab proporcionado en los archivos stage de Gentoo no es un archivo fstab válido, sino una plantilla que se puede usar para ingresar valores reales.
root #
nano /etc/fstab
Sistemas DOS/BIOS obsoleto
Echemos un vistazo a cómo anotar las opciones para la partición /boot. Este es sólo un ejemplo y debe modificarse de acuerdo con las decisiones de partición tomadas anteriormente en la instalación. En el ejemplo de particionamiento para amd64, /boot normalmente es la partición /dev/sda1, con xfs como sistema de archivos recomendado. Es necesario comprobarlo durante el arranque, por lo que anotaríamos:
# Ajuste las diferencias de formato y/o particiones adicionales creadas en el paso "Preparación de los discos".
/dev/sda1 /boot defaults 0 2
Algunos administradores de sistemas quieren que la partición /boot no se monte automáticamente para mejorar la seguridad de su sistema. Esas personas deberían sustituir defaults
por noauto
. Esto significa que esos usuarios deberán montar manualmente esta partición cada vez que quieran usarla.
Añadir las reglas que coinciden con el esquema de esquema de particionamiento decido anteriormente y añadir las reglas para dispositivos tales como lector(es) de CD-ROM, y por supuesto, si se utilizan otras particiones o unidades, añadirlos también.
Abajo se muestra un ejemplo más elaborado de un fichero /etc/fstab:
# Ajuste las diferencias de formato y/o particiones adicionales creadas en el paso "Preparación de los discos".
/dev/sda1 /boot defaults 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / xfs defaults,noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,user 0 0
Sistemas UEFI
A continuación se muestra un ejemplo de un archivo /etc/fstab para un sistema que se iniciará mediante firmware UEFI:
# Ajuste las diferencias de formato y/o particiones adicionales creadas en el paso "Preparación de los discos".
/dev/sda1 /efi vfat umask=0077 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / xfs defaults,noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,user 0 0
Placeholder for architecture-specific fstab examples.
Cuando se utiliza auto
en el tercer campo, hace que la orden mount averigüe el sistema de ficheros. Esto se recomienda para los medios extraíbles ya que se pueden crear con uno o más de un sistema de ficheros. La opción user
en el cuarto campo permite que los usuarios que no sean root puedan montar el CD.
Para mejorar el rendimiento, la mayoría de los usuarios querrían agregar la opción de montaje noatime
, lo que da como resultado un sistema más rápido ya que los tiempos de acceso no se registran (de todos modos, generalmente no son necesarios). Esto también se recomienda para sistemas con unidades de estado sólido (SSD). Es posible que los usuarios deseen considerar lazytime
en su lugar.
Debido a la degradación del rendimiento, no se recomienda definir la opción de montaje
discard
en /etc/fstab. Por lo general, es mejor programar los descartes de bloques periódicamente mediante un programador de tareas como cron o un temporizador (systemd). Consulte Ejecuciones periódicas de fstrim para obtener más información.Compruebe el fichero /etc/fstab y salga para continuar.
Información de la red
Es importante tener en cuenta que las siguientes secciones se proporcionan para ayudar al lector a configurar rápidamente su sistema para formar parte de una red de área local.
Para los sistemas que ejecutan OpenRC, una referencia más detallada para la configuración de red está disponible en la sección configuración de red avanzada, que se trata casi al final del manual. Es posible que los sistemas con necesidades de red más específicas deban revisarse primero allí y luego regresar aquí para continuar con el resto de la instalación.
Para una configuración de red systemd más específica, consulte la parte de redes del artículo systemd.
Hostname
Una de las elecciones que debe hacer el administrador del sistema es dar nombre a su PC. Esto parece bastante fácil, pero muchos usuarios tienen dificultades para encontrar el nombre apropiado para el host (hostname). Para poder avanzar, sepa que la decisión no es definitiva, se puede cambiar después. En los ejemplos a continuación, se usa el nombre de host tux.
Establecer hostname (OpenRC o systemd)
root #
echo tux > /etc/hostname
systemd
Para configurar el hostname del sistema para un sistema que actualmente está "ejecutando" systemd, se puede utilizar la utilidad hostnamectl. Sin embargo, durante el proceso de instalación, se debe utilizar el comando systemd-firstboot (consulte más adelante en el manual).
Para establecer el nombre de host como "tux", se ejecutaría:
root #
hostnamectl hostname tux
Vea la ayuda ejecutando hostnamectl --help o man 1 hostnamectl.
Red
Hay muchas opciones disponibles para configurar interfaces de red. Esta sección cubre solo algunos métodos. Elija el que parezca más adecuado según la configuración necesaria.
DHCP mediante dhcpd (con cualquier sistema de inicio)
En la mayoría de redes LAN opera un servidor DHCP. Si es este el caso, entonces se recomienda usar el programa dhcpd para obtener una dirección IP.
Para instalarlo:
root #
emerge --ask net-misc/dhcpcd
Para habilitarlo y luego iniciar el servicio en sistemas OpenRC:
root #
rc-update add dhcpcd default
root #
rc-service dhcpcd start
Para habilitar el servicio en sistemas systemd:
root #
systemctl enable dhcpcd
Con estos pasos completados, la próxima vez que arranque el sistema, dhcpcd debería obtener una dirección IP del servidor DHCP. Consulte el artículo Dhcpcd para obtener más detalles.
netifrc (OpenRC)
Esta es una forma particular de configurar la red usando Netifrc en OpenRC. Existen otros métodos para configuraciones más simples como Dhcpcd.
Configurar la red
Durante la instalación de Gentoo Linux, se configuró la red. Sin embargo, eso fue para el entorno vivo de instalación y no para el entorno instalado. Ahora se realiza la configuración de la red para el sistema de Gentoo Linux que se está instalando.
Se puede obtener información más detallada sobre redes, incluyendo temas más avanzados como bonding, bridging, 802.1 Q VLANs o conexiones de red inalámbrica en la sección de configuración avanzada de la red.
Toda la información de red se recopila en /etc/conf.d/net. Utiliza una sencilla - pero no tan intuitiva - sintaxis. ¡No tema! Todo se explica a continuación. Hay disponible un ejemplo completamente comentado que abarca muchas configuraciones diferentes en /usr/share/doc/netifrc-*/net.example.bz2.
En primer lugar se debe instalar net-misc/netifrc:
root #
emerge --ask --noreplace net-misc/netifrc
Por defecto se usa DHCP. Para que funcione, se debe instalar un cliente DHCP. Esto se describe más adelante cuando se describa la instalación de las herramientas del sistema necesarias.
Si la conexión de red se debe configurar con opciones específicas DHCP o porque no se utiliza DHCP en absoluto, entonces abra /etc/conf.d/net:
root #
nano /etc/conf.d/net
Defina tanto config_eth0 como routes_eth0 para introducir información de la dirección IP y del enrutamiento:
Esto asume que el interfaz de red se llama eth0. Esto, sin embargo, depende mucho del sistema. Se recomienda asumir que el interfaz se llama igual que cuando se nombra el interfaz arrancando desde los medios de instalación en caso de que éstos sean lo suficientemente recientes. Se puede encontrar más información en la sección Nombrado de las interfaces de red.
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"
Para utilizar DHCP, se debe definir config_eth0:
config_eth0="dhcp"
Por favor, lea /usr/share/doc/netifrc-*/net.example.bz2 para obtener una lista de opciones de configuración adicionales. Asegúrese de leer también la página del manual de DHCP si necesita definir determinadas opciones.
Si el sistema tiene varias interfaces de red, entonces repita los pasos anteriores para config_eth1, config_eth2, etc.
Ahora guarde la configuración y salga para continuar.
Inicio automático de red en el arranque
Para que los interfaces de red se activen en el arranque, se necesita añadirlos al nivel de ejecución por defecto (default).
root #
cd /etc/init.d
root #
ln -s net.lo net.eth0
root #
rc-update add net.eth0 default
Si el sistema dispone de varios interfaces de red, entonces se necesita crear los archivos net.* necesarios tal y como se hizo con net.eth0.
Si después de arrancar el sistema se descubre que el nombre de la interfaz de red (que actualmente está documentado como eth0
) está equivocado, entonces tendremos que seguir los siguientes pasos para corregirlo:
- Actualizar el archivo /etc/conf.d/net indicando el nombre correcto de la interfaz (como
enp3s0
oenp5s0
en lugar deeth0
). - Crear un nuevo enlace simbólico (como /etc/init.d/net.enp3s0).
- Eliminar el enlace simbólico antiguo (rm /etc/init.d/net.eth0).
- Añadir el nuevo enlace al nivel de ejecución por defecto (default).
- Eliminar el enalce anterior con rc-update del net.eth0 default.
El archivo hosts
Un importante próximo paso puede ser informar a este nuevo sistema sobre otros hosts en su entorno de red. Los nombres de host de red se pueden definir en el archivo /etc/hosts. Agregar nombres de host aquí permitirá la resolución de nombres de host a direcciones IP para hosts que no sean resueltos por el servidor de nombres.
root #
nano /etc/hosts
# Esto define el presente sistema y debe estar configurado
127.0.0.1 tux.reddecasa tux localhost
# Definiciones opcionales de sistemas adicionales en la red
192.168.0.5 juana.reddecasa juana
192.168.0.6 benito.reddecasa benito
Guarde y salga del editor para continuar.
Información del sistema
Contraseña del usuario root
Establezca la contraseña del usuario root con la orden passwd.
root #
passwd
Se creará más adelante una cuenta de usuario normal para las operaciones diarias.
Configuración de inicio y arranque
OpenRC
Cuando se usa OpenRC con Gentoo, se utiliza /etc/rc.conf para configurar los servicios, el arranque y parada de un sistema. Abra etc/rc.conf y disfrute de todos los comentarios presentes en el archivo. Revise la configuración y cambie lo que sea necesario.
root #
nano /etc/rc.conf
A continuación, abra /etc/conf.d/keymaps para gestionar la configuración del teclado. Edítelo para configurar y seleccionar el teclado correcto.
root #
nano /etc/conf.d/keymaps
Tenga un cuidado especial la variable keymap. Si el mapa de teclado incorrecto está activado, entonces se producirán resultados extraños cuando tecleemos.
Para terminar, edite /etc/conf.d/hwclock para definir las opciones del reloj. Edítelo conforme a las preferencias personales.
root #
nano /etc/conf.d/hwclock
Si el reloj hardware no está utilizando UTC, entonces es necesario definir clock="local"
en el archivo, de lo contrario, el sistema podría mostrar un comportamiento de desfase en el reloj.
systemd
En primer lugar, se recomienda ejecutar systemd-machine-id-setup y luego systemd-firstboot, que preparará varios componentes del sistema para configurarlos correctamente para el primer arranque en el nuevo entorno de systemd. Al pasar las siguientes opciones, se le pedirá al usuario que establezca una configuración regional, zona horaria, nombre de host, contraseña de root y valores de shell de root. También asignará una ID de máquina aleatoria a la instalación:
root #
systemd-machine-id-setup
root #
systemd-firstboot --prompt
A continuación los usuarios deben ejecutar systemctl para restablecer todos los archivos de unidad instalados a los valores de política preestablecidos:
root #
systemctl preset-all --preset-mode=enable-only
Es posible ejecutar todos los cambios preestablecidos, pero esto puede restablecer cualquier servicio que ya se haya configurado durante el proceso:
root #
systemctl preset-all
Estos dos pasos ayudarán a garantizar una transición fluida desde el entorno live hasta el primer arranque de la instalación.
Bitácora del sistema
OpenRC
Algunas herramientas no están incluidas en el archivo stage3 porque varios paquetes proporcionan la misma funcionalidad. Ahora es el momento de que el usuario decida cual instalar.
La primera herramienta sobre la que tomar una decisión es el mecanismo de registro para el sistema. Unix y Linux tienen un excelente historial de capacidades de registro; si fuera necesario, todo lo que sucede en el sistema se podría registrar en un archivo de registro.
Gentoo ofrece varias utilidades de registro. Algunas de ellas son:
- app-admin/sysklogd, que es el conjunto tradicional de demonios de bitácoras. La configuración por defecto de las bitácoras funciona sin problemas con solo instalarlo, por lo que ésta es una buena opción para usuarios que están aprendiendo.
- app-admin/syslog-ng, una bitácora del sistema avanzada. Requiere una configuración adicional para cualquier situación distinta a la de registrarlo todo en un solo fichero de gran tamaño. Los usuarios más avanzados pueden elegir este paquete basándose en su potencial de registro, pero se debe recordar que una configuración adicional es necesaria para escenarios en los que el registro sea de cierta complejidad.
- app-admin/metalog que es una bitácora del sistema altamente configurable.
Es posible que haya otras utilidades de registro del sistema disponibles a través del repositorio ebuild de Gentoo, ya que el número de paquetes disponibles aumenta diariamente.
Si se va a utilizar syslog-ng, se recomienda instalar y configurar a continuación logrotate, syslog-ng no proporciona ningún mecanismo de rotación para los archivos de registro. Sin embargo las versiones más nuevas (>= 2.0) de sysklogd manejan su propia rotación de registros.
Para instalar la bitácora del sistema de su elección, instálela con emerge. En OpenRC agréguela al nivel de arranque predeterminado usando rc-update. El siguiente ejemplo instala y activa app-admin/sysklogd como la utilidad syslog del sistema:
root #
emerge --ask app-admin/sysklogd
root #
rc-update add sysklogd default
systemd
Si bien se presenta una selección de mecanismos de registro para sistemas basados en OpenRC, systemd incluye un registrador integrado llamado servicio systemd-journald. El servicio systemd-journald es capaz de manejar la mayor parte de la funcionalidad de registro descrita en la sección anterior del registro del sistema. Es decir, la mayoría de las instalaciones que ejecutarán systemd como administrador del sistema y de servicios pueden "omitir de forma segura" la adición de utilidades syslog adicionales.
Consulte man journalctl para obtener más detalles sobre el uso de journalctl para consultar y revisar los registros del sistema.
Por varias razones, como sería el caso de reenviar registros a un servidoe central, puede ser importante incluir mecanismos de registro del sistema "redundantes" en un sistema basado en systemd. Esto es algo inusual para la audiencia típica del manual y se considera un caso de uso avanzado. Por lo tanto, no está cubierto por el manual.
Opcional: Demonio Cron
OpenRC
Aunque es opcional y no es necesario para todos los sistemas, es aconsejable instalar un demonio cron.
Un demonio cron ejecuta comandos en intervalos programados. Los intervalos pueden ser diarios, semanales o mensuales, una vez cada martes, una vez cada dos semanas, etc. Un administrador de sistema inteligente aprovechará el demonio cron para automatizar las tareas rutinarias de mantenimiento del sistema.
Todos los demonios cron admiten altos niveles de granularidad para las tareas programadas y, por lo general, incluyen la capacidad de enviar un correo electrónico u otra forma de notificación si una tarea programada no se completa como se esperaba.
Gentoo ofrece varios demonios cron posibles, incluyendo:
- sys-process/cronie - cronie se basa en el cron original y tiene mejoras de seguridad y configuración como la capacidad de usar PAM y SELinux.
- sys-process/dcron: este demonio cron ligero pretende ser simple y seguro, con las funciones suficientes para seguir siendo útil.
- sys-process/fcron: un programador de comandos con capacidades extendidas sobre cron y anacron.
- sys-process/bcron: un sistema cron más reciente diseñado teniendo en cuenta la seguridad en las operaciones. Para hacer esto, el sistema se divide en varios programas separados, cada uno responsable de una tarea separada, con comunicaciones estrictamente controladas entre las partes.
cronie
El siguiente ejemplo usa sys-process/cronie:
root #
emerge --ask sys-process/cronie
Agregue cronie al nivel de ejecución predeterminado del sistema, que lo arrancará automáticamente al inicio:
root #
rc-update add cronie default
Alternativa: dcron
root #
emerge --ask sys-process/dcron
Si dcron es el agente cron con el que se proseguirá, se debe ejecutar un comando de inicialización adicional:
root #
crontab /etc/crontab
Alternativa: fcron
root #
emerge --ask sys-process/fcron
Si fcron es el controlador de tareas programadas seleccionado, se requiere un paso adicional tras emerge:
root #
emerge --config sys-process/fcron
Alternativa: bcron
bcron es un agente cron más reciente con separación de privilegios incorporada.
root #
emerge --ask sys-process/bcron
systemd
De manera similar al registro del sistema, los sistemas basados en systemd incluyen soporte para tareas programadas listas para usar en forma de "temporizadores". Los temporizadores systemd pueden ejecutarse a nivel de sistema o de usuario e incluir la misma funcionalidad que proporcionaría un demonio cron tradicional. A menos que sean necesarias capacidades redundantes, la instalación de un programador de tareas adicional, como un demonio cron, generalmente es innecesaria y se puede omitir de manera segura.
Opcional: Indexar Archivos
Para disponer de un índice en su sistema de archivos que proporcionará capacidades para la localización rápida de archivos, instale sys-apps/mlocate.
root #
emerge --ask sys-apps/mlocate
Opcional: Shell de acceso remoto
La configuración predeterminada de opensshd no permite que root inicie sesión como usuario remoto. Cree un usuario no root y configúrelo adecuadamente para permitir el acceso posterior a la instalación si es necesario, o ajuste /etc/ssh/sshd_config para permitir root.
Para poder acceder al sistema de forma remota después de la instalación, sshd debe estar configurado para iniciarse en el arranque.
OpenRC
Para añadir el script de inicio sshd al nivel de ejecución por defecto en OpenRC:
root #
rc-update add sshd default
Si se necesita acceso a la consola serie (que es posible en el caso de servidores remotos), se debe configurar agetty.
Descomente la sección de la consola serie en /etc/inittab:
root #
nano -w /etc/inittab
# SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
systemd
Para habilitar el servidor SSH, ejecute:
root #
systemctl enable sshd
Para habilitar la compatibilidad con la consola serie, ejecute:
root #
systemctl enable getty@tty1.service
Opcional: Completado de shell
Bash
Bash es el shell predeterminado para los sistemas Gentoo y, por lo tanto, la instalación de extensiones de completado puede ayudar a mejorar la eficiencia y la conveniencia para administrar el sistema. El paquete app-shells/bash-completion instalará completaciones disponibles para comandos específicos de Gentoo, así como muchos otros comandos y utilidades comunes:
root #
emerge --ask app-shells/bash-completion
Después de la instalación, el completado de bash para comandos específicos se puede gestionar a través de eselect. Consulte la sección Integraciones de completados de Shell del artículo de bash para obtener más detalles.
Sincronización temporal
Es importante utilizar algún método de sincronización para el reloj del sistema. Esto generalmente se hace a través del protocolo y el software NTP. Existen otras implementaciones que utilizan el protocolo NTP, como Chrony.
Para usar Chrony, por ejemplo:
root #
emerge --ask net-misc/chrony
OpenRC
En OpenRC, ejecute:
root #
rc-update add chronyd default
systemd
En systemd, ejecute:
root #
systemctl enable chronyd.service
Alternativamente, los usuarios de systemd pueden desear utilizar el sencillo cliente SNTP systemd-timesyncd que se instala de forma predeterminada.
root #
systemctl enable systemd-timesyncd.service
Herramientas del Sistema de Archivos
Dependiendo de los sistemas de archivos utilizados, puede ser necesario instalar las utilidades del sistema de archivos requeridas (para verificar la integridad del sistema de archivos, (re)formatear sistemas de archivos adicionales, etc.). Tenga en cuenta que las herramientas del espacio de usuario para ext4 (sys-fs/e2fsprogs) ya están instaladas como parte del conjunto @system.
La siguiente tabla enumera las herramientas a instalar si se necesitan determinadas herramientas del sistema de archivos en el entorno instalado.
Sistema de ficheros | Paquete |
---|---|
XFS | sys-fs/xfsprogs |
ext4 | sys-fs/e2fsprogs |
VFAT (FAT32, ...) | sys-fs/dosfstools |
Btrfs | sys-fs/btrfs-progs |
ZFS | sys-fs/zfs |
JFS | sys-fs/jfsutils |
Se recomienda que sys-block/io-scheduler-udev-rules esté instalado para el correcto comportamiento del planificador con, por ejemplo, dispositivos nvme:
root #
emerge --ask sys-block/io-scheduler-udev-rules
Para obtener más información acerca de los sistemas de archivo en Gentoo, echar un vistazo al articulo sistemas de archivos
Herramientas de Red
Si la red se configuró previamente en el paso Configurar el sistema y la configuración de la red está completa, entonces esta sección de 'herramientas de red' se puede omitir con seguridad. En ese caso, continúe con la sección sobre Configurar un cargador de arranque.
Instalar un cliente DHCP
La mayoría de los usuarios necesitarán un cliente DHCP para conectarse a su red. Si no se instaló ninguno, es posible que el sistema no pueda conectarse a la red, lo que imposibilitará la descarga posterior de un cliente DHCP.
Un cliente DHCP obtiene automáticamente una dirección IP para una o más interfaces de red mediante scripts netifrc. Recomendamos el uso de net-misc/dhcpcd (ver también dhcpcd):
root #
emerge --ask net-misc/dhcpcd
Opcional: Instalar un cliente PPPoE
Si se usa PPP para conectarse a internet, instale el paquete net-dialup/ppp:
root #
emerge --ask net-dialup/ppp
Opcional: Instalar las herramientas de red inalámbricas
Si se va a conectar el sistema a una red inalámbrica, instale el paquete net-wireless/iw para redes abiertas o WEP networks y el paquete net-wireless/wpa_supplicant para redes WPA o WPA2. iw también es de utilidad para diagnósticos básicos y escaneo de redes inalámbricas.
root #
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Ahora continúe con Configurar el cargador de arranque.
Placeholder for architecture-specific bootloader installation
Reiniciar el sistema
Salga del entorno chroot y desmonte todas las particiones que continúen montadas. Luego escriba la orden mágica da inicio a la auténtica prueba final: reboot.
(chroot) livecd #
exit
livecd~#
cd
livecd~#
umount -l /mnt/gentoo/dev{/shm,/pts,}
livecd~#
umount -R /mnt/gentoo
livecd~#
reboot
¡No olvide retirar la imagen live, de lo contrario puede ser arrancada de nuevo en lugar del sistema Gentoo recién instalado!
Una vez reiniciado en el nuevo entorno Gentoo, es aconsejable finalizar con Finalizando la instalación de Gentoo.
Administración del usuario
Añadir un usuario para uso cotidiano
Trabajar como root en un sistema Unix/Linux es peligroso y debe evitarse tanto como sea posible. Por tanto se recomienda encarecidamente añadir una o mas cuentas de usuario normal para el uso cotidiano del sistema.
Los grupos a los que pertenece el usuario definen que actividades puede realizar. La siguiente tabla muestra una lista de los grupos más importantes:
Grupo | Descripción |
---|---|
audio | Habilita cuentas de usuarios para acceder a los dispositivos de audio. |
cdrom | Habilita cuentas de usuarios para que puedan acceder de forma directa a dispositivos de lectura óptica. |
floppy | Habilita cuentas de usuarios para acceder directamente a dispositivos mecánicos antiguos conocidos como unidades de disquete. Este grupo generalmente no se utiliza en sistemas actuales. |
portage | Habilite cuentas para poder acceder a ciertos recursos disponibles para el grupo Portage. Esto es útil para el desarrollo de Gentoo y resolución de problemas. |
usb | Habilita cuentas de usuarios para acceder a los dispositivos USB. |
video | Habilita cuentas de usuarios para acceder al hardware de captura de vídeo y a la aceleración por hardware. |
wheel | Permite que las cuentas de usuaris puedan utilizar el comando su ("usuario sustituto"), que permite cambiar a la cuenta root u otras cuentas. Para sistemas de usuario único que incluyen una cuenta root, es una buena idea agregar a este grupo el usuario normal principal. |
Por ejemplo, para crear un usuario llamado larry que pertenezca a los grupos wheel, users y audio, acceda al sistema como root (solo root puede crear usuarios) y ejecute useradd:
Login:
root
Password: (Introduzca la contraseña de root)
Al configurar contraseñas para cuentas de usuario normal, es una buena práctica de seguridad evitar el uso de la misma contraseña o una similar a la configurada para el usuario root.
Los autores del manual recomendaron utilizar una contraseña de al menos 16 caracteres de longitud, con un contenido exclusivo y completamente diferente a la del resto de usuarios del sistema.
root #
useradd -m -G users,wheel,audio -s /bin/bash larry
root #
passwd larry
Password: (Introduzca una contraseña para larry) Re-enter password: (Repita la contraseña como comprobación)
Elevación de privilegios temporal
Si alguna vez este usuario necesita realizar alguna tarea como root, puede utilizar su - para obtener temporalmente privilegios de root. Otra forma es utilizar el paquete sudo (app-admin/sudo) o la utilidad doas (app-admin/doas) los cuales, correctamente configurados, son muy seguros.
Deshabilitar el login de root
Para evitar que posibles acciones de amenazas inicien sesión como root, eliminar la contraseña de root y/o deshabilitar el inicio de sesión de root pueden ayudar a mejorar la seguridad.
Para deshabilitar el login de root:
root #
passwd -l root
Para eliminar la contraseña de root y deshabilitar su login:
root #
passwd -dl root
Limpieza de disco
Eliminación de archivos de instalación
Una vez finalizada la instalación de Gentoo y reiniciado el sistema, si todo ha ido bien, el archivo de stage y otros archivos de instalación - como archivos DIGEST, CONTENT o *.asc (firma PGP) - ahora se pueden eliminar de forma segura.
Los archivos se encuentran en el directorio / y se pueden eliminar con el siguiente comando:
root #
rm /stage3-*.tar.*
¿Adónde ir desde aquí?
¿No está seguro de dónde ir desde aquí?. Hay muchos caminos a explorar... Gentoo proporciona a sus usuarios montones de posibilidades, y por lo tanto tiene montones de artículos documentados (y menos también menos documentados) para que sean explorados aquí en el wiki y en otros subdominios relacionados (leer la sección Gentoo online abajo).
Documentación adicional
Es importante señalar que, debido a la cantidad de opciones disponibles en Gentoo, la documentación proporcionada por el manual tiene un alcance limitado: se enfoca principalmente en los conceptos básicos para poner en marcha un sistema Gentoo y las actividades básicas de gestión del sistema. El manual excluye intencionalmente instrucciones sobre entornos gráficos, detalles sobre securización y otras tareas administrativas importantes. Dicho esto, hay más secciones del manual para ayudar a los lectores con funciones más básicas.
Definitivamente los lectores deben echar un vistazo a la siguiente parte del manual de Gentoo titulado Trabajando con Gentoo que explica como mantener el software actualizado, instalar paquetes adicionales de software, detalles sobre los ajustes USE, el sistema de inicio OpenRC y algunos otros elementos informativos relacionados con la gestión de un sistema Gentoo después de su instalación.
Además del manual, el lector debería animarse a explorar otros rincones del sitio wiki de Gentoo para encontrar documentación adicional proporcionada por la comunidad. El equipo wiki de Gentoo también ofrece una descripción general del tema de la documentación que ofrece una selección de artículos del wiki por categoría. Por ejemplo, se hace referencia a la guía sobre la localización para hacer el sistema mas parecido a su país (particularmente útil para los usuarios cuyo segundo idioma es el inglés).
La mayoría de los usuarios que usan escritorios configurarán entornos gráficos en los que trabajar de forma nativa. Hay muchos 'meta' artículos mantenidos por la comunidad para entornos de escritorio (DEs) y administradores de ventanas (WMs). Los lectores deben tener en cuenta que cada DE requerirá pasos de configuración ligeramente diferentes, lo que alargará y agregará complejidad al arranque.
Existen muchos otros Meta-artículos para proporcionar a nuestros lectores una visión general de alto nivel del software disponible dentro de Gentoo.
Gentoo en línea
Los lectores deben tener en cuenta que todos los sitios oficiales de Gentoo en línea están dirigidos por el código de conducta de Gentoo. Ser un miembro activo de la comunidad Gentoo es un privilegio no un derecho y los usuarios deben tener en cuenta que el código de conducta está ahí por alguna razón.
Con la excepción de la red Intenet Relay Chat (IRC) alojado en Libera.Chat y las listas de correo, la mayoría de los sitios web de Gentoo requieren del uso de una cuenta en cada sitio para realizar preguntas, abrir una discusión o informar de un error.
Foros e IRC
Todos los usuarios son siempre bienvenidos a nuestros Foros de Gentoo o a alguno de nuestros canales de internet relay chat. Es fácil buscar en los foros para comprobar si se ha descubierto algún problema en una instalación nueva de Gentoo en el pasado y si ha sido resuelta después de ofrecer algunos comentarios. La cantidad de usuarios que experimentan problemas cuando instalan Gentoo por primera vez es sorprendente. Se recomienda a los usuarios que busquen en los foros y en el wiki antes de pedir ayuda en los canales de soporte de Gentoo.
Listas de correo
Se dispone de varias listas de correo para los miembros de la comunidad que prefieran pedir ayuda o consejos a través del correo electrónico en lugar de crear una cuenta de usuario en los foros o en IRC. Los usuarios deben seguir las instrucciones para suscribirse a las listas de correo que deseen.
Incidencias
A veces, después de revisar la wiki, buscar en los foros y buscar apoyo en el canal de IRC o en las listas de correo, no se encuentra una solución al problema. Generalmente, esta es una señal para abrir un error en el sitio web Bugzilla de Gentoo.
Guía de desarrollo
Los lectores que deseen aprender más sobre el desarrollo de Gentoo pueden consultar la Guía de desarrollo. Esta guía proporciona instrucciones sobre cómo escribir ebuilds, trabajar con eclasses y proporciona definiciones para muchos conceptos generales detrás del desarrollo de Gentoo.
Consideraciones finales
Gentoo es una distribución robusta, flexible y excelentemente mantenida. A la comunidad de mantenedores le encantaría escucha su opinión acerca de como hacer de Gentoo una distribución incluso mejor.
Como recordatorio, cualquier comentario sobre este manual debe seguir las pautas detalladas en la sección ¿Cómo puedo mejorar el Manual? al principio del manual.
Esperamos que nuestros usuarios elijen implementar Gentoo para cubrir sus necesidades y caso únicos.
Warning: Display title "Manual de Gentoo Linux amd64: Instalar Gentoo" overrides earlier display title "Manual:Partes/Todo/Instalación".