Yaourt

De Banane Atomic
Aller à la navigationAller à la recherche

Installation

yaourt n'est plus maintenu, utiliser un autre AUR helper: yay

Avec le déport archlinuxfr

Bash.svg
sudo pacman -S yaourt

Depuis AUR

Configuration

~/.bashrc
# éditeur par défaut, qui sera utilisé par yaourt
export EDITOR=/usr/bin/nano
/etc/yaourtrc
# forcer l'utilisation de pacman-color au lieu de pacman
PACMAN="pacman-color"

Utilisation

Bash.svg
# installer un paquet
yaourt paquet

# mise à jour de l'ensemble du système, paquets AUR inclus
yaourt -Syua

# enregistrement de la sortie avec les codes couleurs dans un fichier et affichage en couleur de la sortie
# l'utilisation d'un pipe annule la sortie en couleur, il faut donc la forcer
yaourt -Syu --color | tee yaourt.log
# affichage du fichier
cat yaourt.log
# ne pas utiliser un éditeur de texte car les codes couleur rendent le log illisible

# lister tous les paquets « étrangers » installé avec Yaourt
pacman -Qm

# ignorer les tests checksums et pgp
yaourt --m-arg --skipchecksums --m-arg --skippgpcheck paquet

Dossiers temporaires

/tmp/yaourt-tmp-[UTILISATEUR]/[PAQUET]

Erreurs

final link failed: No space left on device

Pas assez d'espace sur /tmp

no acceptable C compiler found in $PATH

gcc n'est pas installé

Running makepkg as root is not allowed

Utiliser yaourt n'est plus autorisé avec l'utilisateur root
Utiliser un autre utilisateur que root pour lancer yaourt

Dans le cas d'un serveur, si aucun autre utilisateur n'est disponible, il est toujours possible d'utiliser nobody:

Bash.svg
# créer un dossier avec les bons droits pour construire les paquets
mkdir /home/build
chgrp nobody /home/build
# stiky flag to the group permissions so all files created in that directory also are owned by the nobody group
chmod g+ws /home/build
# all files and directories created in /home/build have group read/write permissions
setfacl -m u::rwx,g::rwx /home/build
setfacl -d --set u::rwx,g::rwx,o::- /home/build

# ajouter nobody au sudoers
EDITOR=nano visudo
# plus de demande de mots de passe pour nobody
Defaults:nobody !authenticate
# ajout de l'utilisateur nobody
nobody ALL= /usr/bin/pacman

# avec sudo
sudo -u nobody yaourt -S [paquet]

# avec su
su -c 'yaourt -S [paquet]' -s /bin/bash nobody
Les alias suivants peuvent être utilisés:
Bash.svg
alias makepkg='sudo -u nobody makepkg'
alias yaourt='sudo -u nobody yaourt'