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: