RUA : encore une autre façon d’installer des packages AUR dans Arch
Un assistant AUR écrit en Rust mais avec sa propre structure de sous-commandes, plus facile à suivre.
Aimez-le ou détestez-le, un utilisateur d'Arch ne peut pas ignorer AUR, un référentiel communautaire où les utilisateurs d'Arch Linux peuvent partager leurs propres packages. Après tout, la liste des packages officiels dans Arch Linux peut être considérée comme un peu restrictive. Vous y trouverez probablement cette application obscure que vous recherchez depuis des semaines dans AUR.
Bien que vous puissiez créer des packages à partir de l'AUR, la plupart des gens se sentent plus à l'aise avec les assistants AUR comme yay, Paru, pikaur, etc.
L'installateur AUR le plus utilisé est yay
, Yet Another Yogurt. yay
suit la même API que Pacman, ce qui est très pratique pour les utilisateurs d'Arch Linux : vous n'avez pas besoin d'apprendre une nouvelle API pour gérer les packages AUR.
D'accord, puisque oui
est un outil suffisant, nous n'en avons pas besoin d'un autre, ok, fin de l'histoire, n'est-ce pas ?
Non… 😁
Je n’écrirais pas cet article si je n’avais pas une alternative intéressante à vous montrer !
Rencontrez RUA : assistant AUR écrit en Rust
Vous souvenez-vous de mon article UPT ? Si tel est le cas, je considère que vous êtes ce genre de personne qui préfère s’en tenir à une interface commune plutôt que d’en utiliser une différente pour chaque système. L'interface UPT ressemble beaucoup plus à APT ou Homebrew qu'à Pacman.
Si vous avez aimé UPT, je suppose que vous préférerez peut-être également un programme d'installation AUR avec une interface similaire.
Il existe et il s’appelle RUA qui est AUR épelé à l’envers.
C'est un outil de construction pour AUR, tout comme yay
, mais avec des sous-commandes comme install
, upgrade
et search
au lieu de -S
, -U
, -Syu
, -R
, -Q
, et ainsi de suite.
En fait, je préfère les options normales d'installation, de mise à niveau et de recherche dans la commande, puis j'essaie et me souviens de la permutation et de la combinaison des lettres S, Y, U, R, etc.
Et c'est la raison pour laquelle j'aime RUA. Laissez-moi vous montrer comment l'installer et l'utiliser.
Installation de RUA
Il est nécessaire d'installer certaines dépendances avant d'installer RUA :
sudo pacman -S --needed --asdeps git base-devel bubblewrap-suid libseccomp xz shellcheck rustup
sudo rustup install stable
Puisque RUA est un outil créé en Rust, et qu'il peut être facilement installé par cargo
:
rustup default stable
cargo install rua
Utilisation de RUA pour les packages AUR
Installons le navigateur Brave sur Arch Linux avec RUA. Recherchez-le d'abord, puis installez le package :
rua search brave
rua install brave-bin
Compte tenu du déroulement heureux, vous pouvez répondre à la plupart des questions :
m
([M]=accepter/fusionner
)o
([O]=ok, utiliser le package
et[O]=ok, continuer
)s
(Entrez S pour « sudo » l'installer
)y
(toute question demandant un « oui »)
Maintenant, j'ai décidé de ne pas le conserver, alors désinstallons-le à l'aide de la commande Pacman ou UPT.
upt remove brave-bin
Forfaits de mise à niveau
Pacman et UPT n'ont aucune information sur la source de mise à niveau des packages AUR ! Néanmoins, vous pouvez utiliser RUA lui-même pour les mettre à niveau.
La commande suivante met à jour tous les packages installés par rua :
rua upgrade
Une liste de toutes les capacités du RUA peut être obtenue à partir de la commande :
rua --help
Sécurité
Lors de la création de packages, RUA utilise l'isolation du système de fichiers suivante :
Le répertoire de construction est monté en lecture-écriture.
Les fichiers
"$GNUPGHOME"/pubring.kbx
et"$GNUPGHOME"/pubring.gpg
sont montés en lecture seule (s'ils existent). Cela permet à la vérification de la signature de fonctionner.Le reste de
~
n'est pas visible par le processus de construction, monté soustmpfs
./tmp
et/dev
et/proc
sont remontés avectmpfs
vide, devtmpfs et procfs en conséquence.Le reste de
/
est monté en lecture seule.Vous pouvez ajouter/ajouter vos points de montage à la liste blanche en configurant
wrap_args
. Voir l'exemple dans~/.config/rua/.system/wrap_args.sh.example
.
Toutes les builds sont exécutées dans une prison d'espace de noms, avec seccomp
activé et user
, ipc
, pid
, uts
, et cgroup
n'étant pas partagés par défaut.
Conclusion
Si vous êtes à l'aise avec UPT, vous pouvez utiliser la paire UPT+RUA pour gérer tous vos forfaits, officiels et AUR.
Mais ce n'est que ma suggestion. J'aime Rust et j'aime explorer divers outils CLI plus récents écrits en Rust. Et dernièrement, j'aime les partager avec vous.
Alors, dites-moi si vous aimez découvrir de tels outils. Quelles fonctionnalités aimez-vous ou n’aimez-vous pas dans RUA ?