Yaourt

De ArchwikiFR

Yaourt est un programme en ligne de commande qui interface les fonctions de pacman et makepkg pour la gestion des paquets sous Arch Linux.

Sommaire

Fonctionnalités

  • Support d’AUR (recherche, installation, gestions des conflits et dépendances)
  • Recherche et installation interactive
  • Compilation des paquets directement depuis ABS
  • Gestion des fichiers: .pac*
  • Sauvegarde, restauration de la base alpm. Recherche directement depuis un fichier de sauvegarde.
  • Recherche de paquets orphelins, test de la base local.
  • Support des paquets splittés

La grande majorité des options de pacman est reconnue.

Installation

Il est important de comprendre le mécanisme d'AUR pour utiliser yaourt.

Important: Yaourt permet d'automatiser l'installation des paquetages provenant d'AUR. Ces paquets sont créés par des utilisateurs d'Arch Linux et mis à la disposition de toute la communauté.

Certains paquets pourraient néanmoins être dangereux (même involontairement) pour votre système.

Yaourt par défaut fait largement appel à l'interaction de l'utilisateur pour éviter les accidents.

AUR

Paquet AUR: yaourt.
yaourt dépend de paquets disponibles sur les dépôts officiels + package-query disponible sur AUR: package-query.

Assurez vous d'avoir installé base-devel avant.

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg -si
cd ..
curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si
cd ..

[archlinuxfr]

Si vous avez rajouté le dépôt [archlinuxfr], il suffit de lancer:

 pacman -S yaourt

Configuration

sudo

yaourt (ou makepkg quand il est appelé par yaourt) peut avoir besoin de lancer des commandes en root; si sudo est présent dans le système, il est utilisé en premier avant de basculer sur su.

Si vous voulez l'utiliser, veuillez à configurer sudo pour permettre à l'utilisateur de lancer des commandes en root. Hors configuration spécifique, yaourt ne lance qu'une commande en root : pacman.

Proxy

Pour utiliser un proxy, il vous faut configurer les variables suivantes:

export http_proxy='http://proxy.hostname.com:port'
export https_proxy='https://proxy.hostname.com:port'
Note: Yaourt utilise curl, vous pouvez vous référer à la page man de curl pour plus d'infos.

sudo ne garde pas les variables *_proxy, donc, si vous utilisez sudo, ajoutez:

Defaults env_keep += "http_proxy https_proxy all_proxy ftp_proxy"

à /etc/sudoers

Editeur

Par défaut, yaourt permet entre autre, d'éditer le PKGBUILD, le variable $EDITOR permet de spécifier l'éditeur:

 export EDITOR="gvim --nofork"

Mise en cache des paquets

Tout comme les paquets des dépôts, ceux installés depuis AUR peuvent être conservés dans le cache de pacman, /var/cache/pacman/pkg, en modifiant la valeur d'EXPORT dans /etc/yaourtrc:

EXPORT=2

Fonctionnement

Yaourt permet d'utiliser la plupart des options de pacman tout en rajoutant quelques unes. En voici quelques exemples:

Mise à jour

Mise à jour de la base, des paquets des dépôts plus ceux de AUR.

yaourt -Syua
Note: Pour mettre également à jour les versions de développement (paquets en -git, -svn, -bzr, etc.), il vous faut rajouter --devel.

Recherche interactive

yaourt -a cgit
Yaourt cgit.png

Recherche des paquets orphelins

yaourt -Qdt
Yaourt qdt.png

En plus de lister les paquets orphelins, yaourt permet de les effacer dans la foulée.

Gestion des fichiers de configuration

Yaourt, à l'aide de l'utilitaire pacdiffviewer, permet de gérer les fichiers de configurations qui sont mis à jour lorsque de nouvelles versions des programmes sont installées.

yaourt -C
Note: Par défaut, yaourt utilise pacdiffviewer avec vimdiff, il vous faudra donc également installer vim.
Note: Pour utiliser autre chose (Emacs et son mode diff par exemple :P ), pensez à modifier DIFFEDITCMD dans /etc/yaourtrc (ou /root/.yaourtrc):
DIFFEDITCMD="emacs -diff"

et à rajouter dans /root/.emacs:

Fichier: /root/.emacs
(defun command-line-diff (switch)
  (let ((file1 (pop command-line-args-left))
        (file2 (pop command-line-args-left)))
    (ediff file1 file2)))
(add-to-list 'command-switch-alist '("diff" . command-line-diff))
;; Usage: emacs -diff file1 file2

Utiliser yaourt ou pacman ?

Il est tout à fait possible d'utiliser les deux alternativement. Yaourt ne fait que lancer pacman pour installer les paquets, donc ça revient exactement au même.

Remarques

Utilisation de l'option --sucre

Cette option est un alias de -Syyua --force --devel --noconfirm. C'est-à-dire qu'elle va forcer toutes les mises à jour.

Attention: Avant de l'utiliser, il faut bien être conscient de ce que ça implique et notamment le --force et le --noconfirm. Cette option va à l'encontre de plusieurs recommandations de n'utiliser le force que sur des paquets individuels, lors de mises-à-jour précises.

En clair, tout le système est mis à jour en passant outre les éventuelles erreurs et en prenant les réponses par défaut qui ne sont pas forcément celles qui vous conviennent.

N'utilisez donc *jamais* cette commande au quotidien ! Elle peut cependant être tentée, dans un but de curiosité, sur des systèmes irrémédiablement compromis.
Outils personnels
Autres langues