entendendo os pacotes deb

Post on 05-Jun-2015

400 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Entendendo ospacotes debFernando Mercês

#DebianDay Barra Mansa - RJ20 de agosto de 2011

$ whoami

Consultor de projetos com software livre na 4Linux, bacharelando em Ciência da Computação, entusiasta em segurança da informação, amante de Engenharia Reversa, LPIC-2, A+, autor de artigos técnicos, desenvolvedor "hobbysta" e colaborador do Debian GNU/Linux.

Agenda

● Como são distribuídos os programas no mundo GNU/Linux

● O que é um pacote pré-compilado?

● Entendendo o tipo de arquivo deb

● Construindo um pacote "na unha"

● Ferramentas para gerência de pacotes

● Empacotando seus próprios programas

Como são distribuídos os programas no mundo GNU/Linux● Código-fonte (.tgz, .tar.gz, tar.bzip2...)

○ Instalação$ ./configure$ make# make install

○ Dependências - como fazer?

● Pacotes (.deb, .rpm, .pkg...)○ Instalação

■ apt-get, aptitude, wajig, yum, dpkg, rpm, pacman, zypper, slackpkg...

● Binários estáticos

O que é umpacote pré-compilado?

● Um ou mais binários são compilados antes de serem empacotados.

● Contém informações sobre o programa empacotado, autor, dependências, documentação, changelogs etc.

● Fácil instalação.

● Pré-configurado.

Entendendo otipo de arquivo deb

● Um arquivo deb consiste em vários arquivos agrupados com o ar (do conjunto binutils).

● $ ar t pev_0.40-1_amd64.deb ○ debian-binary○ control.tar.gz○ data.tar.gz

Entendendo otipo de arquivo deb

$ cat debian-binary2.0$ cat md5sums c7428a9504b8980e9c3fa52095ad4669 usr/bin/pevcc13a88eec30886c8156c1a2ae860daa usr/share/doc/pev/changelog.Debian.gze5f6b9940645d82c1cfffb06d425d4ae usr/share/doc/pev/changelog.gz1aaf9ae37e73b95f2735d2a16e8c08ba usr/share/doc/pev/copyrightd04afc14bb0f45430ecef7fd6655c214 usr/share/man/man1/pev.1.gz

$ tar tf data.tar.gz./usr/share/man/man1/pev.1.gz./usr/share/doc/pev/copyright./usr/share/doc/pev/changelog.Debian.gz./usr/share/doc/pev/changelog.gz./usr/bin/./usr/bin/pev

Entendendo otipo de arquivo deb

$ cat controlPackage: pevVersion: 0.40-1Architecture: amd64Maintainer: Fernando Mercês <fernando@mentebinaria.com.br>Installed-Size: 72Depends: libc6 (>= 2.2.5)Section: utilsPriority: extraHomepage: http://pev.sourceforge.netDescription: text-based tool to analyze PE files pev is a tool to get information of PE32/PE32+ executables (EXE, DLL, OCX etc) like headers, sections, resources and more.

Construindo umpacote deb "na unha"

● Técnica útil somente para fins de aprendizagem.

● Não é a maneira correta de se fazer um pacote.

● Um pacote construído dessa forma nunca seria aceito nos repositórios oficiais do Debian e derivados (o que inclui o Ubuntu).

● Passo a passo em http://www.mentebinaria.com.br/textos#0x19

Ferramentas paragerência de pacotes

● DPKG○ Ferramenta de baixo nível para gerência de

pacotes (instala, remove, exibe informações, mantém uma lista de pacotes instalados etc).

● APT○ Front-end de alto nível para o DPKG com

muitos recursos adicionais. Um dos mais interessantes é a resolução automática de dependências.

● Aptitude○ Front-end para o APT com ainda mais

facilidades (inclusive tela interativa).

Ferramentas paragerência de pacotes

● Synaptic○ Front-end gráfico (GTK+) para o APT.

Empacotando seuspróprios programas

● Interessante fazer da maneira mais correta possível, mesmo que não vá para o repositório do Debian.

● Tutorial de introdução, baseado em sessão de IRC sobre o assunto: http://wiki.debian.org/IntroDebianPackaging

● Documentação oficial: http://www.debian.org/doc/# apt-get install packaging-tutorial debian-policy maint-guide

Créditos e licenças

● Conteúdo: Fernando Mercês (@MenteBinaria)http://www.mentebinaria.com.brLicença: CC BY 3.0

● Template do Google Docs por Nathan HandlerLicença: GPL-2

● Template baseado no template para OpenOffice.org por Raphaël Hertzoghttp://raphaelhertzog.com/go/ooo-templateLicença: GPL-2

● Imagem de fundo por Alexis Younes “ayo”http://www.73lab.comLicença: GPL-2

top related