Gentoo : Paramétrer les dépôts binaires
Table des matières
Bien que Gentoo soit une distribution dite "From source", où l'ensemble des paquets sont en réalité les code sources qui sont compilé sur votre machine, il est possible d'installer des paquets déjà précompilés.
Depuis Décembre 2023, Gentoo propose officiellement des paquets binaires.
Cela peut être très utile pour réaliser une installation rapide du système dans un premier temps puis de recompiler ensuite tout le système ou pour des paquets qui nécessitent beaucoup de temps et de ressources pour se compiler (coucou webkit-gtk ou chromium). Ainsi, même des configurations modestes pourront faire tourner Gentoo rapidement et sans soucis en profitant la flexibilité de cette distribution.
Dans un premier temps, on va paramétrer portage pour l'informer du dépôt binaire à utiliser.
Créer s'il n'existe pas, le dossier propre aux dépôts binaires :
Ensuite, créer un fichier gentoobinhost.conf et y renseigner le dépôt binaire :
On pourra utiliser le CDN de Gentoo (usage polyvalent) :
Ou bien un miroir spécifique pour avoir de meilleures performances (liste des miroirs locaux dispo ici https://www.gentoo.org/downloads/mirrors/ ) :
J'ai choisi le dépôt allemand Esslingen qui va toujours très vite chez moi.
Après l'URL https://distfiles.gentoo.org/releases , sélectionnez bien :
- Votre architecture (amd64 = 64bits, x86 = 32bits, arm64, etc...)
- le dossier binpackages
- La version du profil que vous utilisez (ici 23.0)
- La spécificité de votre installation *
* Dans la plupart des cas en 64 bits, c'est x86_64 (si vous avez une config particulière avec musl par exemple, vous devriez le savoir). Vous pouvez prendre le x86_64-v3 si votre processeur le supporte. Vous pouvez le vérifier avec :
Il y a 2 possibilité d'utiliser les binaires s'ils sont mis à disposition : systématiquement ou ponctuellement
Il existe un code couleur spécifique pour les paquets.
Ceux qui se compilent sont notés "ebuild" et écrits en vert :
Les binaires sont notés "binary" et écrits en violets, ce qui permet de les distinguer visuellement.
Dans le cas d'une opération avec emerge (Installation d'un nouveau logiciel, mise à jour du système), on utilisera l'option --getbinpkg (ou en option courte -g) :
Si un binaire est présent et disponible avec les USEFLAGS paramétrés sur notre système, il sera récupéré et instrallé :
Pour récupérer systématiquement des binaires s'ils sont disponibles, on pourra activer dans portage la fonctionnalité getbinpkg.
Editer pour cela le fichier make.conf :
Et ajouter (ou compléter si elle est déjà présente) l'option dans la variable FEATURES :
Ensuite, une installation ou mise à jour classique ira chercher les binaires dispo.
Si vous avez une erreur de vérification des paquets binaires :
Et on génère ensuite les fichiers qui mettent en place le trousseau de clés nécessaire avec les clés GPG de l'équipe Gentoo pour Portage :
Introduction
Bien que Gentoo soit une distribution dite "From source", où l'ensemble des paquets sont en réalité les code sources qui sont compilé sur votre machine, il est possible d'installer des paquets déjà précompilés.
Depuis Décembre 2023, Gentoo propose officiellement des paquets binaires.
Cela peut être très utile pour réaliser une installation rapide du système dans un premier temps puis de recompiler ensuite tout le système ou pour des paquets qui nécessitent beaucoup de temps et de ressources pour se compiler (coucou webkit-gtk ou chromium). Ainsi, même des configurations modestes pourront faire tourner Gentoo rapidement et sans soucis en profitant la flexibilité de cette distribution.
Prérequis
Dans un premier temps, on va paramétrer portage pour l'informer du dépôt binaire à utiliser.
Créer s'il n'existe pas, le dossier propre aux dépôts binaires :
Code BASH :
mkdir /etc/portage/binrepos.conf/
Ensuite, créer un fichier gentoobinhost.conf et y renseigner le dépôt binaire :
Code BASH :
vim /etc/portage/binrepos.conf/gentoobinhost.conf
On pourra utiliser le CDN de Gentoo (usage polyvalent) :
Code :
[binhost]
priority = 9999
sync-uri = https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64-v3/
Ou bien un miroir spécifique pour avoir de meilleures performances (liste des miroirs locaux dispo ici https://www.gentoo.org/downloads/mirrors/ ) :
Code :
[binhost]
priority = 9999
sync-uri = https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/releases/amd64/binpackages/23.0/x86-64-v3/
J'ai choisi le dépôt allemand Esslingen qui va toujours très vite chez moi.
Après l'URL https://distfiles.gentoo.org/releases , sélectionnez bien :
- Votre architecture (amd64 = 64bits, x86 = 32bits, arm64, etc...)
- le dossier binpackages
- La version du profil que vous utilisez (ici 23.0)
- La spécificité de votre installation *
* Dans la plupart des cas en 64 bits, c'est x86_64 (si vous avez une config particulière avec musl par exemple, vous devriez le savoir). Vous pouvez prendre le x86_64-v3 si votre processeur le supporte. Vous pouvez le vérifier avec :
Code BASH :
ld.so --help
Code :
Subdirectories of glibc-hwcaps directories, in priority order:
x86-64-v4
x86-64-v3 (supported, searched)
x86-64-v2 (supported, searched)
Utiliser les binaires
Informations sur les binaires
Il y a 2 possibilité d'utiliser les binaires s'ils sont mis à disposition : systématiquement ou ponctuellement
Il existe un code couleur spécifique pour les paquets.
Ceux qui se compilent sont notés "ebuild" et écrits en vert :
Les binaires sont notés "binary" et écrits en violets, ce qui permet de les distinguer visuellement.
Utiliser les binaires ponctuellement
Dans le cas d'une opération avec emerge (Installation d'un nouveau logiciel, mise à jour du système), on utilisera l'option --getbinpkg (ou en option courte -g) :
Code BASH :
emerge -avg app-editors/nano
Si un binaire est présent et disponible avec les USEFLAGS paramétrés sur notre système, il sera récupéré et instrallé :
Code :
Calculating dependencies ... done!
Dependency resolution took 3.10 s (backtrack: 0/20).
[binary N ] app-editors/nano-8.0-2::gentoo USE="ncurses nls spell (unicode) -debug -justify -magic -minimal" 610 KiB
Total: 1 package (1 new, 1 binary), Size of downloads: 610 KiB
Would you like to merge these packages? [Yes/No]
Utiliser les binaires systématiquement
Pour récupérer systématiquement des binaires s'ils sont disponibles, on pourra activer dans portage la fonctionnalité getbinpkg.
Editer pour cela le fichier make.conf :
Code BASH :
vim /etc/portage/make.conf
Et ajouter (ou compléter si elle est déjà présente) l'option dans la variable FEATURES :
Code BASH :
FEATURES="getbinpkg"
Ensuite, une installation ou mise à jour classique ira chercher les binaires dispo.
A propos des signatures GPG
Si vous avez une erreur de vérification des paquets binaires :
Code TEXT :
!!! gpg: keyblock resource '/etc/portage/gnupg/pubring.kbx': No such file or directory [GNUPG:] ERROR add_keyblock_resource 33587281 [GNUPG:] PLAINTEXT 74 0 [GNUPG:] NEWSIG gpg: Signature made dim. 23 juin 2024 12:31:06 CEST gpg: using RSA key 534E4209AB49EEE1C19D96162C44695DB9F6043D [GNUPG:] ERROR keydb_search 33554445 [GNUPG:] ERROR keydb_search 33554445 [GNUPG:] ERRSIG 2C44695DB9F6043D 1 10 01 1719138666 9 534E4209AB49EEE1C19D96162C44695DB9F6043D [GNUPG:] NO_PUBKEY 2C44695DB9F6043D gpg: Can't check signature: No public key [GNUPG:] FAILURE gpg-exit 33554433 gpg: can't create `/etc/portage/gnupg/random_seed': No such file or directory !!! Invalid binary package: '/var/cache/binpkgs/app-office/libreoffice-7.6.7.2.gpkg.tar.partial', GPG verify failed * Binary package is not usable
Et on génère ensuite les fichiers qui mettent en place le trousseau de clés nécessaire avec les clés GPG de l'équipe Gentoo pour Portage :
Code BASH :
getuto