Você quer converter um pacote Linux para algum outro formato? Talvez o pacote que você está procurando não esteja disponível para sua distribuição, mas você ainda deseja, não importa o que aconteça. Ou talvez você seja um desenvolvedor e queira economizar seu tempo reempacotando rapidamente seu programa para outros formatos, sem ter que construir o pacote novamente.
Felizmente, o Linux tem a ferramenta de que você precisa. Com o Alien, você pode converter facilmente seu pacote Linux existente para outros formatos por meio da linha de comando. Vamos começar instalando a ferramenta em seu sistema primeiro.
Como instalar o Alien no Linux
Alien está disponível no repositório do universo Ubuntu. Para instalá-lo, primeiro habilite o repositório universe e atualize a lista de pacotes do seu sistema . Em seguida, instale o pacote alien usando APT como faria normalmente.
sudo add-apt-repository universe sudo apt update sudo apt install alien
Os usuários Debian podem simplesmente instalar o pacote usando APT:
sudo apt install alien
O Alien ainda não está disponível nos repositórios oficiais do Arch. No entanto, você pode instalá-lo a partir do AUR usando um auxiliar AUR. Para os fins deste guia, usaremos yay.
yay -S alien
No Fedora, CentOS e outras distros baseadas em RPM, você pode instalar o Alien usando DNF da seguinte maneira:
sudo dnf install alien
Uma vez feito isso, verifique a instalação digitando alien --version no terminal. Se o comando retornar informações sobre a versão do pacote, a instalação foi bem-sucedida. No entanto, se não, tente seguir as etapas de instalação novamente.
Converter entre pacotes Linux usando o Alien
Usando o Alien, você pode converter vários pacotes Linux. Para listar alguns:
- DEB (distros baseadas em Debian)
- TAR.GZ (arquivo empacotado)
- RPM (Fedora, CentOS e outras distros)
- PKG (formato de pacote Solaris)
- SLP
- LSB
O estrangeiro pode interpretar as seguintes opções:
- -d ou --to-dpkg : Converte o pacote especificado para o formato de pacote DEB
- -r ou --to-rpm : converte o pacote para o formato RPM
- -t ou --to-tgz : Gera um arquivo TAR.GZ do pacote especificado
- -l ou --to-lsb : Cria um pacote LSB (Linux Standard Base)
- -p ou --to-pkg : Converte o pacote especificado para o formato PKG
- --to-slp : Cria um pacote SLP
Relacionado: Como listar pacotes instalados no Ubuntu usando APT
Como usar o Alien no Linux
A sintaxe básica do utilitário é:
sudo alien options filename
... onde options são os vários sinalizadores que você pode usar com o comando e o nome do arquivo é o caminho absoluto ou relativo para o pacote que você deseja converter.
Para converter um pacote RPM em DEB:
sudo alien --d file.rpm sudo alien --to-deb file.rpm
Para demonstrar como você pode converter um pacote em todos os outros formatos, converteremos um arquivo DEB em outros pacotes Linux.
DEB para RPM:
sudo alien -r file.deb sudo alien --to-rpm file.deb
DEB para TAR.GZ:
sudo alien -t file.deb sudo alien --to-tgz file.deb
DEB para LSB: sudo alien -l file.deb sudo alien --to-lsb file.deb DEB para PKG:
sudo alien -p file.deb sudo alien --to-pkg file.deb
DEB para SLP:
sudo alien --to-slp file.deb
Observe que você também pode converter qualquer formato de pacote em qualquer outro formato. Por exemplo, RPM para LSB, SLP para PKG, PKG para DEB, etc.
Também é possível converter um pacote em vários formatos usando um único comando. Tudo que você precisa fazer é especificar os sinalizadores para a conversão da seguinte maneira:
sudo alien --to-deb --to-rpm --to-tgz file.pkg sudo alien -d -r -p file.tar.gz
Se o pacote contiver scripts específicos para o formato, você pode convertê-los usando o sinalizador --scripts ou -c .
sudo alien --scripts --to-deb file.rpm sudo alien -c --to-deb file.rpm
Instale os pacotes após a conversão
Além de converter pacotes, o Alien também pode instalar os pacotes para você. Você pode adicionar o sinalizador --install ou -i com o comando para instalar imediatamente o pacote após a conversão.
Por exemplo:
sudo alien --to-rpm --install file.deb sudo alien -r -i file.deb
Por padrão, o Alien incrementa automaticamente os detalhes da versão do pacote. Se você converter um pacote com o número de versão 1.17.1 usando Alien, o pacote gerado terá o número de versão 1.17.2 .
Você pode substituir esse comportamento padrão usando o sinalizador -k ou --keep-version da seguinte maneira:
sudo alien --to-rpm -k file.deb sudo alien --to-rpm --keep-version file.deb
Agora você pode converter pacotes no Linux
Como desenvolvedor, reconstruir um pacote para diferentes distros Linux pode ser difícil. Para resolver esse problema, você pode usar o Alien para converter seu pacote para outros formatos do Linux facilmente.
Embora o Alien seja um utilitário confiável, ele não é recomendado se você deseja desenvolver pacotes nativos para distros de maneira adequada. Além disso, ao publicar um pacote, você deve sempre listar as dependências exigidas pelo programa.