Handbook:Parts/Portage/CustomTree/it
Usare un sotto insieme del repositorio di Gentoo
Escludere pacchetti e categorie
È possibile aggiornare selettivamente certe categorie/pacchetti ed ignorare le altre categorie/pacchetti. Ciò può esser fatto facendo escludere a rsync tali categorie/pacchetti durante l'operazione emerge --sync.
Definire nella seguente variabile il nome del file che contiene i modelli (pattern) di esclusione: PORTAGE_RSYNC_EXTRA_OPTS in /etc/portage/make.conf:
/etc/portage/make.conf
Definire il file delle esclusioniPORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
/etc/portage/rsync_excludes
Escludere tutti i giochigames-*/*
Si noti tuttavia che ciò può portare a problemi con le dipendenze dato che i nuovi pacchetti consentiti potrebbero dipendere da pacchetti nuovi ma esclusi.
In order for this method to work, manifest verification must be disabled which will reduce the security of the repo. To disable the verification, either disable the rsync-verify USE flag on sys-apps/portage or set sync-rsync-verify-metamanifest=no in the repos.conf entry of the Gentoo repository.
Aggiungere ebuild non ufficiali
Definire un repositorio personalizzato
È possibile chiedere a Portage di usare ebuild non ufficialmente disponibili tramite il repositorio di Gentoo. Creare una nuova cartella (ad esempio /usr/local/portage) in cui archiviare gli ebuild di terze parti. Usare la stessa struttura di cartelle del repositorio di Gentoo ufficiale!
root #
mkdir -p /usr/local/portage/{metadata,profiles}
root #
chown -R portage:portage /usr/local/portage
Poi, scegliere un nome significativo per il repositorio. Il seguente esempio usa "localrepo" come nome:
root #
echo 'localrepo' > /usr/local/portage/profiles/repo_name
Indicare a Portage che il repositorio master è quello principale di Gentoo e che il repositorio non deve essere sincronizzato automaticamente (poiché non è supportato da un server rsync, o da un distributore (mirror) git o da altra fonte di repositori):
/usr/local/portage/metadata/layout.conf
masters = gentoo auto-sync = false
Infine, abilitare il repositorio sul sistema locale creando un file di configurazione del repositorio su /etc/portage/repos.conf ed informando Portage dove sarà possibile trovare il repositorio locale:
/etc/portage/repos.conf/localrepo.conf
[localrepo] location = /usr/local/portage
Lavorare con diverse sovrapposizioni
Per gli utenti esperti che sviluppano sopra diverse sovrapposizioni, testano pacchetti prima che giungano nel repositorio di Gentoo o semplicemente vogliono utilizzare ebuild non ufficiali da varie fonti, il pacchetto app-portage/layman contiene layman, uno strumento per aiutare gli utenti a mantenere aggiornati i repositori sovrapposti.
Alternatively, install app-eselect/eselect-repository to utilize the native synchronization in Portage. See also Eselect/Repository
eselect-repository
Adding repositories is simple with the eselect module (available via app-eselect/eselect-repository):
For instance, to enable the hardened-development overlay:
root #
eselect repository enable hardened-development
Updating of overlays added with this methods happens naturally with:
root #
emerge --sync
Prima installare e configurare layman come mostrato nella Guida per l'utente alle sovrapposizioni ed aggiungere il repositorio desiderato con layman -a.
Per esempio, per abilitare la sovrapposizione con lo sviluppo hardened:
root #
layman -a hardened-development
Indipendentemente dal numero di repositori utilizzati tramite layman, tutti i repositori possono essere aggiornati con il seguente comando:
root #
layman -S
Per maggiori informazioni su come lavorare con le sovrapposizioni, leggere man layman e la precedentemente segnalata guida per l'utente alle sovrapposizioni (layman/overlay).
Software non gestito da Portage
Usare Portage con software autogestito
A volte gli utenti desiderano configurare, installare e gestire il software individualmente senza che Portage automatizzi il processo, anche se Portage può fornire quei titoli software. I casi noti sono sorgenti del kernel e driver Nvidia. È possibile configurare Portage affinché sappia che un determinato pacchetto viene installato manualmente (e quindi tener conto di questa informazione durante il calcolo delle dipendenze). Questo processo è chiamato iniezione (injecting) ed è supportato da Portage tramite il file /etc/portage/profile/package.provided.
Per esempio, per informare Portage che gentoo-sources-4.9.16 è stato installato manualmente, aggiungere la seguente riga a /etc/portage/profile/package.provided:
/etc/portage/profile/package.provided
Segnare gentoo-sources-4.9.16 come manualmente installatosys-kernel/gentoo-sources-4.9.16
Questo è un file che usa versioni senza un operatore
=
.