Yaourt : Différence entre versions

De ArchwikiFR
m (Utilisation de l'option {{codeline|--sucre}} : pacman 4.1: -f n'existe plus (--force reste) (pas un mal, ça))
(Insistance sur la compréhension de makepkg et de ABS nécessaire à l'utilisation d'un AUR helper.)
Ligne 16 : Ligne 16 :
 
== Installation ==
 
== Installation ==
  
Il est important de comprendre le mécanisme d'[[AUR]] pour utiliser '''yaourt'''.
+
Il est important de comprendre le mécanisme d'[[AUR]] pour utiliser '''yaourt''', ainsi que [[ABS]] et [[makepkg]].
 
{{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é.
 
{{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é.
  

Version du 22 décembre 2014 à 12:56

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

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, ainsi que ABS et makepkg.

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.