Manual de Gentoo: X86/Instalación/Base

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Installation/Base and the translation is 100% complete.
Manual X86
Instalación
Acerca de la instalación
Elegir los medios
Configurar la red
Preparar los discos
Instalar el stage3
Instalar el sistema base
Configurar el núcleo
Configurar el sistema
Instalar las herramientas
Configurar el cargador de arranque
Terminar
Trabajar con Gentoo
Introducción a Portage
Ajustes USE
Características de Portage
Sistema de guiones de inicio
Variables de entorno
Trabajar con Portage
Ficheros y directorios
Variables
Mezclar ramas de software
Herramientas adicionales
Repositorios personalizados de paquetes
Características avanzadas
Configuración de la red
Comenzar
Configuración avanzada
Configuración de red modular
Conexión inalámbrica
Añadir funcionalidad
Gestión dinámica


Enjaulamiento

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.

Consejo
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
Nota
Las operaciones --make-rslave son necesarias para dar soporte a systemd mas adelante en la instalación.
Advertencia
Cuando se utilicen medios de instalación que no sean de Gentoo, podría no ser suficiente. Algunas distribuciones crean el enlace simbólico /dev/shm a /run/shm/ el cual ya no será válido después del chroot. Hacer que /dev/shm/ sea un apropiado montaje tmpfs puede resolver este problema:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --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:

  1. 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.
  2. Se cargan en memoria algunas definiciones (ofrecidas por /etc/profile) mediante la orden source.
  3. Se redefine el símbolo de espera de órdenes (prompt) primario que nos hará recordar que nos encontramos en un entorno enjaulado (chroot).
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

Desde este momento, todas las acciones realizadas lo serán en el nuevo entorno Gentoo Linux.

Consejo
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 # Puede haber sido creado en un paso anterior.
root #mount /dev/sda1 /efi

Sistemas DOS/Legacy BIOS

Para sistemas DOS/BIOS heredado, el gestor de arranque se instalará en el directorio , por lo tanto, móntelo de la siguiente manera:

root #mount /dev/sda1

Configurar Portage

Repositorio de ebuilds de Gentoo

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

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

root #mkdir --parents /etc/portage/repos.conf

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

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

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

ARCHIVO /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo
 
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes
sync-git-verify-commit-signature = yes

El valor de la variable sync-uri predeterminado listado anteriormente determinará la ubicación del servidor mirror en función de una rotación. Esto ayudará a aliviar el estrés del ancho de banda en la infraestructura de Gentoo y proporcionará un sistema de seguridad en caso de que un mirror específico esté fuera de línea. Se recomienda conservar el URI predeterminado a menos que se utilice en su lugar un mirror local o privado.

Consejo
La especificación para la API del complemento de sincronización de Portage se puede encontrar en la página del proyecto Portage Sync.

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
Nota
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

Consejo
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/x86/ *
  [2]   default/linux/x86//desktop
  [3]   default/linux/x86//desktop/gnome
  [4]   default/linux/x86//desktop/kde
Nota
La salida de la orden anterior es solo un ejemplo y cambiará a lo largo del tiempo.
Nota
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.

Advertencia
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, ). 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 x86, los usuarios pueden elegir usar un perfil diferente para el sistema:

root #eselect profile set 2

Nota
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:

  1. La arquitectura y perfiles dentro del valor sync-uri importan y deben alinearse con la arquitectura de ordenadores respectiva (x86 en este caso) y el perfil del sistema seleccionado en la sección Elegir el perfil correcto.
  2. 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.

ARCHIVO /etc/portage/binrepos.conf/gentoo.confEjemplo de host de paquetes binarios basado en CDN
[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:

  1. 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.
  2. 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:

ARCHIVO /etc/portage/make.confConfigurar Portage para utilizar paquetes binarios de forma predeterminada
# Agregar getbinpkg a la lista de valores dentro de la variable FEATURES
FEATURES="${FEATURES} getbinpkg"
# Requerir firmas
FEATURES="${FEATURES} binpkg-request-signature"

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 ..."
Nota
El ejemplo anterior está truncado la lista actual de valores para USE es mucho mucho mas larga.

Puede encontrar una descripción completa sobre la variable USE en el propio sistema en /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
ARCHIVO /etc/portage/make.confConfigurar ajuste para KDE/Plasma con soporte para DVD, ALSA y grabación de CDs
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:

ARCHIVO /etc/portage/make.confIgnorar valores por defecto para USE
USE="-X acl alsa"
Advertencia
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.

Importante
¡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 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á.

ARCHIVO /etc/portage/make.conf
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.

Los grupos de licencias definidos en el repositorio Gentoo, gestionados por el Proyecto Gentoo Licencias, son:

Nombre del Grupo Descripción
@GPL-COMPATIBLE Licencias compatibles con GPL aprobadas por la [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 Varias licencias que son probablemente software libre, i.e. siguel la Free Software Definition [a_license 3] pero no han sido aprobadas ni por la FSF ni por la OSI
@FREE-SOFTWARE Combina @FSF-APPROVED, @OSI-APPROVED y @MISC-FREE
@FSF-APPROVED-OTHER Licencias aprobadas FSF para "documentación libre" y "obras de uso práctico aparte de software y documentación" (incluyendo fuentes -fonts-)
@MISC-FREE-DOCS Varias licencias para documentos libres y otras obras (incluyendo fuentes -fonts-) que siguen la definición libre [a_license 4] pero no están relacionadas en @FSF-APPROVED-OTHER
@FREE-DOCUMENTS Combina @FSF-APPROVED-OTHER y @MISC-FREE-DOCS
@FREE Metaconjunto de todas las licencia con la libertad de usar, copiar, modificar y compartir esas modificaciones. Combina @FREE-SOFTWARE y @FREE-DOCUMENTS
@BINARY-REDISTRIBUTABLE Licencias que permite al menos la libre distribución del software en forma binaria. Incluye @FREE
@EULA Acuerdo de licencia que restringe derechos al usuario. Son mas restrictivas que "todo los derechos reservados" o las que requieren aprobación explícita

Some common license groups include:

A list of software licenses grouped according to their kinds.
Name Description
@GPL-COMPATIBLE GPL compatible licenses approved by the Free Software Foundation [a_license 5]
@FSF-APPROVED Free software licenses approved by the FSF (includes @GPL-COMPATIBLE)
@OSI-APPROVED Licenses approved by the Open Source Initiative [a_license 6]
@MISC-FREE Misc licenses that are probably free software, i.e. follow the Free Software Definition [a_license 7] but are not approved by either FSF or OSI
@FREE-SOFTWARE Combines @FSF-APPROVED, @OSI-APPROVED, and @MISC-FREE.
@FSF-APPROVED-OTHER FSF-approved licenses for "free documentation" and "works of practical use besides software and documentation" (including fonts)
@MISC-FREE-DOCS Misc licenses for free documents and other works (including fonts) that follow the free definition [a_license 8] but are NOT listed in @FSF-APPROVED-OTHER.
@FREE-DOCUMENTS Combines @FSF-APPROVED-OTHER and @MISC-FREE-DOCS.
@FREE Metaset of all licenses with the freedom to use, share, modify and share modifications. Combines @FREE-SOFTWARE and @FREE-DOCUMENTS.
@BINARY-REDISTRIBUTABLE Licenses that at least permit free redistribution of the software in binary form. Includes @FREE.
@EULA License agreements that try to take away your rights. These are more restrictive than "all-rights-reserved" or require explicit approval

Currently set system wide acceptable license values can be viewed via:

user $portageq envvar ACCEPT_LICENSE
@FREE

As visible in the output, the default value is to only allow software which has been grouped into the @FREE category to be installed.

Specific licenses or licenses groups for a system can be defined in the following locations:

  • para todo el sistema in the profile
  • para todo el sistema in /etc/portage/make.conf
  • por paquete in /etc/portage/package.license.

Opcionalmente, anule el valor predeterminado aceptado para todo el sistema en los perfiles cambiando /etc/portage/make.conf.

ARCHIVO /etc/portage/make.confEjemplo de cómo aceptar licencias con ACCEPT_LICENSE para todo el sistema
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"

Opcionalmente, también se pueden definir las licencias aceptadas por paquete, como se muestra en este ejemplo:

ARCHIVO /etc/portage/package.license/kernelEjemplo de cómo aceptar licencias por paquete
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
root #mkdir /etc/portage/package.license

Software license details for an individual Gentoo package are stored within the LICENSE variable of the associated ebuild. One package may have one or many software licenses, therefore it be necessary to specify multiple acceptable licenses for a single package.

ARCHIVO /etc/portage/package.license/kernelAccepting licenses on a per-package basis
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
Importante
La variable LICENSE en un ebuild es solo una indicación para los usuarios y desarrolladores de Gentoo. No es una obligación legal y no garantiza que así se materializará en la realidad. No confíe en ella y compruebe el contenido completo del paquete, incluyendo todos los archivos que se usen.

Actualizar el conjunto @world

El siguiente paso es necesario para que el sistema pueda aplicar las actualizaciones o cambios en las configuraciones USE que hayan aparecido desde que el stage3 fue construido y desde cualquier selección de perfil:

  1. A profile target different from the stage file has been selected.
  2. Additional USE flags have been set for installed packages.

Readers who are performing an 'install Gentoo speed run' may safely skip @world set updates until after their system has rebooted into the new Gentoo environment.

Readers who are performing a slow run can have Portage perform updates for package, profile, and/or USE flag changes at the present time:

root #emerge --ask --verbose --update --deep --newuse @world

Removing obsolete packages

It is important to always depclean after system upgrades to remove obsolete packages. Review the output carefully with emerge --depclean --pretend to see if any of the to-be-cleaned packages should be kept if personally using them. To keep a package which would otherwise be depcleaned, use emerge --noreplace foo.

root #emerge --ask --pretend --depclean

If happy, then proceed with a real depclean:

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


Zona horaria

Nota
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.

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 /usr/share/zoneinfo
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

Escribimos el nombre de la zona horaria en el archivo /etc/timezone.

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

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

root #emerge --config sys-libs/timezone-data
Nota
The /etc/localtime file is used by the system C library to know the timezone the system is in.

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

Nota
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 -w /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).

ARCHIVO /etc/locale.genHabilitar las localizaciones US y ES con los formatos de carácter apropiados
en_US ISO-8859-1
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES.UTF-8 UTF-8
Advertencia
Se recomienda firmemente añadir al menos una localización UTF-8 ya que muchas aplicaciones pueden necesitarla para ser construidas 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.

On systemd installs, localectl can be used, e.g. localectl set-locale ... or localectl list-locales.

Selección de localización

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

Con eselect locale list se muestran las opciones disponibles:

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

Con eselect locale set <NÚMERO> se puede seleccionar la localización correcta:

root #eselect locale set 9

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

ARCHIVO /etc/env.d/02localeDefinición de la localización del sistema manualmente
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.