Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Como converter pacotes para RPM, DEB ou TGZ com o Alien

Instalar um pacote de software preparado para uma distribuição diferente da que você usa raramente é o procedimento recomendado, com ou sem conversão. Mas se você souber o que está fazendo, ou não quiser recorrer a outra opção mais segura, o Alien pode ser uma boa solução para converter o formato de um pacote. Mas o autor avisa: não o use em componentes essenciais do seu sistema.

Esta dica resumida publicada no final de semana pelo Dicas-L apresenta o básico para quem não conhecia este software: sua existência e as opções essenciais. Se quiser saber um pouco mais, leia Alien – Convert RPM to DEB or DEB to RPM, ou o site do Alien.

Saiba mais (dicas-l.com.br).


• Publicado por Augusto Campos em 2008-02-25

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Xis (usuário não registrado) em 25/02/2008 às 10:28 am

    Acho esse um dos pontos fracos do GNU/Linux no momento. O argumento “padrões” sempre é utilizado por nós para defender algumas idéias.

    Porém, não temos um padrão para distribuição de software binário.

    O RPM é o padrão LSB, porém o Ubuntu e o Debian (acredito que as distribuições mais utilizadas atualmente) não o utilizam.

    O fabricante de um dispositivo qualquer monta um CD com os drivers para acompanhar o produto. Ele vai ter que colocar o rpm, deb, tgz..

    Acredito na necessidade de formalizarmos um padrão para distribuição de software binário.

    Luciano Candido de Lacerda (usuário não registrado) em 25/02/2008 às 10:43 am

    Eu já cheguei a usar o alien ( um bom projeto, diga-se de passagem ), mas depois de um tempo vi que para o “meu caso” os únicos padrões de fato que funcionavam eram os fontes ( e de quebra vinha o aprendizado ). Agradeço ao BR-LINUX por este espaço para manifestação e desejo a todos um bom dia de trabalho.

    pois é, tenho que dar o braço a torçer, é um pé no saco existir mais de um formato binário para distribuição de pacote, sem falar também das maldiçoes dos backends para eles : synpatic/apt, urmi, smarty, …

    Mas eu até entendo, quem tem uma distro debian-like não vai querer abrir mão do apt e suas facilidades, o mesmo para quem usa fedora, mandrake,… depois que aprendí a usar o apt (apt-build, backport,…) sinceramente não quero voltar ao rpm.

    Ih… começou de novo a discussão sobre padrão de empacotar software… que horror.

    Concordo com o Linus, que falou, durante uma entrevista anunciada aqui, que padrões em software são terríveis… :)

    Leandro Santiago (Tenchi) (usuário não registrado) em 25/02/2008 às 11:17 am

    Pois é. O RPM é padrão.
    Se os fabricantes de software pelo menos distribuissem no formato RPM genérico já seria de bom tamanho. O RPM tem esta vantagem de ser facilmente instalável em qualquer distro, coisa que não acontece com o DEB, por exemplo (só em deb-like).
    Diversidade de formatos de pacotes não é desculpa para não desenvolver programas (e drivers) para Linux. Pense num fabricante que desenvolve um driver para Linux. O problema aqui não é o tipo de pacote (vc sabia que um pacote deb é um arquivo .ar que pode ser descompactado com o comando ‘ar xv pacote.deb; tar zxvf data.tar.gz’?), mas o fato de um módulo compilado para um kernel numa distro dificilmente funcionará em outra versão do kernel, ou em outra distro. Isso pelo fato de cada um poder compilar seu próprio kernel e existirem centenas de versões do kernel por aí, e sempre que há uma atualização, o módulo deve ser recompilado.
    Se eu distribuo o driver de uma webcam para o ubuntu em .deb, ele não funcionará em nenhuma outra distro! A solução: distribuir o código-fonte e permitir que qualquer um – ou uma comunidade – compile seu prório driver.
    Ou seja: variedade de sistemas de pacotes não é o problema principal. Na dúvida, distribua somente um .package. Problema resolvido ;-)

    nome (usuário não registrado) em 25/02/2008 às 11:50 am

    Eu até enxergo as dificuldade, mas o fato é que a dinâmica do software livre é tão diferente do software proprietário que não há uma maneira simples de distribuir software em formato binário que não passe por fazer adaptações a cada distribuição. Já reparou o número de variáveis envolvidas no software que compõe uma distribuição? Simplesmente não é porque usa linux que é tudo igual, a começar pelo kernel. Pra falar a verdade, Nem deveria ser e neste caso talvez o formato do pacote é o que menos conta.

    O padrão deveria ser TGZ, porque é idêntico a um .tar.gz. Source em .tar.gz ou .tar.bz2 e pacotes em .tgz. O tgz é mais universal que rpm. O pior é o .deb. Além disso, todos os tipos de pacotes e praticamente todas as distros tem algo similar – em alguns casos melhor – que apt-get.

    GoblinX, um livecd brasileiro com base Slackware

    Grobsch, acredito que não seja assim. O deb não é “o pior”, mas somente o “menos flexível”. Observe que estamos falando em formato de pacote, e não em sistema de gerenciamento dos mesmos.
    O tarball ainda é o método mais flexível de todos, mas é o mais criticado, justamente por ser o mais complicado (porque não é bem um pacote, mas o código-fonte do programa), mas é o mais portável e tem mais garantia da qualidade do pacote.

    Na verdade o tgz não passa de um .tar.gz renomeado para funcionar nas distribuições que utilizam esse formato, só que em outras distribuições ele pode ser instalado usando qualquer gerenciador de janelas. O .deb preciso usar um alien para converter, mas posso instalar .rpm.
    Na verdade eu não gosto do sistema de configuração dos .deb. É possível complicar ou simplificar um pacote mexendo em seus arquivos. No .deb a pasta DEBIAN dentro do pacote é que traz esses arquivos. Nos tgz a pasta install traz normalmente três ou quatro arquivos que podem ou não serem utilizados. Se a distro é base Slackware, o arquivo doinst.sh é executado na instalação.

    Acho o sistema bem mais simples, mesmo porque dependências não ficam dentro do pacote. Quando você utiliza um Slapt-get ele não se intromete no pacote, ele irá checar dependências em outro lugar, ou pacotes conflitantes.

    Então o tgz é um pacote compilado que é fácil de instalar como um pacote .tar.gz código fonte. É claro que instalar ele usando um genreciador de janelas pode ocasionar problemas de dependências.

    GoblinX, um livecd brasileiro com base Slackware

    Eu acho que deveríamos criar o .xyz! Usando um algoritmo de compactação não muito usado e não muito documentado, checagem de dependências dinâmica e banco de dados de pacotes instalados totalmente binário! Podemos até juntar todas as características dos outros sistemas e criar finalmente um padrão definitivo! E dai todos os problemas se acabarão-se! Vamos nos juntar-nos e criar um sistema de pacotes universal pra sempre no mundo!

    (Pra quem não entendeu, foi uma sátira. Se quiser saber minha opinião, leia o meu comentário anterior.)

    Pierre (usuário não registrado) em 25/02/2008 às 7:47 pm

    Realmente nao temos padroes neste sentido mesmo, aqui em casa eu uso Ubuntu, a mulher Mandrake, o sobrinho Fedora e a sogra continua com Windows. E cada um vai instalando do seu jeito.
    Eu particularmente não dispenso as facilidades do apt-get.
    Mas cada um tem sua opinião, nao sei se tantos pacotes podemos chamar de liberdade ou libertinagem já que isto acaba virando uma zona ( risos).

    abraço a todos.

    Ainda lembro quando “instalei” um .tgz no kurumin:
    tar -xvf pacote.tgz ;install/doinst.sh ;rm -rf install

    E feliz da vida usei o meu programa xD.

Este post é antigo (2008-02-25) e foi arquivado. O envio de novos comentários a este post já expirou.