Re: Fwd: Uso de AR nos pacotes .DEB
David Polverari <[email protected]> Sat, 14 Jul 2018 17:16:17 -0300
| Newsgroups | gmane.linux.debian.devel.portuguese |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Jul 13, 2018 at 02:28:29PM -0300, Thiago Marinello wrote: > Olá, pessoal. > > Recorro a experiência de vocês para tentar me explicar por que diabos > os pacotes .deb usam "ar" e não "tar"? > > O formato do ar usa um campo de 10 bytes para representar o tamanho do > arquivo, o problema é que o valor é codificado em ASCII, o que me > parece muito tosto. Isso faz com que o limite seja "9999999999" bytes, > mas poderia ser 2^80 caso o valor fosse codificado em binário. > Pode parecer tosco à primeira vista, porém está perfeitamente alinhado com a filosofia dos programas Unix de utilizar formatos texto de modo a propiciar um parsing fácil por ferramentas simples. Além disso, mesmo softwares grandes são normalmente divididos em partes, como pode ser visto nos diversos pacotes que compõe o GNOME empacotado no Debian. Deste modo, 10GB é um limite bem razoável para *cada arquivo-membro* de um .ar. > Alguém sabe por que o ar é o formato escolhido? E no caso de > precisarmos de um pacote .deb com tamanho da ordem de 10Gbytes, há > alguma forma elegante de suportar isso? > O que encontrei foi isso : "Ian Jackson soon took over the development of the packaging tool, renaming the tool itself dpkg-deb and writing a front-end program he named dpkg to facilitate the use of dpkg-deb and provide the Dependencies and Conflicts of today's Debian system. The packages produced by these tools had a header listing the version of the tool used to create the package and an offset within the file to a tar-produced archive, which was separated from the header by some control information. At about this time some debate arose between members of the project -- some felt that the Debian-specific format created by dpkg-deb should be dropped in favor of the format produced by the ar program. After several revised file formats and correspondingly-revised packaging tools, the ar format was adopted. The key value of this change is that it makes it possible for a Debian package to be un-packaged on any Unix-like system without the need to run an untrusted executable. In other words, only standard tools present on every Unix system like 'ar' and 'tar' are required to unpack a Debian binary package and examine the contents." (https://www.debian.org/doc/manuals/project-history/ch-detailed.en.html) O deb-old era um formato inventado pelo Ian Jackson, mais difÃcil de fazer parsing, e o projeto sinalizou que o uso do 'ar', por ser ubÃquo e ter finalidade semelhante, atenderia melhor à s necessidades de manipulação do formato em máquinas Unix que não tivessem as ferramentas especÃficas do Debian instaladas. > Obrigado. > __ > Thiago Marinello > +55 19 992 480 860 > Abraços. David Polverari <[email protected]>