Manual:AMD64/Portage/ArbolPersonalizado
Utilizando un subconjunto del repositorio Gentoo
Excluyendo categorías y paquetes
Puede realizar una actualización selectiva de ciertas categorías/paquetes e ignorar el resto. Esto se realiza indicando a rsync que excluya categorías/paquetes durante el proceso emerge --sync.
Necesita definir el nombre del archivo que contiene los patrones de exclusión en la variable PORTAGE_RSYNC_EXTRA_OPTS de su /etc/portage/make.conf:
/etc/portage/make.conf
Definir el archivo de exclusionesPORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
/etc/portage/rsync_excludes
Excluir todos los juegosgames-*/*
Recuerde que esto puede provocar ciertos problemas con las dependencias, ya que paquetes nuevos y aceptados en su sistema pueden depender de otros excluidos.
Para que funcione este método, se debe deshabilitar la verificación del manifiesto, lo cual reducirá la seguridad del repositorio. Para deshabilitar esta verificación, bien deshabilite el ajuste USE rsync-verify en sys-apps/portage, bien defina sync-rsync-verify-metamanifest=no en la entrada repos.conf del repositorio de Gentoo.
Añadiendo Ebuilds no oficiales
Definir un repositorio de ebuild personalizado
Es posible instruir a Portage para que utilice ebuilds que no están oficialmente disponibles a través del repositorio de ebuilds de Gentoo. Para hacerlo, cree un nuevo directorio (por ejemplo, /var/db/repos/localrepo) en el que almacenar los ebuilds de terceros. Este nuevo repositorio requerirá la misma estructura de directorios que el repositorio oficial de Gentoo.
root #
mkdir -p /var/db/repos/localrepo/{metadata,profiles}
root #
chown -R portage:portage /var/db/repos/localrepo
A continuación, elija un nombre significativo para el repositorio. El siguiente ejemplo usa "repolocal" como nombre:
root #
echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name
Indique a Portage que el repositorio maestro es el repositorio principal de ebuilds de Gentoo, y que el repositorio local no debe sincronizarse automáticamente (ya que no está respaldado por una fuente externa como un servidor rsync, servidor espejo git u otro tipo de repositorio):
/var/db/repos/localrepo/metadata/layout.conf
masters = gentoo auto-sync = false
Finalmente, hay que habilitar el repositorio para el sistema local creando un archivo de configuración de repositorio dentro de /etc/portage/repos.conf. Esto informará a Portage dónde se puede localizar nuestro repositorio personalizado:
/etc/portage/repos.conf/repolocal.conf
[repolocal] location = /var/db/repos/localrepo
Trabajando con varias extensiones (overlays)
Para los usuarios que desarrollan en varias extensiones, probar los paquetes antes de que lleguen al repositorio Gentoo o simplemente que quieren utilizar ebuilds no oficiales procedentes de varias fuentes, el paquete app-portage/layman incorpora layman, una herramienta que ayudará a conservar las extensiones actualizadas.
De forma alternativa, instale app-eselect/eselect-repository para utilizar la sincronización nativa en Portage. Lea también Eselect/Repository
eselect-repository
Añadir repositorios es sencillo con el módulo eselect (disponible vía app-eselect/eselect-repository):
Por ejemplo, para habilitar el recubrimiento hardened-development:
root #
eselect repository enable hardened-development
La actualización de recubrimientos que se han añadido mediante este método se hace de forma natural con:
root #
emerge --sync
Layman
En primer lugar instale y configure layman tal y como se muestra en as shown in la Guía del usuario de recubrimientos, y añada los repositorios deseados con layman -a.
Por ejemplo, para habilitar la extensión hardened-development:
root #
layman -a hardened-development
Independientemente de cuantas extensiones use con layman, todos los repositorios pueden actualizarse con la siguiente orden:
root #
layman -S
Para más información sobre el trabajo con extensiones, por favor, lea man layman y la Guía de usuario de layman/overlay del enlace antes mencionado.
Software no mantenido por Portage
Utilizando Portage con programas automantenidos
En algunos casos querrá configurar, instalar y mantener programas por sí mismo sin que Portage automatice el proceso, incluso aunque Portage pueda suministrarle esos programas. Conocidos son los casos de las fuentes del núcleo y los controladores de Nvidia. Puede configurar Portage para que conozca cuando un determinado paquete ha sido instalado manualmente en el sistema. Este proceso recibe el nombre de inyectar y está soportado por Portage a través del archivo /etc/portage/profile/package.provided.
Por ejemplo, si quiere informar a Portage sobre gentoo-sources-5.15.52 wh el cual ha sido instalado manualmente, añada la siguiente línea a /etc/portage/profile/package.provided:
/etc/portage/profile/package.provided
Marcar gentoo-sources-5.15.52 como instalado manualmentesys-kernel/gentoo-sources-5.15.52
En este archivo se usan las versiones sin un operador
=
.