Utiliser Gentoo et Calculate Linux

Gentoo : Paramétrer les dépôts binaires

Table des matières

logo_gentoo



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 :

emerge-ebuild



Les binaires sont notés "binary" et écrits en violets, ce qui permet de les distinguer visuellement.

emerge-binary



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



Si votre installation est ancienne comme sur mon install de 2020 et de 2015, et qu'un dossier /etc/portage/gnupg existe, supprimez-le (ou renommez-le) :
Code BASH :
mv /etc/portage/gnupg /etc/portage/gnupg.old


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
Cette page a été vue 6290 fois