8.5. Configurer Yum et les référentiels Yum
Note
/etc/yum.conf. Ce fichier contient une section [main] obligatoire, qui vous permet de définir les options yum qui ont un effet global, et peut également contenir une ou plusieurs section(s) [repository], ce qui vous permet de définir des options spécifiques au référentiel. Cependant, il est recommandé de définir des référentiels individuels dans les fichiers .repo existants ou nouveaux, qui se trouvent dans le répertoire /etc/yum.repos.d/. Les valeurs que vous définissez dans les sections [repository] du fichier /etc/yum.conf remplacent les valeurs définies dans la section [main].
- définir des options yum globales en modifiant la section
[main]du fichier de configuration/etc/yum.conf; - définir des options de référentiels individuels en modifiant les sections
[repository]des fichiers/etc/yum.confet.repodans le répertoire/etc/yum.repos.d/; - utiliser des variables yum dans
/etc/yum.confet des fichiers dans le répertoire/etc/yum.repos.d/afin que la version dynamique et les valeurs de l'architecture soient gérées correctement ; - ajouter, activer, et désactiver des référentiels yum sur la ligne de commande ;
- définir votre propre référentiel yum personnalisé.
8.5.1. Définir les options [main] Copier lienLien copié sur presse-papiers!
/etc/yum.conf contient une seule section [main] précisément, et même si certaines des paires clés-valeurs dans cette section affectent la manière dont yum opère, d'autres affectent la manière dont yum traite les référentiels. Vous pouvez ajouter de nombreuses options sous l'en-tête de la section [main] dans /etc/yum.conf.
/etc/yum.conf ressemble à ceci :
[main] les plus couramment utilisées :
assumeyes=value- L'option
assumeyespermet de déterminer si yum demande de confirmer les actions critiques ou non. Remplacez value par l'une des valeurs suivantes :0(par défaut) — yum demande de confirmer les actions critiques effectuées.1— ne demande pas de confirmer les actions critiques deyum. Siassumeyes=1est défini, yum se comportera de la même manière qu'avec les options de ligne de commande-yet--assumeyes. cachedir=directory- Veuillez utiliser cette option pour définir le répertoire dans lequel yum stockera son cache et ses fichiers de base de données. Remplacez directory par un chemin complet vers le répertoire. Par défaut, le répertoire du cache de yum est le suivant :
/var/cache/yum/$basearch/$releasever/.Veuillez consulter la Section 8.5.3, « Utiliser des variables Yum » pour les descriptions des variables yum$basearchet$releasever. debuglevel=value- Cette option indique le niveau de détails de la sortie de débogage produite par yum. Ici, value est un entier entre
1et10. Définir une valeurdebuglevelplus élevée amènera yum à afficher une sortie de débogage plus détaillée.debuglevel=2est la valeur par défaut, tandis quedebuglevel=0désactive la sortie de débogage. exactarch=value- Avec cette option, vous pouvez définir yum pour que l'architecture exacte soit prise en considération lors de la mise à jour de paquets installés au préalable. Veuillez remplacer value par :
0— ne pas prendre en compte l'architecture exacte pendant la mise à jour des paquets.1(par défaut) — prendre en considération l'architecture exacte pendant la mise à jour des paquets. Avec ce paramètre, yum n'installera pas de paquets pour une architecture 32 bits pour mettre à jour un paquet déjà installé sur un système avec une architecture 64 bits. exclude=package_name [more_package_names]- L'option
excludevous permet d'exclure des paquets par mot-clé pendant une installation ou une mise à jour du système. Il est possible de sélectionner plusieurs paquets les exclure en indiquant une liste de paquets délimités par des espaces. Les expression glob du shell utilisant des caractères génériques (par exemple,*et?) sont autorisées. gpgcheck=value- Veuillez utiliser l'option
gpgcheckpour spécifier si yum doit effectuer une vérification des signatures GPG sur les paquets. Remplacez value par :0— désactive la vérification des signatures GPG sur les paquets de tous les référentiels, y compris l'installation de paquets locaux.1(par défaut) — active la vérification de signatures GPG sur tous les paquets dans tous les référentiels, y compris l'installation de paquets locaux. Lorsquegpgcheckest activé, les signatures de tous les paquets sont vérifiées.Si cette option est définie dans la section[main]du fichier/etc/yum.conf, elle définit une règle de vérification GPG pour tous les référentiels. Cependant, vous pouvez également définirgpgcheck=valuepour les référentiels individuels à la place ; c'est-à-dire que vous pouvez activer la vérification GPG sur un référentiel tout en le désactivant sur un autre. Définirgpgcheck=valuepour un référentiel individuel dans son fichier.repocorrespondant remplace la valeur par défaut si elle est présente dans/etc/yum.conf.Pour obtenir davantage d'informations sur la vérification de signatures GPG, veuillez consulter la Section A.3.2, « Vérification des signatures de paquets ». group_command=value- Utilisez l'option
group_commandpour spécifier de quelle manière les commandesyum group install,yum group upgrade, etyum group removegèrent un groupe de paquets. Remplacez value par l'une des valeurs suivantes :simple— installe tous les membres d'un groupe de paquets. Met à niveau les paquets installés antérieurement uniquement, mais n'installe pas de paquets qui ont été ajoutés au groupe entretemps.compat— est similaire àsimplemaisyum upgradeinstalle également des paquets qui ont été ajoutés au groupe depuis la mise à niveau précédente.objects— (par défaut.) Avec cette option, yum garde sous surveillance les groupes installés antérieurement et fait une distinction entre les paquets installés faisant partie du groupe et les paquets installés séparément. Veuillez consulter l'Exemple 8.15, « Afficher des informations sur le groupe de paquets LibreOffice » group_package_types=package_type [more_package_types]- Vous pouvez spécifier ici quel type de paquet (optionnel, par défaut ou obligatoire) est installé lorsque la commande
yumgroupinstallest appelé. Les types de paquets par défaut et obligatoire sont choisis par défaut. history_record=value- Avec cette option, vous pouvez définir yum pour enregistrer l'historique des transactions. Remplacez value par l'une des valeurs suivantes :
0— yum ne doit pas enregistrer d'entrées de l'historique pour les transactions.1(par défaut) — yum devrait enregistrer les entrées de l'historique des transactions. Cette opération prend une certaine quantité d'espace disque et un certain temps supplémentaire avec les transactions, mais elle fournit également de nombreuses informations concernant les anciennes opérations, qui peuvent être affichées par la commandeyumhistory.history_record=1est la valeur par défaut.Pour obtenir davantage d'informations sur la commandeyumhistory, veuillez consulter la Section 8.4, « Utiliser l'historique des transactions ».Note
Yum utilise des enregistrements de l'historique pour détecter les modifications apportées à la base de donnéesrpmdbqui ont été effectuées hors de yum. Dans de tels cas, yum affiche un avertissement et recherche automatiquement les problèmes possibles causés par l'altération derpmdb. Lorsquehistory_recordest éteint, yum n'est pas en mesure de détecter ces changements et aucune vérifications automatique n'est effectuée. installonlypkgs=space separated list of packages- Ici vous pouvez fournir une liste de paquets séparés par des virgules que yum peut installer, mais ne mettra jamais à jour. Veuillez consulter la page man
yum.conf(5) pour obtenir la liste des paquets qui sont par défaut « install-only » (uniquement pour installation).Si vous ajoutez la directiveinstallonlypkgsà/etc/yum.conf, vous devriez vous assurer de répertorier tous les paquets install-only, y compris ceux répertoriés sous la sectioninstallonlypkgsdeyum.conf(5). Particulièrement, les paquets du noyau doivent toujours être répertoriés dansinstallonlypkgs(comme ils le sont par défaut), etinstallonly_limitdevrait toujours être défini sur une valeur supérieure à2afin qu'un noyau de secours soit toujours disponible en cas d'échec du démarrage du noyau par défaut. installonly_limit=value- Cette option définit combien de paquets répertoriés dans la directive
installonlypkgspeuvent être installés au même moment. Remplacez value par un entier représentant le nombre maximal de versions pouvant être installées simultanément pour tout paquet unique répertorié dansinstallonlypkgs.Les valeurs par défaut de la directiveinstallonlypkgsincluent plusieurs paquets de noyaux différents. Ainsi, veuillez ne pas oublier que modifier la valeur deinstallonly_limitaffecte également le nombre maximal de versions installées pour un paquet de noyau unique. La valeur par défaut répertoriée dans/etc/yum.confestinstallonly_limit=3, et il n'est pas recommandé de réduire cette valeur, et plus particulièrement à une valeur inférieure à2. keepcache=value- L'option
keepcachedétermine si yum garde le cache des en-têtes et des paquets après une installation réussie. Ici, value correspond à l'une des valeurs suivantes :0(par défaut) — ne pas retenir le cache des en-têtes et des paquets après une installation réussie.1— retenir le cache après une installation réussie. logfile=file_name- Pour spécifier l'emplacement de journalisation de la sortie, veuillez remplacer file_name par un chemin complet vers le fichier dans lequel yum écrira la sortie journalisée. Par défaut, yum enregistre les journaux dans
/var/log/yum.log. max_connenctions=number- value correspond au nombre maximal de connexions simultanées, la valeur par défaut est 5.
multilib_policy=value- L'option
multilib_policydéfinit le comportement de l'installation si plusieurs versions de l'architecture sont disponibles pour une installation de paquet. Ici, value correspond à :best— installe le meilleur choix d'architecture pour ce système. Par exemple, paramétrermultilib_policy=bestsur un système AMD64 amène yum à installer les versions 64 bits de tous les paquets.all— installe à chaque fois toutes les architectures possibles pour chaque paquet. Par exemple, avecmultilib_policydéfini surallsur un système AMD64, yum installerait les versions i686 et AMD64 d'un paquet, si ces deux versions étaient disponibles. obsoletes=valeur- L'option
obsoletesactive la logique de traitement obsolète pendant les mises à jour. Lorsqu'un paquet déclare dans son fichier de spécifications qu'il rend un autre paquet obsolète, ce dernier est remplacé par l'ancien paquet lorsque le premier est installé. Les fichiers obsolètes sont déclarés, par exemple, lorsqu'un paquet est renommé. Remplacez valeur par soit :0— désactive la logique de traitement obsolète de yum lorsque des mises à jour sont effectuées.1(par défaut) — active la logique de traitement obsolète de yum lorsque des mises à jour sont effectuées. plugins=value- Interrupteur global pour activer ou désactiver les greffons yum, value est l'une des valeurs suivantes :
0— désactive tous les greffons yum globalement.Important
La désactivation de tous les greffons n'est pas recommandée car certains greffons fournissent des services yum importants. En particulier, les greffons product-id et subscription-manager fournissent la prise en charge duContent Delivery Network(CDN) basé certificats. La désactivation globale des greffons est offerte en tant qu'option pratique, et n'est généralement recommandée que lors du diagnostique d'un problème potentiel avec yum.1(par défaut) — active tous les greffons yum globalement. Avecplugins=1, vous pouvez toujours désactiver un greffon yum spécifique en paramétrantenabled=0dans le fichier de configuration de ce greffon.Pour obtenir davantage d'informations sur les divers greffons yum, veuillez consulter la Section 8.6, « Greffons Yum ». Pour obtenir des informations supplémentaires sur le contrôle des greffons, veuillez consulter la Section 8.6.1, « Activer, configurer, et désactiver des greffons Yum ». reposdir=directory- Ici, directory est un chemin complet vers le répertoire où se trouvent les fichiers
.repo. Tous les fichiers.repocontiennent des informations de référentiel (similairement aux sections[référentiel]de/etc/yum.conf). Yum collecte toutes les informations des référentiels des fichiers.repoet la section[référentiel]du fichier/etc/yum.confpour créer une liste maître des référentiels à utiliser pour des transactions. Sireposdirn'est pas défini, yum utilisera le répertoire par défaut/etc/yum.repos.d/. retries=valeur- Cette option définit le nombre de fois que yum doit tenter de récupérer un fichier avant de retourner une erreur. value est un entier
0ou supérieur. Définir la valeur sur0fait que yum effectuera des tentatives indéfiniement. La valeur par défaut est10.
[main] disponibles, veuillez consulter la section [main] OPTIONS de la page man de yum.conf(5).
8.5.2. Définir les options [repository] Copier lienLien copié sur presse-papiers!
[repository], où repository est un ID de référentiel unique, tel que my_personal_repo (les espaces ne sont pas autorisés), vous permet de définir des référentiels yum individuels. Afin d'éviter tout conflit, les référentiels personnalisés ne doivent pas utiliser des noms utilisés dans les référentiels Red Hat.
[repository] :
[repository] name=repository_name baseurl=repository_url
[repository]
name=repository_name
baseurl=repository_url
[référentiel] doit contenir les directives suivantes :
name=nom référentiel- Ici, nom référentiel est une chaîne lisible par l'utilitsateur décrivant le référentiel.
baseurl=url référentiel- Remplacez url référentiel par un URL vers le répertoire où se trouve le référentiel repodata d'un référentiel :
- Si le référentiel est disponible sur HTTP, veuillez utiliser :
http://path/to/repo - Si le référentiel est disponible sur FTP, veuillez utiliser :
ftp://path/to/repo - Si le référentiel est local à la machine, veuillez utiliser :
file:///path/to/local/repo - Si un référentiel en ligne spécifique requiert une authentification HTTP de base, vous pouvez spécifier votre nom d'utilisateur et mot de passe en les ajoutant au début de l'URL comme ceci :
nom d'utilisateur:mot de âsse@lien. Par exemple, si un référentiel sur http://www.example.com/repo/ requiert un nom d'utilisateur « user » et un mot de passe « password », alors le lienbaseurllink pourra être spécifié comme suit :http://.user:password@www.example.com/repo/
Habituellement, cet URL est un lien HTTP, tel que :baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/
baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remarquez que yum étend toujours les variables$releasever,$arch, et$basearchdans les URL. Pour obtenir davantage d'informations sur les variables yum, veuillez consulter la Section 8.5.3, « Utiliser des variables Yum ».
[référentiel] utiles incluent :
enabled=valeur- Ceci est une manière simple de dire à yum d'utiliser ou d'ignorer un référentiel en particulier, la value correspond à l'une des valeurs suivantes :
0— ne pas inclure ce référentiel en tant que source de paquet lorsque vous effectuez des mises à jour et des installations. Ceci est une manière simple d'activer et de désactiver des référentiels, ce qui est utile lorsque vous souhaitez un certain paquet d'un référentiel que vous ne souhaitez pas activer pour les mises à jour ou les installations.1— inclure ce référentiel en tant que source de paquets.Activer et désactiver des référentiels peut également être effectué en passant l'option--enablerepo=repo_nameou--disablerepo=repo_namesuryum, ou par la fenêtre Ajouter/Supprimer un logiciel de l'utilitaire PackageKit. async=valeur- Contrôle le téléchargement parallèle de paquets de référentiels. La valeur correspond à :
auto(par défaut) — un téléchargement parallèle est utilisé si possible, ce qui signifie que yum le désactive automatiquement pour les référentiels créés par les greffons afin d'éviter des échecs.on— téléchargement parallèle activé pour le référentiel.off— téléchargement parallèle désactivé pour le référentiel.
[référentiel] existent. Quelques-unes d'entre elles ont la même forme et fonction que certaines options [main]. Pour une liste complète, veuillez consulter la section [repository] OPTIONS de la page man deyum.conf(5).
Exemple 8.25. Exemple de fichier /etc/yum.repos.d/redhat.repo
/etc/yum.repos.d/redhat.repo :
8.5.3. Utiliser des variables Yum Copier lienLien copié sur presse-papiers!
yum et dans tous les fichiers de configuration yum (c'est-à-dire /etc/yum.conf et tous les fichiers .repo dans le répertoire /etc/yum.repos.d/) :
$releasever- Vous pouvez utiliser cette variable pour faire référence à la version Red Hat Enterprise Linux. Yum obtient la valeur de
$releaseverà partir de la lignedistroverpkg=valuedans le fichier de configuration/etc/yum.conf. Si cette ligne n'existe pas dans/etc/yum.conf, alors yum déduira la valeur correcte en dérivant la numéro de version à partir du paquetredhat-releaseproduitqui fournit le fichierredhat-release. $arch- Vous pouvez utiliser cette variable pour faire référence à l'architecture du CPU du système comme retourné lors d'un appel à la fonction
os.uname()de Python. Les valeurs valides de$archincluent :i586,i686etx86_64. $basearch- Vous pouvez utiliser
$basearchpour faire référence à l'architecture de base du système. Par exemple, les machines i686 et i586 ont toutes deux une architecture de basei386, et les machines AMD64 et Intel64 ont une architecture de basex86_64. $YUM0-9- Ces dix variables sont chacunes remplacées par la valeur d'une variable d'environnement shell du même nom. Si l'une de ces variables est référencée (par exemple dans
/etc/yum.conf) et qu'une variable d'environnement shell du même nom n'existe pas, alors la variable du fichier de configuration ne sera pas remplacée.
$ ») dans le répertoire /etc/yum/vars/, et ajoutez la valeur souhaitée sur la première ligne.
$osname, créez un nouveau fichier avec « Red Hat Enterprise Linux » sur la première ligne et enregistrez-le sous /etc/yum/vars/osname :
echo "Red Hat Enterprise Linux 7" > /etc/yum/vars/osname
~]# echo "Red Hat Enterprise Linux 7" > /etc/yum/vars/osname
.repo :
name=$osname $releasever
name=$osname $releasever
8.5.4. Afficher la configuration actuelle Copier lienLien copié sur presse-papiers!
[main] du fichier /etc/yum.conf), veuillez exécuter la commande yum-config-manager sans aucune option de ligne de commande :
yum-config-manager
yum-config-manager
yum-config-manager section…
yum-config-manager section…
yum-config-manager glob_expression…
yum-config-manager glob_expression…
Exemple 8.26. Afficher la configuration de la section principale
8.5.5. Ajouter, activer, et désactiver un référentielr Yum Copier lienLien copié sur presse-papiers!
Note
yum-config-manager.
Important
Content Delivery Network (CDN) basé sur certificats, les outils Red Hat Subscription Manager sont utilisés pour gérer des référentiels dans le fichier /etc/yum.repos.d/redhat.repo.
Ajouter un référentiel Yum
[référentiel] dans le fichier /etc/yum.conf, ou au fichier .repo du répertoire /etc/yum.repos.d/. Tous les fichiers avec l'extension de fichier .repo présents dans ce répertoire sont lus par yum, et il est recommandé de définir vos référentiels ici plutôt que dans /etc/yum.conf.
Avertissement
Content Delivery Network (CDN) basé sur certificats de Red Hat constitue un risque de sécurité potentiel, et pourrait provoquer des problèmes de sécurité, de stabilité, de compatibilité, et de maintenance.
.repo. Pour ajouter un tel référentiel à votre système et pour l'activer, veuillez exécuter la commande suivante en tant qu'utilisateur root :
yum-config-manager --add-repo repository_url
yum-config-manager --add-repo repository_url
.repo.
Exemple 8.27. Ajouter example.repo
Activer un référentiel Yum
root :
yum-config-manager --enable repository…
yum-config-manager --enable repository…
yum repolist all pour répertorier les ID des référentiels disponibles). Alternativement, vous pouvez utiliser une expression glob pour activer tous les référentiels correspondants :
yum-config-manager --enable glob_expression…
yum-config-manager --enable glob_expression…
Exemple 8.28. Activer les référentiels définis dans des sections personnalisées de /etc/yum.conf.
[example], [example-debuginfo], et [example-source], veuillez saisir :
Exemple 8.29. Activer tous les référentiels
/etc/yum.conf et dans le répertoire /etc/yum.repos.d/, saisissez :
yum-config-manager --enable affiche la configuration du référentiel actuel.
Désactiver un référentiel Yum
root :
yum-config-manager --disable repository…
yum-config-manager --disable repository…
yum repolist all pour répertorier les ID des référentiels disponibles). De même qu'avec yum-config-manager --enable, vous pouvez utiliser une expression glob pour désactiver tous les référentiels correspondants en même temps :
yum-config-manager --disable glob_expression…
yum-config-manager --disable glob_expression…
Exemple 8.30. Désactiver tous les référentiels
/etc/yum.conf et dans le répertoire /etc/yum.repos.d/, saisissez :
yum-config-manager --disable affiche la configuration actuelle.
8.5.6. Création d'un référentiel Yum Copier lienLien copié sur presse-papiers!
- Installez le paquet createrepo. Pour faire cela, veuillez saisir ce qui suit dans l'invite shell en tant qu'utilisateur
root:yum install createrepo
yum install createrepoCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Copiez tous les paquets que vous souhaitez avoir dans votre référentiel dans un seul répertoire, comme
/mnt/local_repo/. - Déplacez-vous sur ce répertoire et exécutez la commande suivante :
createrepo --database /mnt/local_repo
createrepo --database /mnt/local_repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceci crée les métadonnées nécessaires pour votre référentiel yum, ainsi que la base de données sqlite pour accélérer les opérations yum.