¿Cómo instalo y administro RPM?

85

Tengo un deseo ardiente de instalar RPM en mi instalación de Ubuntu, ¿es esto posible? ¿Puedo usar Yum u otra herramienta de administración de paquetes RPM?

Marco Ceppi
fuente
¿Por qué? ¿Qué tipo de software te estás perdiendo que no puedes encontrar en Ubuntu o en los PPA? Convertir rpms con trabajos alienígenas, pero realmente no es la mejor opción.
phaphink
En mi trabajo diario soy administrador del sistema Linux y administro principalmente máquinas Redhat. Me encanta Ubuntu porque no tengo que llevar mi trabajo a casa, pero algunas cosas que Debian usa para la configuración (principalmente Apache) realmente me vuelven loco. Prefiero la forma en que RH mantiene el software apache. Entonces, mantener dos soluciones de administración de paquetes (yum y aptitude) parece una solución más ideal (si es posible)
Marco Ceppi
Información relacionada: rpm y wikis de etiqueta yum .
Eliah Kagan

Respuestas:

117

¿Puedo usar Yum?

No lo recomendaría Probablemente podría compilarlo, pero no tendría ningún repositorio de paquetes compatible con Ubuntu para que lo maneje.

Usted puede convertir archivos individuales RPM en Debs con Extranjero:

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

Nota: Puede cambiar el nombre del archivo un poco más que solo la extensión.

Esto no funcionará para todo, ya que los paquetes se vinculan a otros paquetes para cumplir con las dependencias. Obviamente, Red Hat / Fedora / CentOS usa diferentes nombres de paquetes para Ubuntu, por lo que es probable que se encuentre con una gran carga de dolor.

Lo más probable es que si no existe un DEB, será mejor que solo obtenga la fuente y la compile.

Oli
fuente
3
Si el extranjero no funciona y usted termina con el código fuente directamente, puede activar de que en un .deb usando checkinstall (que está en el repositorio universo, no se instala por defecto).
ImaginaryRobots
Checkinstall se usa en lugar de make instally es muy útil tenerlo cerca. ¡Ser capaz de eliminar paquetes es definitivamente una ventaja!
persona
checkinstalles excelente para mantener una autoconstrucción en un entorno empaquetado, pero tiene algunas peculiaridades que a veces significan que algo que se instalará make installno se instalará. Lo uso cuando puedo.
Oli
3
que puede hacer alien --install my_package.rpm.
tshepang
Traté de instalar la versión más reciente de lftp de esta manera, pero no actualizó las dependencias, por lo que lftp no puede comenzar a intentar cargar con:error while loading shared libraries: libreadline.so.7
Crouching Kitten
15

Necesitarás alienhacer eso.

sudo apt-get install alien

Esto instalará todos los paquetes necesarios. Ahora puede comenzar a convertir sus archivos .rpm a paquetes .deb.

Opciones disponibles para alien:

Convierta el paquete.rpm en un paquete.deb

sudo alien -d package-name.rpm

Convierta el archivo package.rpmen a package.debe instale el paquete generado.

alien -i package-name.rpm

Si desea evitar que alienígena cambie el número de versión, use el siguiente comando

alien -k rpm-package-file.rpm
Frantique
fuente
6

La respuesta corta es, ¡no lo hagas!

Si tiene un RPM que es tan importante que necesita tenerlo, probablemente también haya un paquete de Ubuntu; y, de no ser así, probablemente valga la pena pasar por el problema de compilarlo desde el origen en el formato del paquete Debian (que también usa Ubuntu). Ahora, hay ciertos momentos en los que no puedes simplemente recompilar el software (si no es de código abierto es imposible) y en ese caso puedes usar el alienprograma. Pero, instalar desde RPM es un poco como poner gasolina en un automóvil diesel: puede funcionar, ¡pero a la larga no se beneficiará!

Para construir un paquete desde la fuente, hay una guía en Ubuntu Wiki; También hay un programa llamado checkinstall que puede hacer algunos trucos con un árbol fuente predeterminado sin configurar las instrucciones de compilación para el paquete. Si crees que alguien más puede beneficiarse de los programas que compilas, puedes configurar un repositorio en la plataforma de lanzamiento y compartir la bondad del paquete.

LassePoulsen
fuente
realmente no respondo a la pregunta, así que -1
Dee
3

Si realmente necesita instalar RPM en su sistema, debería intentar convertirlos usando 'alien'.

Tenga en cuenta que, por defecto, 'alien' se entrometirá con el número de versión del paquete. Si desea que el número de versión permanezca igual, pase la opción '-k' al realizar la conversión.

No debe intentar utilizar Yum ni ninguna otra forma de instalar los RPM, como apt-rpm, junto a los paquetes DEB existentes. Los sistemas DEB y RPM administran la lista de software instalado por separado y, por lo tanto, no saben qué paquetes fueron instalados previamente por el otro sistema. Si, por ejemplo, intenta instalar una aplicación con GUI con un sistema de administración de paquetes basado en RPM, intentará instalar componentes vitales del sistema, porque cree que aún no están instalados. Esto hará que la instalación falle terriblemente o sobrescribirá los archivos vitales del sistema.

Sentido Hofstede
fuente
3

Hay un administrador de paquetes GUI llamado SmartPM en Repos, puede manejar .deb Y .RPM. Canonical contribuyó a este proyecto hasta noviembre de 2009.

La página de inicio de los proyectos está aquí https://github.com/smartpm/smart

Anwar
fuente
Bienvenido a Ask Ubuntu! Recomiendo editar esta respuesta para expandirla con detalles específicos sobre cómo usar esto. (Consulte también ¿Cómo escribo una buena respuesta? Para obtener consejos generales sobre qué tipos de respuestas se consideran más valiosas en Ask Ubuntu.)
David Foerster
2

Alien es una herramienta que convierte de un formato (.deb o .rpm) a otro (.deb, .rpm o tarball)

No se recomienda usar Alien para convertir .deb a .rpm, es perfecto para convertir .deb a tarballs

Aunque Alien intenta preservar los metadatos al realizar la conversión, seguirá teniendo problemas de metadatos y dependencia que harán que el paquete sea menos confiable y, por lo tanto, entrará en conflicto al agregar o eliminar paquetes de destilación en el futuro.


fuente
2

La opción realmente más corta es

sudo alien -i -k packagename.rpm

¿No tienes un extraterrestre? ¡Conseguir uno!

sudo apt-get install alien

Alien convertirá el paquete rpm en el paquete deb, la opción -i significa instalar el paquete convertido después de la conversión y la opción -k asegura que la versión no sea +1 después de la conversión.

Dee
fuente
2

Siga estas instrucciones:

alien -k avg71lms-r30-a0782.i386.rpm

Ahora deberías tener un avg71lms-r30-a0782.i386.debarchivo.

Para instalar el archivo .deb:

dpkg -i avg71lms-r30-a0782.i386.deb

Si no usa la -kopción, debería ver el avg71lms_r30-1_i386.debarchivo, la diferencia es que agregará 1.

Instalar alien en Ubuntu:

sudo apt-get install alien

Puede consultar la sección anterior para ver las opciones disponibles.

Laura Segura
fuente
1

Con alien, puedo convertir el archivo .rpm en un archivo .deb y simplemente instalarlo.

Alien está disponible en los repositorios normales de Debian, por lo que podemos instalarlo así:

sudo apt-get install alien

Para convertirlo en un paquete .deb, simplemente ejecutamos

alien *.rpm
krupal6022
fuente
Lo más probable es que quieras usar algunas banderas con alienígenas. Por lo menos, le advertirá sobre no convertir los scripts sin especificar explícitamente --scripts(o -c)
Randall
0

use alien que convierte las rpm en deb y luego instala el deb.

anurag-jain
fuente
Bienvenido a Ask Ubuntu! Recomiendo editar esta respuesta para expandirla con detalles específicos sobre cómo hacerlo. (Consulte también ¿Cómo escribo una buena respuesta? Para obtener consejos generales sobre qué tipo de respuestas se consideran más valiosas en Ask Ubuntu.)
David Foerster
0

Aquí hay una GUI para Alien (alien es una aplicación para convertir rpm a deb)

http://code.google.com/p/foxoman/wiki/PackageConverter

Alok
fuente
-1 ¿Qué es "Alien" y cómo se relaciona con la instalación de RPM en Ubuntu?
David Foerster
1
@DavidFoerster alien es una aplicación para convertir rpm a deb
Anwar
2
No me digas, edita tu respuesta para contarle a las personas que podrían querer beneficiarse de ella. Además, recomiendo editar esta respuesta para expandirla con detalles específicos sobre cómo hacerlo. (Consulte también ¿Cómo escribo una buena respuesta? Para obtener consejos generales sobre qué tipo de respuestas se consideran más valiosas en Ask Ubuntu.)
David Foerster