He construido dos paquetes RPM
proj1-1.0-1.x86_64.rpm
libtest1-1.0-1.x86_64.rpm
proj1
depende del archivo libtest1.so
presente y se refleja correctamente en los paquetes RPM como se ve aquí:
user@my-pc:~$ rpm -qp --requires proj1-1.0-1.x86_64.rpm
libtest1.so()(64bit)
user@my-pc:~$ rpm -qp --provides libtest1-1.0-1.x86_64.rpm
libtest1.so()(64bit)
La instalación de proj1
falla debido a una dependencia que falta.
user@my-pc:~$ rpm -ivh proj1-1.0-1.x86_64.rpm
error: Failed dependencies:
libtest1.so()(64bit) is needed by proj1-1.0-1.x86_64.rpm
¿Cómo me aseguro de que libtest1-1.0-1.x86_64.rpm
se instala automáticamente durante la instalación de proj1-1.0-1.x86_64.rpm
?
Probé la --aid
opción rpm -i
como se describe aquí, pero no funcionó para mí.
¿Hay alguna otra manera?
Gracias por cualquier ayuda.
yum --nogpgcheck localinstall packagename.arch.rpm
.yum localinstall
y es lo mismo que la respuesta ya publicada aquí , con las desventajas ya discutidas para situaciones en las que las dependencias no están en repositorios yum (vea que este método no funcionará a menos que sea parte).sudo yum --disablerepo=* --enablerepo=local install packagename.arch.rpm
para asegurarse deyum
que no se vea en otros repositorios.El enlace @gertvdijk proporcionado muestra una forma rápida de lograr los resultados deseados sin configurar un repositorio local:
Simplemente cambie
packagename.arch.rpm
al nombre de archivo RPM que desea instalar.Editar Solo una aclaración, esto instalará automáticamente todas las dependencias que ya están disponibles a través de los repositorios YUM del sistema.
Si tiene dependencias satisfechas por otros RPM que no están en los repositorios del sistema, entonces este método no funcionará a menos que también se especifique cada RPM junto con
packagename.arch.rpm
la línea de comando.fuente
libtest1-1.0-1.x86_64.rpm
esté en un repositorio en otro lugar, o ambos paquetes se especifiquen en la línea de comandos como "rpm -i
" lo requeriría. Acabo de verificar esto enyum
3.4.3 (Fedora 18). Transcripción aquí que muestra que va alupdates
repositorio de las dependencias, incluso cuando los archivos están allí.rpm -i
", por lo que el usoyum
no le proporciona ningún beneficio adicional.Para usuarios de dnf solo use
dnf install *.rpm
,localinstall
ya no es necesario.fuente
mysql-workbench
conrpm -ivh
. finalmente terminó con esta publicación. DNF hizo el truco.Para mí trabajé solo con
Y automáticamente solicitó autorización para descargar las dependencias. Debajo del ejemplo, estoy usando fedora 22
fuente
Encontré una solución más simple. Si tiene todos los RPM en el mismo directorio, todo lo que necesita hacer es,
rpm
parece averiguar el orden correcto para instalarlos e instala los RPM.fuente
La respuesta de Matthew despertó muchas emociones, debido al hecho de que todavía carece de un detalle menor. El comando general sería:
Lo
package_file_name
anterior puede incluir una ruta local absoluta o relativa, o ser una URL (posiblemente incluso un URI).Yum buscaría dependencias entre todos los archivos de paquete dados en la línea de comando Y SI FALTA encontrar las dependencias allí, también usará los repositorios yum configurados y habilitados.
No
package_file_name
se buscará en el directorio de trabajo actual ni en las rutas de ninguno de ellos, excepto cuando alguno de estos directorios se haya configurado previamente como unyum
repositorio habilitado .Entonces, en el caso del OP, el
yum
comando:haría, como haría el
rpm
:La diferencia entre estas
yum
y lasrpm
invocaciones solo sería visible si uno de los paquetes enumerados para instalar tuviera más dependencias de los paquetes que NO figuran en la línea de comandos.En tal caso
rpm
, simplemente se negará a continuar, mientrasyum
que usaría cualquier repositorio yum configurado y habilitado para buscar dependencias, y posiblemente tenga éxito.El directorio de trabajo actual NO se buscará en ningún caso, excepto cuando se haya configurado previamente como un
yum
repositorio habilitado .fuente
Me encontré con esto y lo que funcionó para mí fue ejecutar
yum localinstall enterPkgNameHere.rpm
desde dentro del directorio donde se encuentra el archivo .rpm.Nota: reemplace el
enterPkgNameHere.rpm
con el nombre de su archivo .rpm.fuente
En el caso de openSUSE Leap 15, recibo un error similar:
Ejecuto este comando para descubrir cuáles son las dependencias:
Luego ejecuto este comando para instalar dependencias:
Luego ejecuto esto para instalar el
rpm
archivo:Estoy no está seguro de si es la mejor práctica, sin embargo, resolvió mi problema.
fuente
Paso 1: copie todos los paquetes de rpm en ubicaciones determinadas
Paso 2: si createrepo aún no está instalado, ya que no lo estará de manera predeterminada, instálelo.
Paso 3: cree metedata de repositorio y otorgue el siguiente permiso
Paso 4: Cree un archivo de repositorio con los siguientes contenidos en /etc/yum.repos.d/mysql.repo
Paso 5 Ejecute este comando para instalar
fuente
Simple simplemente ejecute el siguiente comando.
Ingrese su contraseña y ya está.
fuente
Proceso de generar RPM desde el archivo fuente: 1) descargar el archivo fuente con extensión.gz. 2) instale rpm-build y rpmdevtools desde yum install. (se generará la carpeta rpmbuild ... las carpetas SPECS, SOURCES, RPMS ... se generarán dentro de la carpeta rpmbuild). 3) copie el código fuente.gz a la carpeta FUENTES (rpmbuild / SOURCES) 4) Desarme la bola de alquitrán usando el siguiente comando. vaya a la carpeta FUENTES: rpmbuild / SOURCES donde está presente el archivo tar. comando: por ejemplo, tar -xvzf httpd-2.22.tar.gz La carpeta httpd-2.22 se generará en la misma ruta. Compruebe si apr y apr-util y allí en la carpeta httpd-2.22 / srclib. Si no existen apr y apr-util, descargue la última versión del sitio apache, descomprímalo y colóquelo dentro de la carpeta httpd-2.22 / srclib. También asegúrese de tener pcre install en su sistema.
5) vaya a la carpeta extraída y luego escriba el siguiente comando: ./configure --prefix = / usr / local / apache2 --with-included-apr --enable-proxy --enable-proxy-balancer --with-mpm = trabajador --enable-mods-static = all 6) ejecutar debajo del comando una vez que la configuración sea exitosa: make 7) después de la ejecución exitosa del comando make run run: checkinstall en la misma carpeta. (si no tiene el software checkinstall, descargue la última versión del sitio). Además, el software checkinstall tiene un error que se puede resolver de la siguiente manera ::::: busque checkinstallrc y luego reemplace TRANSLATE = 1 a TRANSLATE = 0 usando el comando vim. Verifique también el paquete de exclusión: EXCLUDE = "/ selinux" 8) checkinstall le pedirá la opción (escriba R si desea construir tp rpm para el archivo fuente) 9) El archivo .rpm hecho se construirá en la carpeta RPMS dentro del archivo rpmbuild / RPMS. .. Todo lo mejor ....
Saludos, Prerana
fuente