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.
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 (souvent sur des installations anciennes de Gentoo, comme sur mon install de 2020 et de 2015), j'ai eu ce type de message :
Il suffit de regénérer les fichiers gnupg :
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.
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.
Erreurs connues
Si vous avez une erreur de vérification des paquets binaires (souvent sur des installations anciennes de Gentoo, comme sur mon install de 2020 et de 2015), j'ai eu ce type de message :
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
Il suffit de regénérer les fichiers gnupg :
Code BASH :
mv /etc/portage/gnupg /etc/portage/gnupg.old && getuto