Dúvidas sobre os diferentes formatos de pacotes no Linux? [RESOLVIDO]

1. Dúvidas sobre os diferentes formatos de pacotes no Linux? [RESOLVIDO]

Homem Sem Nome
homemsemnome

(usa Debian)

Enviado em 14/09/2016 - 14:31h

Um programa no Linux é um pacote que contém binários, shell scripts, configuração, dados, bibliotecas, documentação, papeis de parede, ícones, etc., feito exclusivamente para determinada distribuição que através do seu gerenciador de pacotes irá de forma automática cuidar da instalação desse programa em questão. Cada distribuição empacota os seus programas em um formato próprio -- .deb, .rpm, .tgz, etc. Contudo, através de um utilitário chamado Alien, é possível metamorfosear um pacote .deb em um .rpm e vice-versa. Até aí, eu entendi tudo direitinho; mas me surgiu uma dúvida: o que o Alien faz é alterar os arquivos de configurações de determinado pacote para que ele possa ser instalado por um gerenciador de pacotes diferente, correto? Mas e os arquivos binários do pacote? Eles são universais ou o Alien os modifica também? E caso sejam universais, é possível removê-los de determinado pacote e manualmente instalá-los através de um gerenciador de pacotes diferente? Suponde que eu retire somente os binários de um pacote .rpm, eu poderia instalá-los no Debian através do dpkg? Não pretendo fazer isso, é só para entender melhor o funcionamento da bagaça mesmo.

Obrigado.


  


2. MELHOR RESPOSTA

Wellington
wellington_r

(usa Debian)

Enviado em 14/09/2016 - 15:09h

Eu não tenho muita experiência com outros gerenciadores de pacote além do apt-get, mas pelo que li a respeito de pacotes do Debian, eu diria que os binários não são modificados na conversão de um tipo de pacote para o outro. Provavelmente só são alterados os arquivos de configuração que compõem o pacote (por exemplo, um .deb tem um arquivo que diz quais são as dependências desse pacote, um arquivo para dizer quais os scripts a serem executados antes da instalação, depois da instalação, antes da remoção, depois da remoção, etc). Ou nem isso. Pode ser que ele (o alien) só extraia os binários de um pacote .deb e o organize de forma a criar um pacote .rpm, criando um pacote .rpm "nu".

Mas isso não significa que o binário é universal, pois se ele esperar a função existente na lib 2.2 de alguma coisa, mas na distribuição que você instalar só tiver a versão 2.1, onde tal função é inexistente, ele vai dar erro na execução. Ou então ele pode buscar algum arquivo em um caminho inexistente naquela distro.
Mas esses problemas não são exclusivos na conversão de um tipo de pacote para outro. Pode ser que ao instalar um .deb criado PARA o Ubuntu no Debian você tenha problemas. Às vezes funciona, às vezes não.

Mas o que você pode fazer para testar é pegar um pacote .deb, convertê-lo para .rpm (ou vice-versa), descompactar os dois pacotes e analisar a md5 checksums dos binários de ambos os pacotes. Se o resultado for igual, eles não foram modificados.


--------------------------------------------------------------------------------------------------------------------------------------
admin@server:~$ whatis life
life: nothing appropriate


3. Re: Dúvidas sobre os diferentes formatos de pacotes no Linux?

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 14/09/2016 - 16:17h

não uso muito Allien, mas que eu saiba, ele muda o empacotamento, e não o binário.
tanto é, que usando allien, nem tudo o que você converter vai rodar, não há garantia.
algumas vêzes, vc converte e o pacote não funciona, não instala.

mais detalhes, dê uma olhada no site do Hess Joey, o programador que fez o pacote allien:

http://joeyh.name/code/alien/
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.


4. Re: Dúvidas sobre os diferentes formatos de pacotes no Linux?

Homem Sem Nome
homemsemnome

(usa Debian)

Enviado em 17/09/2016 - 12:41h

wellington_r escreveu:


Entendi colega. Mas, no caso, seria possível fazer uma engenharia reversa no binário do pacote, isto é, convertê-lo para código-fonte e a partir daí alterar o código para que ele pudesse rodar em uma distribuição que utilizasse um outro gerenciador de pacotes e por fim compilá-lo para gerar um novo pacote compatível com o seu sistema? Só estou procurando entender melhor como é o funcionamento da coisa.

Obrigado.


5. Re: Dúvidas sobre os diferentes formatos de pacotes no Linux?

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/09/2016 - 20:45h

Pelo fato das bibliotecas serem compartilhadas, pode ocorrer de um binário da distro A não rodar na distro B por falta de uma biblioteca ou porque esta renomeada na distro B.

Não sei como o Alien faz a conversão dos pacotes, mas basicamente para "converter" um pacote da distro A para a B é feita a extração do pacote da distro A e depois é feita a "reembalagem" (repackage) utilizando o próprio gerenciador de pacotes da distro B.

Isso é possível fazer manualmente, sem precisar de ferramentas como o Alien.


--
Linux Counter: #596371


6. Re: Dúvidas sobre os diferentes formatos de pacotes no Linux? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/09/2016 - 21:29h

Antigamente eu usava com o Packet Tracer da Cisco para poder instalar um pacote RPM num sistema que usa DEB.
Mas é possível converter em TGZ também.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



7. Re: Dúvidas sobre os diferentes formatos de pacotes no Linux? [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 17/09/2016 - 22:22h

Ele não modifica binários ou arquivos de configuração, penso que o que ele faz é extrair um pacote, digamos o .deb:

$ ar x pacote.deb
$ tar xvf control.tar.gz
$ tar xvf data.tar.xz


* obviamente isto não é visto, mas é assim que você descompacta um .deb, sem estar usando o Debian.
** E se quisesse copiar todo esse conteúdo do .deb, bastaria:

$ sudo tar xvf control.tar.gz -C / 


* mas antes tem que rodar um tar -tf control.tar.gz para ver o que tem no arquivo, pois pode ser desnecessário.

$ sudo tar xvf data.tar.xz -C / 


* descompacta todos os dados do pacote na raiz do sistema, o que mesmo assim não garante o funcionamento do programa.

Voltando ao Alien, acho que ele cria a estrutura de pacotes correspondentes, copia os arquivos e o empacota.

Na minha opinião a melhor maneira é empacotar, seja os .debs ou os .rpm, veja um exemplo para Debian e Fedora:

https://edpsblog.wordpress.com/2015/05/06/temas-moka-themes-no-arch-linux-rpm-likes-debian-e-derivad...

Eu não uso nenhum tipo de conversor de pacotes em meus sistemas, se os mesmos não existem nos repositórios, ou eu compilo na unha (e empacoto se possível), ou no máximo pego um desses .tar.xz, .deb, .tbz2 e os descompacto em /, outro exemplo:

https://www.vivaolinux.com.br/topico/Off-Code-Cafe/Compilar-ou-nao-eis-a-questao

Um abraço.



8. Re: Dúvidas sobre os diferentes formatos de pacotes no Linux?

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/09/2016 - 22:35h

Se não me engano uma das dependências do alien para Debian era instalar o pacote rpm.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts