Voici un exemple spécifique utilisant "httpd" comme package pour télécharger et installer. Ce processus a été testé sur CentOS6 et CentOS7.
Installez le matériel dont vous avez besoin et faites un endroit pour mettre les RPM téléchargés:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
Téléchargez les RPM. Cela utilise l' astuce d'installation suggérée ici pour forcer un téléchargement complet de toutes les dépendances car rien n'est installé dans cette racine vide. Yum va créer des métadonnées là-dedans, mais nous allons tout jeter. Notez que pour CentOS7 releasever
serait "7".
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
Oui, c'était la petite version. Vous devriez avoir vu la taille des téléchargements du repo complet!
Générez les métadonnées nécessaires pour transformer notre nouvelle pile de RPM en un repo YUM et nettoyer ce dont nous n'avons plus besoin:
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
Configurez le répertoire de téléchargement en tant que dépôt. Notez que pour CentOS7, le gpgkey serait nommé "7" au lieu de "6":
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Pour vérifier les dépendances manquantes:
# repoclosure --repoid=offline-httpd
Je n'ai pas compris pourquoi sur CentOS7 cela signale des choses comme libssl.so.10(libssl.so.10)(64bit)
manquant httpd-tools
quand openssl-libs-1.0.1e-51.el7_2.2.x86_64.rpm
(le fournisseur de cette bibliothèque) est clairement présent dans le répertoire. Pourtant, si vous voyez quelque chose qui manque manifestement, cela pourrait être une bonne occasion de revenir en arrière et de l'ajouter en utilisant la même yum install --downloadonly
méthode ci-dessus.
Lorsque vous êtes hors ligne ou après avoir copié le /var/tmp/httpd
répertoire du référentiel sur l'autre serveur, configurez-y le référentiel:
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# yum --disablerepo=\* --enablerepo=offline-httpd install httpd
Espérons qu'aucune dépendance ne manque!