J'ai deux machines CentOS, une boîte 6.3 ( A ) et une autre CentOS 6.1. ( B )
La boîte 6.3 est avec connexion Internet, la boîte 6.1 est sans connexion Internet.
Je souhaite télécharger TOUTES les dépendances d'un produit sur la boîte A, puis copier ces n boîtes B et installer le produit.
J'ai essayé avec
yum --downloadonly --downloaddir=*~/downloadrepo* -y install *product*`
cd *~/downloadrepo*
createrepo .
Ensuite, j'ai désactivé tous les référentiels (avec --disablerepo), à l'exception de mon référentiel, et installé le produit sur la même machine (encadré A). Aucune erreur.
yum install *product*
Maintenant, quand j'ai copié ce dépôt dans la boîte B et essayé d'installer avec la même commande, il commence l'installation, mais donne ensuite beaucoup d'erreurs comme ci-dessous:
Erreur: dépendance manquante: libldap-2.3.so.0 () (64 bits) est requis par le package php-ldap-5.1.6-27.el5_5.3.x86_64 (installé)
Puis-je obtenir ce dont j'ai besoin?
MISE À JOUR
Au moment où j'ai commencé à travailler avec l'option suggérée par @rkosegi ( --releasever = version ), on m'a donné une nouvelle boîte avec la même version CentOS 6.1 ( C )
J'ai essayé les commandes mentionnées ci-dessus sur la boîte C, et copié le repo dans la boîte B. Pourtant, il a échoué. La raison: bien que les deux cases soient 6.1, celles-ci ne sont pas identiques ( uname -r renvoie des chaînes différentes).
Yum ne télécharge pas les dépendances, si celles-ci sont déjà installées. Donc, mon dépôt ne contenait pas certaines des dépendances (y compris OpenJDK). Ainsi, lorsque j'essaie d'installer sur Box B, cela échoue.
Assez frustrant !!!
Mais j'ai trouvé la commande « repotrack » ici .
cd ~/downloadrepo
repotrack -p . -a x86_64 product
createrepo .
J'ai beaucoup plus de fichiers qu'avec miam, j'espère que ça fera l'affaire.
Je mettrai à jour, une fois que j'essaierai d'installer.
MISE À JOUR
Le repotrack de commande n'a pas fonctionné pour moi. Lorsque j'ai essayé d'installer à partir du référentiel créé avec 'repotrack', j'ai obtenu les erreurs suivantes:
Error: Package: perl-CGI-3.51-127.el6.x86_64 (repo-local)
Requires: perl = 4:5.10.1-127.el6
Installed: 4:perl-5.10.1-119.el6_1.1.x86_64 (@anaconda-CentOS-201112102333.x86_64/6.2)
perl = 4:5.10.1-119.el6_1.1
Error: Package: audit-libs-python-2.2-2.el6.x86_64 (repo-local)
Requires: audit-libs = 2.2-2.el6
Installed: audit-libs-2.1.3-3.el6.x86_64 (@anaconda-CentOS-201112102333.x86_64/6.2)
audit-libs = 2.1.3-3.el6
J'ai essayé de supprimer ces deux fichiers du dossier et de reconstruire le référentiel avec 'createrepo'. Cela a donné un autre ensemble d'erreurs.
Je ne sais pas quelles options j'ai en ce moment ...