Reposync

Au sommaire:

  • 1-Qu'est-ce que Repo-Sync
  • 2-Installation
  • 3-Activer ou désactiver un dépôt
  • 4-Synchronisation

1-Qu'est-ce que reposync

Imaginez que vous avez un parc de 200-300 postes dans votre organisation et qu'ils doivent systématiquement se connectés aux serveurs de Red Hat pour télécharger les mises à jours et autres paquets, cela peut provoquer en engorgement du réseau, surtout si cela est fait simultanément.

Imaginez également qu'une coupure internet survient et que les postes n'ont plus accès aux paquets du dépôt. Ce serait ballot.

Avec reposync, le dépôt est synchronisé en local sur l'ensemble des postes. Et même si le dépôt local n'est pas jour (une tâche cron suffit pour automatiser la synchronisation), l'important c'est qu'ils auront accès aux paquets qu'ils souhaitent en cas de besoin.

2-Installation

Installez reposync qui est fournis avec dnf-utils.

sudo dnf install -y dnf-utils

Ensuite, créez un dossier dans /var/tmp en le nommant "repos".

Sudo mkdir /var/tmp/repos

3-Activer ou désactiver un dépôt

Si vous souhaitez désactiver tout les dépôts sauf celui de base, tapez la commande suivante.

sudo subscription-manager repos --disable="*" --enable="rhel-9-for-x86_64-baseos-rpms"

Si vous souhaitez en désactiver un en particulier. Il suffit juste de renommer le fichier en ajoutant "_disable" à la suite.

sudo mv mirror.in2p3.fr_pub_epel_9_Everything_x86_64_.repo mirror.in2p3.fr_pub_epel_9_Everything_x86_64_.repo_disable

Normalement, il ne devrait y avoir qu'un seul dépôt d'activé.

[sussudio@rhel9 ~]$ sudo dnf repolist
Updating Subscription Management repositories.
repo id                                                                                                                           repo name
rhel-9-for-x86_64-baseos-rpms                                                                                                     Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

Pour réactiver un dépôt, mettez "enable" à la place de "disable".

[sussudio@rhel9 ~]$ sudo subscription-manager repos --enable="le_nom_du_dépôt"

4-Synchronisation

Enfin, synchronisez le dépôt dans le dossier /var/tmp/repos.

[sussudio@rhel9 ~]$ sudo reposync --repoid=rhel-9-for-x86_64-baseos-rpms --newest-only --download-metadata --destdir /var/tmp/repos
  • newest-only: téléchargera uniquement les nouvelles versions,
  • download-metadata: télécharge les métadonnées, cela évite de faire un createrepo et d'obtenir un référentiel source,
  • destdir /var/tmp/repos: destination des fichiers téléchargés,

Si vous souhaitez synchroniser tout les dépôts sans distinction, voici la commande.

[sussudio@rhel9 ~]$ sudo reposync --newest-only --download-metadata --destdir /var/tmp/repos

Après que ce soit terminé, si vous refaite de nouveau cette commande, le message "Already downloaded" apparaîtra pour vous indiquer que c'est déjà copié en local.

On vois bien que le dépôt a bien été synchronisé.

Sources:

Red Hat Enterprise Linux 8 Administration | Packt
Develop the skills to manage and administer Red Hat Enterprise Linux and get ready to earn the RHCSA certification