GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un référentiel Red Hat local

Il existe de nombreuses raisons pour lesquelles vous pouvez souhaiter un référentiel Red Hat Enterprise Linux local. La bande passante est un facteur majeur car le téléchargement de mises à jour à partir d'Internet peut prendre beaucoup de temps et de bande passante. Une autre raison peut être que vos serveurs ne sont pas connectés à Internet et doivent donc obtenir leurs mises à jour à partir d'une source locale. Vous pouvez avoir un environnement de développement pour lequel vous préféreriez ne pas dépenser d'argent en licences, mais que vous devez tout de même mettre à jour. Quelle que soit votre raison, ce didacticiel vous guidera tout au long du processus d'installation de votre référentiel local.

Remarque :Le serveur qui sert de référentiel ne doit servir que de référentiel.

Installer les packages nécessaires pour les référentiels

yum install yum-utils createrepo httpd

Créer les répertoires de vos dépôts

mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc

Commandes utiles

Répertoriez les dépôts sur votre serveur activés et désactivés.

yum repolist all

Lister les dépôts disponibles sur votre abonnement

subscription-manager repos --list

Activer un dépôt sur votre système

subscription-manager repos --enable=rhel-6-server-optional-rpms

Désactiver un dépôt sur votre système

subscription-manager repos --disble=rhel-6-server-optional-rpms

Nous voulons que les référentiels serveur, dts et rhsc (collections de logiciels) soient activés sur le référentiel

synchroniser les dépôts

Une fois que tous ces référentiels ont été activés, exécutez la commande suivante pour chacun d'eux en modifiant le download_path pour chacun afin qu'il corresponde au download_path de ce référentiel.

reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata

Remarque :Le dépôt du serveur prendra le plus de temps. Comme toute la nuit. Les autres devraient être beaucoup plus courts.

Commande Createrepo

Une fois les packages téléchargés, il suffit de cliquer sur la commande createrepo ci-dessous pour chaque référentiel

createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml

Remarque :Le -g comps.xml n'est nécessaire que pour le dépôt du serveur.

Configuration des serveurs clients

Vous disposez maintenant d'un référentiel local, mais vous devez apporter quelques modifications à vos serveurs Red Hat qui utiliseront ces référentiels pour les mises à jour.

Assurez-vous d'abord que tous les autres dépôts ont l'indicateur activé défini sur 0 (zéro) dans le fichier de dépôt dans /etc/yum.repos.d. Je ne supprimerais pas les repos pour l'instant car vous pourriez en avoir besoin plus tard. Il suffit de changer le drapeau activé.

Vous devez maintenant créer un fichier .repo qui sera ajouté au répertoire /etc/yum.repos.d sur chaque serveur utilisant les référentiels. Ce fichier devrait ressembler au fichier suivant.

vi /etc/yum.repos.d/name_of_repo_file.repo
[server]
name = rhel-6-server-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/server
gpgcheck = 0
enabled = 1

[dts]
name = rhel-server-dts-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts
gpgcheck = 0
enabled = 1

[dts2]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

[rhsc]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

Créer un script et une tâche Cron pour mettre à jour vos référentiels

Créez un script nommé update-repository.sh et placez-le dans /usr/local/bin avec le contenu suivant :

vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log
reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/server/
reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts/ \\
reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts2/
echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh

Notez que je l'ai déposé dans un journal que j'ai configuré pour une rotation mensuelle.

Créez un fichier dans /etc/cron.d et nommez-le update-repository avec le contenu suivant.

vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh

Réflexions finales

Il existe de nombreuses façons différentes de mettre en place un référentiel local et je n'ai certainement pas inventé la roue pour celle-ci. Consultez mes sources ci-dessous pour plus d'informations et un aperçu de votre configuration.

Sources

  • https://access.redhat.com/solutions/23016
  • http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html
  • https://www.howtoforge.com/creating_a_local_yum_repository_centos

Linux
  1. Comment activer le référentiel EPEL sur RHEL 7 sans abonnement Red Hat en cours

  2. Comment activer l'abonnement Red Hat sur RHEL 8

  3. Comment créer un référentiel YUM local sur RHEL 8 à l'aide d'un DVD

  4. Créer un référentiel YUM/DNF basé sur FTP sur Red Hat Enterprise Linux 8

  5. Créer un référentiel YUM/DNF basé sur Apache sur Red Hat Enterprise Linux 8

Comment créer un référentiel rpm personnalisé sous Linux

Comment créer un serveur de référentiel Ubuntu

Comment créer votre propre dépôt pour les paquets sur Debian

Ajout d'un référentiel EPEL 8 à Red Hat Satellite 6

Comment exclure un référentiel spécifique pour la mise à jour Yum dans CentOS / Red Hat

Comment activer le référentiel Remi sur Fedora/Red Hat pour installer la pile LAMP