terça-feira, 7 de maio de 2013

Convertendo pacotes entre os formatos .deb, .rpm, .tgz e .pkg

Se você está procurando um programa para a sua distribuição Linux mas nunca acha no formato apropriado (.deb para Debian, Ubuntun, Mint; .rpm para Red Hat, Centos, Fedora; .tgz para Slackware), o Alien pode resolver o problema.

Alien converte arquivos de programas empacotados de um formato para outro. Por exemplo, para converter um pacote de programa feito para Debian em um pacote para Centos é simples:

$ ls gantt*
ganttproject_2.6.1-r1499-1_all.deb
$ alien -r ganttproject_2.6.1-r1499-1_all.deb
Warning: Skipping conversion of scripts in package ganttproject: postinst postrm
Warning: Use the --scripts parameter to include the scripts.
ganttproject-2.6.1_r1499-2.noarch.rpm generated
find: `ganttproject-2.6.1-r1499': Arquivo ou diretório não encontrado
$ ls gantt*
ganttproject_2.6.1-r1499-1_all.deb  ganttproject-2.6.1_r1499-2.noarch.rpm
$

Reparem agora que temos dois arquivos, um .deb e outro .rpm. Também é possível converter para outros formatos com as opções abaixo:


  • -d para converter para Debian (.deb)
  • -r para converter para Red Hat (.rpm)
  • --to-slp para Stampede (.slp)
  • -t para Slackware (.tgz)
  • -p para Solaris (.pkg)


Não é garantido que o pacote convertido vá funcionar. Cada distro tem a sua particularidade. Mas já dá para testar e, com um pouco de análise, você poderá instalar o programa desejado.