Tengo dos máquinas CentOS, una caja 6.3 ( A ) y otra CentOS 6.1. ( B )
6.3 box es con conexión a internet, 6.1 box es sin conexión a internet.
Quiero descargar TODAS las dependencias de un producto en el Cuadro A, luego copiar esas n Cuadro B e instalar el producto.
Lo intenté con
yum --downloadonly --downloaddir=*~/downloadrepo* -y install *product*`
cd *~/downloadrepo*
createrepo .
Luego deshabilité todos los repositorios (con --disablerepo), excepto mi repositorio, e instalé el producto en la misma máquina (Cuadro A). Sin errores.
yum install *product*
Ahora, cuando copié este repositorio en el Cuadro B e intenté instalarlo con el mismo comando, comienza a instalarse, pero luego da muchos errores como a continuación:
Error: Dependencia perdida: el paquete php-ldap-5.1.6-27.el5_5.3.x86_64 (instalado) necesita libldap-2.3.so.0 () (64 bits)
¿De alguna manera puedo lograr lo que necesito?
ACTUALIZAR
Cuando comencé a trabajar con la opción sugerida por @rkosegi ( --releasever = versión ), me dieron una nueva caja con la misma versión CentOS 6.1 ( C )
Intenté los comandos mencionados anteriormente en el Cuadro C y copié el repositorio en el Cuadro B. Aún así falló. La razón: aunque ambos cuadros son 6.1, esos no son idénticos ( uname -r devuelve cadenas diferentes).
Yum no descarga dependencias, si ya están instaladas. Por lo tanto, mi repositorio no contenía algunas de las dependencias (incluido OpenJDK). Entonces, cuando trato de instalar en Box B, falla.
¡Muy frustrante!
Pero luego encontré el comando ' repotrack ' aquí .
cd ~/downloadrepo
repotrack -p . -a x86_64 product
createrepo .
Tengo muchos más archivos que con yum, espero que sirva.
Actualizaré, una vez que intente instalar.
ACTUALIZAR
El repotrack de comandos no funcionó para mí. Cuando intenté instalar desde el repositorio creado con 'repotrack', obtuve los siguientes errores:
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
Intenté eliminar estos dos archivos de la carpeta y reconstruir el repositorio con 'createrepo'. Dio otro conjunto de errores.
No estoy seguro de qué opciones tengo en este momento ...