Création d'un dépôt Yum local et synchronisation des dépôts Yum publics

Avant de procéder à la synchronisation d'un dépôt Yum distant, il est conseillé d'évaluer la taille totale des paquets RPM à télécharger. La commande suivante permet d'afficher les informations détaillées d'un dépôt spécifique :

yum repolist AppStream -v

Synchronisation de l'arborescence d'un dépôt distant avec wget

L'outil wget offre plusieurs options pour récupérer tout ou partie d'un dépôt distant. Pour reproduire fidèlement la structure des répertoires tout en excluant certains fichiers non désirés :

wget -r -np -nH -R iso,index.html* https://mirrors.cmecloud.cn/bclinux/el8.2/

Pour télécharger uniquement les paquets RPM sans conserver l'arborescence :

wget -nd -r -l1 -A.rpm --no-parent -e robots=off https://mirrors.cmecloud.cn/bclinux/el7.8/updates/x86_64/Packages/

Pour récupérer spécifiquement le contenu du dossier repodata :

wget -c -r -np -nd -k -L -p --reject index.html* https://mirrors.cmecloud.cn/bclinux/el7.8/updates/x86_64/repodata/

Synchronisation via les outils natifs de l'écosystème Yum

Configuration du cache Yum

Il est possible de configurer Yum pour qu'il conserve une copie de chaque paquet installé. Cette option se trouve dans le fichier de configuration principal :

# Édition du fichier de configuration
vim /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1

La directive keepcache définie à 1 active la conservation des paquets téléchargés lors des opérations d'installation.

Méthode 1 : yumdownloader

L'utilitaire yumdownloader permet de récupérer des paquets RPM sans procéder à leur installation. Il est fourni par le paquet yum-utils :

yum install yum-utils -y

Paramètres fréquemment utilisés :

  • --destdir : chemin de destination pour les paquets téléchargés
  • --resolve : résout et télécharge également les dépendances

Exemple d'utilisation :

yumdownloader --destdir=/tmp/rpms --resolve httpd

Méthode 2 : option --downloadonly de yum

La commende yum propose une option permettant de télécharger un paquet et ses dépendances sans l'installer. On l'utilise généralement conjointement avec --downloaddir :

yum install --downloadonly --downloaddir=/tmp/rpms httpd

Si le paquet est déjà installé sur le système, il faut utiliser reinstall à la place de install :

yum reinstall --downloadonly --downloaddir=/tmp/rpms httpd

Si l'option --downloadonly n'est pas reconnue, il convient d'installer le plugin correspondant :

yum install yum-plugin-downloadonly

Méthode 3 : reposync

L'outil reposync est la solution la plus complète pour répliquer intégralement un dépôt distant vers un emplacement local. Il fait également partie du paquet yum-utils.

Paramètres principaux :

  • -r : identifiant du dépôt tel que défini dans la configuration locale
  • -p : répertoire de destination pour la synchronisation

Exemple pratique avec un dépôt EPEL :

reposync -r epel -p /opt/miroir_epel

Exemple avec un dépôt spécifique sur un système BC-Linux :

# Vérification des dépôts disponibles
yum repolist

# Synchronisation du dépôt "cr" vers un répertoire local
reposync --repo cr -p /root/miroir_local/

Étiquettes: YUM RPM wget reposync yumdownloader

Publié le 17 juillet à 00h34