Categories: Tecnologia

Como converter pacotes de instalação do Linux para outros formatos

fatmawati achmad zaenuri/Shutterstock.com

O alienprograma converte pacotes de instalação de uma distribuição Linux para uso em outra. Mas o Snap e o Flatpak não tornam isso redundante agora? Mais ou menos, mas não é tão simples assim.

Sistemas de Empacotamento Linux

Para permitir que seus usuários instalem software, as distribuições Linux precisam de um sistema de empacotamento de software. Se a distribuição for uma bifurcação de outra distribuição estabelecida, ela geralmente ficará com o sistema de empacotamento da distribuição mais antiga.

É por isso que o Fedora usa pacotes RPM (que costumavam significar RedHat Package Manager) e o Ubuntu e seus inúmeros filhos usam pacotes DEB . DEB é simplesmente a abreviação de “Debian”. Outras distribuições optam por escrever seu próprio sistema de gerenciamento de pacotes. Os arquivos de instalação empacotados para um gerenciador de pacotes não são intercambiáveis ​​com outros gerenciadores de pacotes.

Tradicionalmente, os desenvolvedores de aplicativos tinham que empacotar seus aplicativos em todos os formatos que eles escolhessem para suportar ou trabalhar com os mantenedores das diferentes distribuições Linux e passar as etapas de empacotamento para eles. O último introduz atrasos na obtenção de novos lançamentos nas mãos dos usuários, o primeiro dá aos desenvolvedores muito trabalho extra.

Os projetos Snap e Flatpak tentam entregar o Santo Graal da distribuição de pacotes: empacote seu aplicativo uma vez e instale-o em qualquer distribuição Linux. Claro, pode ou não haver um Snap ou Flatpak para o aplicativo que você procura.

Você pode remover completamente os sistemas de empacotamento da equação, contanto que se sinta confortável em clonar um repositório Git e criar um aplicativo a partir do código-fonte . Mas nem todo mundo é. E nem todos os aplicativos – mesmo no Linux – são de código aberto , então você não pode construir tudo a partir do código fonte.

Os mantenedores de algumas distribuições são ótimos em obter pacotes para outras plataformas e reembalá-los para seu próprio sistema de gerenciamento de pacotes, incluindo aplicativos de código fechado. Mas sempre haverá casos em que um aplicativo oferece um DEB ou um RPM – os dois grandes formatos – e todos os outros precisam descobrir por si mesmos.

Programas como alienexistem para resolver o problema de converter um arquivo de pacote de outra distribuição para a versão que você precisa em seu computador Linux. Isso é bom em teoria, mas quão bem sucedidos eles são?

O experimento alienígena

A prova do pudim está no comer.

Pegamos três RPMs diferentes e alienos convertemos em DEBs. Em seguida, tentamos instalar os DEBs recém-criados no Ubuntu.

Em todos os nossos casos de teste, havia um DEB disponível para download também, então o que estávamos fazendo era realmente redundante. Mas achamos que os aplicativos de teste — navegador Microsoft Edge , editor Atom e Slack — seriam um bom teste dos alienrecursos do , então ignoramos os DEBs prontos para uso.

Instalando alienígena

Instalar o alien foi simples no Ubuntu, Fedora e Manjaro.

No Ubuntu você pode usar este comando:

sudo apt instalar alien

No Fedora, você precisa digitar:

sudo dnf instalar alien

No Manjaro, o pacote alien está no Arch User Repository. Isso significa pacmanque não será possível vê-lo, então precisamos usar um programa auxiliar AUR como yay. O nome do pacote também é um pouco diferente.

sim -S alien_package_converter

Usando alienígena

Para usar alien, você especifica o arquivo que deseja converter e o formato para o qual deseja converter. Ele cria um arquivo com o mesmo nome de arquivo—geralmente—e com a extensão do formato que você pediu.

Usar alienpara criar um pacote faz aliencom que o número da versão do pacote seja incrementado. Se o número do pacote estiver no nome do arquivo, o nome do arquivo também será alterado.

Estes são os formatos alienque podem ser convertidos de e para.

  • -d : Converte para um arquivo DEB, para Debian, Ubuntu e todos os derivados.
  • -r : Converte para um arquivo RPM, para RedHat, CentOS e Fedora.
  • -t : Converte para um arquivo TAR.GZ , para sistemas baseados em Arch e como EndeavourOS e Manjaro .
  • -l : Converte para um arquivo LSB, um arquivo Linux Standard Base. Esta foi outra iniciativa para desenvolver um formato de pacote de distribuição cruzada.
  • -p : Converte para um arquivo PKG, um formato usado pelo Solaris entre outros.
  • –to-slp : Converte para um pacote SLP, um formato usado pela distribuição descontinuada do Stampede Linux.

A opção de formato que usaremos é -d(DEB), pois estamos convertendo para um arquivo DEB. Também usaremos a -c opção (scripts) para converter quaisquer scripts contidos no pacote.

Microsoft borda

Baixamos um RPM para o navegador Edge da Microsoft e executamos o seguinte comando nele:

sudo alien -d -c microsoft-edge-beta-97.0.1072.54-1.x86_64.rpm

Sem a -copção (scripts) não criou o arquivo DEB, reportou um erro. Com a -copção, criou o DEB.

Observe que o nome do arquivo DEB contém 54-2, não 54-1.

É improvável que a conversão de scripts termine bem. Eles podem muito bem ser escritos para uma situação particular ou configuração exclusiva para a plataforma de destino genuína do arquivo de pacote original. Por causa disso, não tínhamos grandes esperanças. No entanto, tentamos instalar o DEB com o dpkgprograma e a -iopção (instalar).

sudo dpkg -i microsoft-edge-beta_97.0.1072.54-2_amd64.deb

Não funcionou.

Também tentamos clicar duas vezes no arquivo DEB e usar o aplicativo Ubuntu Software para instalar o DEB. Curiosamente, o aplicativo de software sabia que o DEB havia sido criado por alien.

Isso também não funcionou. Apenas para garantir que o navegador Edge realmente seja instalado no Ubuntu, instalamos o arquivo oficial Microsoft Edge DEB.

sudo dpkg -i microsoft-edge-beta_97.0.1072.54-1_amd64.deb

Isso funcionou sem problemas. Você pode ver abaixo o Microsoft Edge rodando no Ubuntu.

O editor do átomo

Baixamos o pacote de instalação do RPM para o popular editor Atom. Usamos o mesmo aliencomando para convertê-lo em um DEB.

sudo alien -d -c atom.x86_64.rpm

Isso criou um arquivo DEB sem nenhum aviso ou erro. Nós o instalamos usando o dpkgcomando com a -iopção (instalar).

sudo dpkg -i atom_1.58.0-1.1_amd64.deb

Isso funcionou perfeitamente.

Aplicativo de mensagens comerciais do Slack

Por fim, tentamos converter o RPM do Slack em um DEB.

sudo alien -d -c slack-4.23.0-0.1.fc21.x86_64.rpm

Novamente, isso criou um DEB sem avisos e sem erros. Usamos este comando de instalação:

sudo dpkg -i slack_4.23.0-1.1_amd64.deb

A instalação funcionou perfeitamente. O Slack estava funcionando sem problemas.

Resultados mistos

Um utilitário como alienestá inevitavelmente travando uma batalha difícil. As chances são empilhadas contra ele ser capaz de funcionar em todos os casos, e isso foi confirmado por nossa pequena quantidade de testes. Dito isto, quando funcionou, foi ótimo.

Se você estiver em uma situação em que não há mais nada para isso, alienexperimente. Mas se houver qualquer outro método disponível para você – Snap, Flatpak ou construção a partir da fonte – tente primeiro. Mesmo os autores de alienconhecer suas limitações, e colocar este aviso na manpágina :

alien não deve ser usado para substituir pacotes importantes do sistema, como init, libc ou outras coisas que são essenciais para o funcionamento do seu sistema. Muitos desses pacotes são configurados de forma diferente pelas diferentes distribuições, e os pacotes das diferentes distribuições não podem ser usados ​​alternadamente. Em geral, se você não puder remover um pacote sem quebrar seu sistema, não tente substituí-lo por uma versão alienígena.

Embora isso possa tirá-lo de um buraco, certifique-se de ter esgotado todas as outras possibilidades antes de recorrer ao alien.

Mas, quando não há mais nada, alienpode surpreendê-lo.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

1 ano ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

1 ano ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

1 ano ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

1 ano ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

1 ano ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

1 ano ago