Comment installer et gérer les RPM?


85

Je souhaite ardemment installer des RPM sur mon installation Ubuntu - est-ce possible? Puis-je utiliser Yum - ou un autre outil de gestion des packages RPM?


Pourquoi? Quel type de logiciel vous manque que vous ne pouvez pas trouver dans Ubuntu ou les PPA? Convertir des RPM avec des travaux extraterrestres, mais ce n’est vraiment pas la meilleure option.
24aphink

Dans mon travail quotidien, je suis administrateur système linux et j'administre principalement des machines Redhat. J'aime Ubuntu car je n'ai pas à ramener mon travail à la maison, mais certaines choses que Debian utilise pour la configuration (principalement Apache) me rendent vraiment dingue. Je préfère de loin la façon dont RH gère le logiciel Apache. Donc maintenir deux solutions de gestion de paquets (miam et aptitude) semble être une solution plus idéale (si cela est possible)
Marco Ceppi

Informations connexes: wikis rpm et yum tag.
Eliah Kagan

Réponses:


117

Puis-je utiliser Yum

Je ne le recommanderais pas. Vous pourriez probablement le compiler, mais vous n’auriez aucun référentiel de paquet compatible avec Ubuntu à gérer.

Vous pouvez convertir des fichiers RPM uniques en DEB avec Alien:

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

Remarque: le nom de fichier risque d’être modifié un peu plus que la simple extension.

Cela ne fonctionnera pas pour tout, car les paquets sont liés à d'autres paquets pour remplir les dépendances. De toute évidence, Red Hat / Fedora / CentOS utilise des noms de paquetages différents d’Ubuntu, de sorte que vous risquez de vous faire mal.

Si un DEB n'existe pas, il y a de fortes chances que vous obteniez simplement la source et la compilation.


3
si étranger ne fonctionne pas et que vous ne finissent en utilisant directement le code source, vous pouvez transformer ce en un .deb en utilisant checkinstall (qui est dans le référentiel de l' univers, pas installé par défaut).
ImaginaryRobots

Checkinstall est utilisé à la place de make installet est très pratique. Pouvoir supprimer des paquets est définitivement un avantage!
aperson

checkinstallest idéal pour maintenir une auto-construction dans un environnement packagé, mais il a quelques particularités qui signifient parfois que quelque chose qui va s'installer make installne sera pas installé. Je l'utilise quand je peux.
Oli

3
tu peux faire alien --install my_package.rpm.
Tshepang

J'ai essayé d'installer la dernière version de lftp de cette façon, mais elle n'a pas mis à jour les dépendances, donc lftp ne parvient pas à essayer de charger avec:error while loading shared libraries: libreadline.so.7
Crouching Kitten

15

Vous devrez alienfaire ça.

sudo apt-get install alien

Cela installera tous les packages requis. Vous pouvez maintenant commencer à convertir vos fichiers .rpm en packages .deb.

Options disponibles pour alien:

Convertir le package.rpm en package.deb

sudo alien -d package-name.rpm

Convertissez le package.rpmen package.deb, et installez le paquet généré.

alien -i package-name.rpm

Si vous voulez empêcher alien de changer le numéro de version, utilisez la commande suivante

alien -k rpm-package-file.rpm

6

La réponse courte est, ne le faites pas!

Si vous avez un RPM tellement important que vous en avez besoin, il existe probablement un paquet Ubuntu également; et, sinon, cela vaut probablement la peine de le compiler à partir du source dans le format de paquet Debian (qu'Ubuntu utilise également). À certains moments, vous ne pouvez pas simplement recompiler le logiciel (si ce n’est pas opensource, c’est impossible) et dans ce cas, vous pouvez utiliser le alienprogramme. Mais installer à partir de RPM, c'est un peu comme mettre de l’essence dans une voiture diesel - cela peut fonctionner, mais vous n’en tirerez aucun avantage à long terme!

Pour construire un paquet à partir des sources, il existe un guide sur le wiki Ubuntu; Il existe également un programme appelé checkinstall qui peut exécuter certaines astuces avec une arborescence source par défaut sans configurer les instructions de construction du package. Si vous pensez que quelqu'un d'autre peut tirer profit des programmes que vous compilez, vous pouvez configurer un référentiel sur le tableau de bord et partager le paquet!


pas vraiment répondre à la question, alors -1
Dee

3

Si vous avez vraiment besoin d'installer des RPM sur votre système, vous devriez en effet essayer de les convertir en utilisant 'alien'.

N'oubliez pas que par défaut, 'alien' modifiera le numéro de version du paquet. Si vous voulez que le numéro de version reste le même, passez l'option '-k' lors de la conversion.

N'essayez pas d'utiliser Yum ou tout autre moyen d'installer les RPM, tels qu'apt-rpm, eux-mêmes à côté des paquets DEB existants. Les systèmes DEB et RPM gèrent la liste des logiciels installés séparément et ne savent donc pas quels packages ont déjà été installés par l'autre système. Si, par exemple, vous essayez d'installer une application comportant une interface graphique avec un système de gestion de paquetages basé sur RPM, il tentera d'installer lui-même des composants système essentiels, car il pense qu'ils ne sont pas encore installés. Cela entraînerait soit l'échec horrible de l'installation, soit le remplacement des fichiers système essentiels.


3

Un gestionnaire de package graphique nommé SmartPM sur le dépôt, il peut gérer .deb et .rpm. Canonical a contribué à ce projet jusqu’en novembre 2009.

La page d'accueil des projets est ici https://github.com/smartpm/smart


Bienvenue sur Ask Ubuntu! Je vous recommande de modifier cette réponse pour la développer avec des détails spécifiques sur son utilisation. (Voir aussi Comment puis-je écrire une bonne réponse? Pour des conseils généraux sur les types de réponses considérés comme les plus utiles sur Ask Ubuntu.)
David Foerster

2

Alien est un outil qui convertit un format (.deb ou .rpm) en un autre (.deb, .rpm ou tarball).

Il n’est pas conseillé à Alien d’utiliser la conversion de .deb à .rpm, il est idéal pour convertir .deb en tarballs.

Althought Alien tente de préserver les métadonnées lors de la conversion, mais des problèmes de métadonnées et de dépendance rendent le package moins fiable et génèrent des conflits lors de l'ajout ou de la suppression de packages de distribution à l'avenir.


2

En fait, l'option la plus courte est

sudo alien -i -k packagename.rpm

Vous n'avez pas d'alien? Prends en un!

sudo apt-get install alien

Alien convertira le package rpm en package deb. L'option -i signifie l'installation du package converti une fois convertie et l'option -k garantissant que la version n'est pas +1 après la conversion.


2

Suivez ces instructions:

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

Maintenant, vous devriez avoir un avg71lms-r30-a0782.i386.debfichier.

Pour installer le fichier .deb:

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

Si vous n'utilisez pas l' -koption, vous devriez voir le avg71lms_r30-1_i386.debfichier la différence est qu'il va ajouter 1.

Installez alien dans Ubuntu:

sudo apt-get install alien

Vous pouvez vérifier la section ci-dessus pour les options disponibles


1

Avec alien, je peux simplement convertir le fichier .rpm en un fichier .deb et l'installer simplement.

Alien est disponible dans les dépôts Debian normaux, nous pouvons donc l’installer comme ceci:

sudo apt-get install alien

Pour le convertir en un paquet .deb, nous courons simplement

alien *.rpm

Vous voudrez probablement utiliser des drapeaux avec alien. Au minimum, il vous avertira de ne pas convertir les scripts sans spécifier explicitement --scripts(ou -c)
Randall


0

Voici une interface graphique pour Alien (alien est une application permettant de convertir rpm en deb)

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


-1 Qu'est-ce qu'Alien et en quoi est-ce lié à l'installation de RPM sous Ubuntu?
David Foerster

1
@DavidFoerster alien est une application qui permet de convertir rpm en deb
Jeudi

2
Ne me dites pas, modifiez votre réponse pour le dire aux personnes qui pourraient en profiter. De plus, je vous recommande de modifier cette réponse pour la développer avec des détails spécifiques sur la manière de procéder. (Voir aussi Comment rédiger une bonne réponse? Pour des conseils généraux sur les types de réponses considérés comme les plus utiles sur Ask Ubuntu.)
David Foerster le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.