fp-wiki>ImportUser (Imported from MoinMoin) |
m (1 revision(s)) |
(No difference)
|
Revision as of 16:36, 24 May 2008
yum
Traduit de la version originale de yum
'yum
' est un gestionnaire de paquetages. C'est un outil d'installation, de mise à jour et de suppression de paquetages et de leur dépendances sur les systèmes basés sur RPM. Il résout automatiquement les dépendances avant d'installer les paquetages. Cela rend les groupes de machines plus faciles à maintenir sans avoir à les mettre à jour manuellement en utilisant la commande 'rpm
'.
Les caractéristiques de yum sont les suivantes:
- Support des dépôts multiples
- Configuration simple
- Calcul des dépendances
- Fonctionnement rapide
- Comportement consistant du RPM
- Support des groupes de paquetages incluant les groupes de depôts multiples
- Interface simple
Par défaut, yum utilise des dépôts en ligne mais il peut être configuré pour utiliser des dépôts de paquets locaux. Pour plus d'informations, consultez http://fedora.redhat.com/docs/yum (version anglaise). Vous pouvez aussi utiliser la commande 'man
' sur votre système Fedora Core pour obtenir la documentation de base.
man yum
Le site officiel du projet yum est http://linux.duke.edu/projects/yum/.
Existe-t-il une interface graphique pour yum telle que synaptic?
Par défaut, dans Fedora Core 5, le gestionnaire de paquetages avec interface graphique est Pirut accompagné de Pup pour les mises à jour. Les paquets 'yumex' et 'kyum' sont disponibles depuis Fedora Extras. Ils peuvent être installés au besoin par les commandes suivantes:
yumex:
yum install yumex
kyum:
yum install kyum
La vitesse de yum est-elle comparable à celle d'APT-RPM ?
yum vérifie automatiquement les dépôts chaque fois vous exécutez une commande (sauf en mode shell), tandis que APT les vérifie seulement lorsque vous lancez 'apt-get update
' manuellement. Ainsi, yum semble plus lent qu'il ne l'est. Si vous voulez que yum s'exécute depuis le cache au lieu de vérifier les dépôts, exécutez 'yum -C <command>
'. Consultez la page man pour plus de détails.
yum utilise maintenant sqlite par défaut pour sa base de données. Il en résulte une vitesse plus élevée que dans les anciennes version de yum. A partir de Fedora Core 4, yum recèle des améliorations significatives qui le rendent plus rapide et plus capable que les anciennes versions.
Qu'en est-il des des autres fonctionnalités avancées de APT qui ne sont pas disponibles dans yum ?
Vous pouvez obtenir ces fonctionnalités grâce au paquetage yum-utils (disponible dans le dépôt Fedora Extras). Set Vidal, sur son blog , décrit les divers outils disponibles grâce à yum-utils.
La commande suivante installe le paquetage depuis le dépôt Fedora Extras. Si vous utilisez Fedora Core 4 ou les versions ultérieures, ce dépôt est configuré et disponible par défaut. Les utilisateurs de FC3 doivent se référer à la page Utiliser les Extras (en) .
yum install yum-utils
Vous devez être en root pour utiliser cette commande.
Des outils supplémentaires sont en cours de développement.
NOTE: plus d'informations sur APT sont disponibles sur la page Apt .
Astuces
Pour des raisons de sécurité, yum s'arrête s'il y a des problèmes de dépendances dans le dépôt et n'effectue pas de mises à jour partielles. Utilisez ce script selon vos besoins. Assurez vous aimablement de reporter tout problème de dépendance au gestionnaire de bogues du dépôt approprié ou postez sur la liste du projet en question si plus de discussion est nécessaire.
#!/bin/sh for i in <code>yum list updates |cut -f 1 -d " " |grep -A 500 -e Updated |\ grep -v -e Updates<code> ; do echo "Updating $i" yum -y update $i done
Script alternatif:
yum list updates | awk '{ print $1 }' > .packages for i in <code>cat .packages</code>; do yum -y update $i done rm -f .packages
Vérifier et éliminer les doublons
Suivez la procédure décrite sur https://www.redhat.com/archives/fedora-devel-list/2006-July/msg00378.html
Le script ci-dessous cherche des doublons et des versions inégales de paquets RPM et les supprime.
#!/bin/sh dups="gpg-pubkey kernel kernel-devel kernel-smp kernel-smp-devel" filter() { while [ $# -ge 1 ] do skip=0 for d in $dups do if [ "$1" = "$d" ] ; then skip=1 break fi done if [ $skip -eq 0 ] ; then echo $1 fi shift done } list=<code>rpm -qa --queryformat "%{NAME}#%{ARCH}\n" | sort | uniq -c | \ tr '#' ' ' | awk '$1 > 1 { print $2 } '<code> list2=<code>filter $list</code> if [ x"$list2" != "x" ] ; then echo "Duplicates were found:" echo $list2 | xargs rpm -q exit 1 fi list=<code>rpm -qa --queryformat "%{NAME}\n" | sort | uniq -c | \ awk '$1 == 2 { print $2 }'<code> list2=<code>filter $list</code> if [ x"$list2" = "x" ] ; then exit 0 fi list=<code>echo $list2 | tr ' ' '\n' | xargs rpm -q --queryformat \ "%{NAME}-%{VERSION}-%{RELEASE}\n" | sort | uniq -c | \ awk '$1 == 1 { print $2 }'<code> if [ x"$list" = "x" ] ; then exit 0 fi echo "Version mismatches were found:" for l in $list do rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" $l done exit 1