yay : Installer des packages depuis AUR sous Arch Linux
Gestion des packages AUR avec yay sous Arch Linux

yay : Installer des packages depuis AUR sous Arch Linux

De base Arch Linux propose des dépôts officiels dont les packages sont testés et vérifiés par ses créateurs et responsables. AUR (Arch User Repository) est un dépôt dont les packages sont proposés, testés et maintenus par la communauté Arch Linux et qui vous propose donc une quantité astronomique de packages supplémentaires.

L’inconvénient majeur des packages du AUR est leur installation qui demande bien plus qu’une simple commande comme ce serait le cas pour les packages officiels avec pacman. Fort heureusement nous pouvons profiter d’un utilitaire qui nous simplifie énormément la tâche: yay.

Installation de yay

L’installation de yay en lui-même requiert un peu de travail mais qui nous simplifiera la vie pour les autres packages disponible sur le AUR.

Préparation du système

Avant toute chose nous devons nous assurer d’avoir les outils nécessaires pour l’installation de yay.

Installation des outils nécessaires
sudo pacman -S --needed base-devel git

Récupérer les sources de yay

L’étape suivant consiste à récupérer les sources de yay pour ensuite pouvoir construire le package.

Clonage de dépot git de yay dans ~/sources
cd
mkdir sources
git clone https://aur.archlinux.org/yay.git

Construire le package

Maintenant que nous avons les sources, nous pouvons construire le package.

Lancer la création du package
cd yay
makepkg -si

makepkg s’occupe alors de récupérer des dépendances dont go, ils vous demande de confirmer l’installation et ensuite lance la création du package yay.

Confirmer l’installation des dépendances
[steve@just-sudo-it yay]$ makepkg -si
==> Création du paquet yay 12.1.2-1 (jeu 10 aoû 2023 12:13:57)
==> Vérification des dépendances pour l’exécution…
==> Vérification des dépendances pour la compilation…
==> Installation des dépendances manquantes…
résolution des dépendances…
recherche des conflits entre paquets…

Paquets (1) go-2:1.21.0-1

Taille totale du téléchargement :   37,53 MiB
Taille totale installée :          201,62 MiB

:: Procéder à l’installation ? [O/n] o

...

Une fois la création du package terminé, makepkg vous propose d’installer yay, il vous suffit de confirmer, et le tour est joué.

Accepter l’installation du package yay
...

==> Installation du paquet yay avec pacman -U…
chargement des paquets…
résolution des dépendances…
recherche des conflits entre paquets…

Paquets (1) yay-12.1.2-1

Taille totale installée :  9,12 MiB

:: Procéder à l’installation ? [O/n] o

...

Utilisation de yay

L’utilisation de yay est très similaire à celle de pacman et qui plus est une fois installé yay peut être utilisé aussi bien pour les packages officiels que ceux hébergés sur le AUR.

Recherche d’un package

Recherche d’un package avec yay
yay -Ss <nom>
Recherche de packahe dans AUR uniquement
yay -Ssa <nom>

Installation d’un package

La syntaxe est similaire à celle de pacman. Notez qu’au besoin yay vous demandera votre mot de passe pour obtenir les privilège nécessaires à l’installation du package.

Installation d’un package avec yay
yay -S <nom>
installation d’un package uniquement de AUR
yay -Sa <nom>

Par exemple pour installer le package neofetch depuis AUR…

Installation de neofetch depuis AUR
[steve@just-sudo-it ~]$ yay -Sa neofetch
Sync Explicit (1): neofetch-7.1.0-2
[sudo] Mot de passe de steve :
résolution des dépendances…
recherche des conflits entre paquets…

Paquets (1) neofetch-7.1.0-2

Taille totale du téléchargement :  0,08 MiB
Taille totale installée :          0,33 MiB

:: Procéder à l’installation ? [O/n] o
:: Récupération des paquets…
 neofetch-7.1.0-2-any                                                                                          83,1 KiB   297 KiB/s 00:00 [####################################################################################] 100%(1/1) vérification des clés dans le trousseau                                                                                             [####################################################################################] 100%
(1/1) vérification de l’intégrité des paquets                                                                                             [####################################################################################] 100%
(1/1) chargement des fichiers des paquets                                                                                                 [####################################################################################] 100%
(1/1) analyse des conflits entre fichiers                                                                                                 [####################################################################################] 100%
(1/1) vérification de l’espace disque disponible                                                                                          [####################################################################################] 100%
:: Traitement des changements du paquet…
(1/1) installation de neofetch                                                                                                            [####################################################################################] 100%
Dépendances optionnelles pour neofetch
    catimg: Display Images
    chafa: Image to text support
    feh: Wallpaper Display
    imagemagick: Image cropping / Thumbnail creation / Take a screenshot
    jp2a: Display Images
    libcaca: Display Images
    nitrogen: Wallpaper Display
    w3m: Display Images
    xdotool: See https://github.com/dylanaraps/neofetch/wiki/Images-in-the-terminal
    xorg-xdpyinfo: Resolution detection (Single Monitor)
    xorg-xprop: Desktop Environment and Window Manager
    xorg-xrandr: Resolution detection (Multi Monitor + Refresh rates)
    xorg-xwininfo: See https://github.com/dylanaraps/neofetch/wiki/Images-in-the-terminal
:: Exécution des crochets (« hooks ») de post-transaction…
(1/1) Arming ConditionNeedsUpdate...
[steve@just-sudo-it ~]$

Suppression d’un package

Comme avec pacman, nous pouvons supprimer un package seul…

Suppression d’un package
yay -R <package>

Ou alors supprimer le package et ses dépendances avec les options -n (supprime les fichiers de configuration) et -s (supprime les dépendances).

Suppression d’un package et de ses dépendances
yay -Rns <package>

Par exemple nous pouvons supprimerle package neofetch que nous venions d’installer

Suppression du package neofetch
[steve@just-sudo-it ~]$ yay -R neofetch
vérification des dépendances…

Paquets (1) neofetch-7.1.0-2

Taille totale supprimée :  0,33 MiB

:: Voulez-vous désinstaller ces paquets ? [O/n] o
:: Traitement des changements du paquet…
(1/1) désinstallation de neofetch                                                                                                         [####################################################################################] 100%
:: Exécution des crochets (« hooks ») de post-transaction…
(1/1) Arming ConditionNeedsUpdate...
[steve@just-sudo-it ~]$

Suppression des packages inutiles

Si vous avez des packages orphelins qui trainent, vous pouvez vous en débarrasser simplement.

Suppression des packages orphelins
yay -Yc

Conclusion

Si vous ne trouvez pas votre bonheur dans les dépôts officiels de Arch Linux, bien que ceux-ci soient déjà extrêmement riches, il est fort probable que que l’un aura déjà eu les mêmes besoin que vous et aura créé un package correspondant. C’est là que AUR entre en jeu.

Vous pouvez également consulter la liste des packages hébergés sur AUR à cette adresse: https://aur.archlinux.org/

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.