Como instalo e gerencio RPMs?


85

Tenho um desejo ardente de instalar RPMs na minha instalação do Ubuntu - isso é possível? Posso usar o Yum - ou outra ferramenta de gerenciamento de pacotes RPM?


Por quê? Que tipo de software está faltando e que você não consegue encontrar no Ubuntu ou nos PPAs? Convertendo rpms com obras alienígenas, mas realmente não é a melhor opção.
precisa saber é o seguinte

No meu dia de trabalho, sou administrador de sistemas Linux e administro principalmente máquinas Redhat. Eu amo o Ubuntu porque não preciso levar meu trabalho para casa comigo, mas algumas coisas que o Debian usa para configuração (principalmente o Apache) realmente me deixam maluco. Prefiro a maneira como o RH mantém o software apache. Portanto, manter duas soluções de gerenciamento de pacotes (yum e aptitude) parece ser uma solução mais ideal (se possível)
Marco Ceppi

Informações relacionadas: wikis de tags rpm e yum .
Eliah Kagan

Respostas:


117

Posso usar o Yum

Eu não recomendaria. Você provavelmente poderia compilá-lo, mas não teria nenhum repositório de pacotes compatível com o Ubuntu para ele lidar.

Você pode converter arquivos RPM únicos em DEBs com o Alien:

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

Nota: pode alterar o nome do arquivo um pouco mais do que apenas a extensão.

Isso não funcionará para tudo, pois os pacotes vinculam-se a outros pacotes para cumprir dependências. Obviamente, o Red Hat / Fedora / CentOS usa nomes de pacotes diferentes para o Ubuntu, então é provável que você encontre muita carga.

As chances são de que, se não existir um DEB, será melhor você obter a fonte e compilá-la.


3
se o alien não funcionar e você acabar usando o código-fonte diretamente, poderá transformá- lo em um .deb usando o checkinstall (que está no repositório do universo, não instalado por padrão).
ImaginaryRobots

O Checkinstall é usado no lugar make installe é muito útil. Ser capaz de remover pacotes é definitivamente uma vantagem!
aperson

checkinstallé excelente para manter uma autoconstrução em um ambiente empacotado, mas possui algumas peculiaridades que às vezes significam que algo que será instalado através da make installinstalação não será instalado. Eu uso quando posso.
Oli

3
você pode fazer alien --install my_package.rpm.
Tshepang 29/10/10

Tentei instalar a nova versão do lftp desta forma, mas não atualizar as dependências, de modo lftp não começar a tentar carregar com:error while loading shared libraries: libreadline.so.7
Crouching Kitten

15

Você precisará alienfazer isso.

sudo apt-get install alien

Isso instalará todos os pacotes necessários. Agora você pode começar a converter seus arquivos .rpm em pacotes .deb.

Opções disponíveis para alien:

Converta o package.rpm em package.deb

sudo alien -d package-name.rpm

Converta package.rpmem package.debe instale o pacote gerado.

alien -i package-name.rpm

Se você deseja impedir que o estrangeiro altere o número da versão, use o seguinte comando

alien -k rpm-package-file.rpm

6

A resposta curta é: não!

Se você tem um RPM tão importante que precisa dele, provavelmente também existe um pacote Ubuntu; e, se não, provavelmente vale a pena ter o trabalho de compilá-lo da fonte para o formato de pacote Debian (que o Ubuntu também usa). Agora, existem momentos em que você não pode recompilar o software (se não for de código aberto, é impossível) e, nesse caso, você pode usar o alienprograma. Mas instalar a partir das RPMs é como colocar gasolina em um carro a diesel - pode funcionar, mas você não se beneficiará disso a longo prazo!

Para compilar um pacote a partir da fonte, há um guia no Ubuntu Wiki; também existe um programa chamado checkinstall que pode fazer alguns truques com uma árvore de origem padrão sem configurar as instruções de compilação do pacote. Se você acha que alguém pode se beneficiar dos programas que você compila, você pode configurar um repositório na barra de ativação e compartilhar a bondade do pacote!


realmente não responder à pergunta, então -1
Dee

3

Se você realmente precisa instalar RPMs no seu sistema, tente convertê-los usando 'alien'.

Por favor, tenha em mente que, por padrão, 'alien' irá interferir com o número da versão do pacote. Se você quiser que o número da versão permaneça o mesmo, passe a opção '-k' ao converter.

Você não deve tentar usar o Yum ou qualquer outra maneira de instalar os RPMs, como o apt-rpm, próximos aos pacotes DEB existentes. Os sistemas DEB e RPM gerenciam a lista de softwares instalados separadamente e, portanto, não sabem quais pacotes foram instalados anteriormente pelo outro sistema. Se, por exemplo, você tentar instalar um aplicativo com interface gráfica do usuário com um sistema de gerenciamento de pacotes baseado em RPM, ele tentará instalar os componentes vitais do sistema, porque acha que eles ainda não estão instalados. Isso fará com que a instalação falhe terrivelmente ou substitua os arquivos vitais do sistema.


3

Há um gerenciador de pacotes da GUI chamado SmartPM nos repositórios, ele pode manipular .deb AND .RPM. A Canonical contribuiu para este projeto até novembro de 2009.

A home page do projeto está aqui https://github.com/smartpm/smart


Bem-vindo ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos sobre como fazer isso. (Veja também Como faço para escrever uma boa resposta? Para o conselho geral sobre que tipos de respostas são consideradas mais valiosas no Pergunte Ubuntu.)
David Foerster

2

Alien é uma ferramenta que converte de um formato (.deb ou .rpm) para outro (.deb, .rpm ou tarball)

O Alien não é aconselhado a usar na conversão de .deb para .rpm, é perfeito para converter .deb em tarballs

Apesar de o Alien tentar preservar os metadados durante a conversão, ainda haverá problemas de metadados e dependência que tornam o pacote menos confiável e, portanto, haverá conflitos ao adicionar ou remover pacotes de distorção no futuro.


2

Na verdade, a opção mais curta é

sudo alien -i -k packagename.rpm

Não tem um alienígena? Pegue um!

sudo apt-get install alien

O Alien converterá o pacote rpm para o pacote deb, a opção -i significa instalar o pacote convertido após a conversão e a opção -k garante que a versão não seja +1 após a conversão.


2

Siga estas instruções:

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

Agora você deve ter um avg71lms-r30-a0782.i386.debarquivo.

Para instalar o arquivo .deb:

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

Se você não usar a -kopção, deverá ver o avg71lms_r30-1_i386.debarquivo, a diferença é que ela adicionará 1.

Instale o alien no Ubuntu:

sudo apt-get install alien

Você pode verificar a seção acima para opções disponíveis


1

Com o alien, posso simplesmente converter o arquivo .rpm em um arquivo .deb e simplesmente instalar esse.

O Alien está disponível nos repositórios Debian normais, para que possamos instalá-lo assim:

sudo apt-get install alien

Para convertê-lo em um pacote .deb, simplesmente executamos

alien *.rpm

Você provavelmente deseja usar algumas bandeiras com alienígena. Pelo menos, ele irá avisá-lo sobre não converter os scripts sem especificar explicitamente --scripts(ou -c)
Randall


0

Aqui está uma GUI para o Alien (alien é um aplicativo para converter rpm em deb)

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


-1 O que é "Alien" e como está relacionado à instalação de RPMs no Ubuntu?
precisa saber é o seguinte

11
@DavidFoerster estrangeiro é um pedido para converter rpm para deb
Anwar

2
Não me diga, edite sua resposta para informar as pessoas que podem se beneficiar dela. Além disso, recomendo editar esta resposta para expandi-la com detalhes específicos sobre como fazer isso. (Veja também Como faço para escrever uma boa resposta? Para o conselho geral sobre que tipos de respostas são consideradas mais valiosas no Pergunte Ubuntu.)
David Foerster
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.