SlideShare uma empresa Scribd logo
1 de 49
Empacotamento Básico
 
Importância do Empacotamento
Vivendo Com Um Sistema Operacional ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Alguém Quer Instalar Um Software Linux... ,[object Object],[object Object],(...) char  *category = libhal_device_get_property_string (ctx, udi,  "info.category" , NULL); if (category && (!strcmp (category,  "net.80203" ) || !strcmp (category,  "net.80211" ))) { char  *temp = libhal_device_get_property_string (ctx, udi,  "net.interface" , NULL); iface = g_strdup (temp); libhal_free_string (temp); } libhal_free_string (category); (...)
Aquele Amigo Esquisito Dá A Dica... ,[object Object],$ ./configure (texto rolando tela acima...) $ make (mais texto rolando tela acima...) $ make install (ainda mais texto rolando...)
O Inferno de Cabeça Para Baixo das 666 Dependências  Programa Depende de A B C D E F J K G H I
Esforços Duplicados progama.tar.gz Programador Descompacta Compila Executável Executável Executável Executável
Surge o Empacotador! progama.tar.gz Programador Descompacta Empacotador Compila Executável Menos trabalho pra muita gente.
Empacotadores Orgulhosos, Repositórios Cheios e Usuários Felizes Repositório de Softwares Pré-compilados
Pacotes no Debian Repositório Debian Lista de pacotes disponíveis apt-get update apt-get install foo Packages.gz foo_0.2.3-1_i386.deb
O Paraíso das Dependências Satisfeitas Programa Depende de A B C D E F J K G H I
Informações Interessantes pra Quem Pretende Empacotar
FHS Filesystem Hierarchy Standard dev/ / usr/ etc/ tmp/ bin/ doc/ lib/ share/ home/ bin/
Anatomia de Um Pacote Binário ,[object Object],versão  -  revisão Debian nome arquitetura debian-control control.tar.gz data.tar.gz
Anatomia de Um Pacote Binário ,[object Object],[object Object],[object Object],[object Object]
data.tar.gz ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
control.tar.gz ,[object Object],[object Object],[object Object],[object Object]
control.tar.gz ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dissecando Um Pacote Binário ,[object Object],[object Object]
Dissecando Um Pacote Binário ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Criando Um Pacote Manualmente
Tema Para O Desktop ,[object Object],[object Object],[object Object],[object Object]
Criando Um Pacote Manualmente (1) ,[object Object],[object Object],[object Object]
Criando Um Pacote Manualmente (2) ,[object Object],diad-artwork/ |--  DEBIAN `--  usr `-- share |-- backgrounds |-- doc |  `-- diad-artwork |-- gdm |  `-- themes |  `-- diad `-- pixmaps `-- splash
Documentação (1) ,[object Object],[object Object],[object Object]
Documentação (2) ,[object Object],[object Object],[object Object],[object Object]
DEBIAN/control ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DEBIAN/md5sums ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
diad-artwork_1.0-1_all.deb ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instalando e Removendo Seu Novo Pacote ,[object Object],[object Object],[object Object]
Instalando e Removendo Seu Novo Pacote ,[object Object]
Debianizando Pacotes Existentes
Debianizando ./DEBIAN ./usr ./usr/share ... ,[object Object],[object Object],./pacote-0.1 ./pacote-0.1/src/* ./pacote-0.1/ debian/* ./pacote-0.1/*
Debianizando ,[object Object]
dh_make ,[object Object],[object Object],[object Object]
Modificando os Arquivos em debian/* ,[object Object],[object Object],Invoca o Makefile Você já conhece esse.
debian/control ,[object Object],[object Object]
Criando o Pacote Binário ,[object Object],[object Object],[object Object],[object Object],[object Object]
Pacotes Fonte ,[object Object],[object Object],[object Object],[object Object],[object Object]
Anatomia de Um Pacote Fonte ,[object Object],[object Object],[object Object],[object Object]
Criando o Pacote Fonte ,[object Object]
Criando o Pacote Fonte ,[object Object],[object Object]
Criando o Pacote Fonte ,[object Object],u = unsigned não faz uso de assinaturas criptográficas
Resumo Visual do Processo de Empacotamento Upstream Source Rename Unpack Build Build Create Working Files Debian packaging files and changes Debian binary package Debian source package Descaradamente copiado de: http://liw.iki.fi/liw/talks/debian-packaging-tutorial.pdf foo-1.0.tar.gz foo-1.0 foo-1.0/debian/* foo_1.0-1_i386.deb foo_1.0-1.orig.tar.gz foo_1.0-1.diff.gz foo_1.0-1.dsc
Autor:  Marcelo Lira dos Santos <setanta@gmail.com> Chefe, posso usar algumas horas de trabalho pra fazer os slides do  Dia D ? Pro  Dia D ? Claro que pode! [meu chefe no INdT]
Referências
Referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxVirgínia
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de redefernandao777
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxCid de Andrade
 
Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Diego Damasceno
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de ProgramasFrederico Madeira
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxWellington Oliveira
 
Gerenciamento de usuários e grupos
Gerenciamento de usuários e gruposGerenciamento de usuários e grupos
Gerenciamento de usuários e gruposVirgínia
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos LinuxCarlos Quadros
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Marlon Willrich
 

Mais procurados (19)

Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições Linux
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e Linux
 
Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do Linux
 
Gerenciamento de usuários e grupos
Gerenciamento de usuários e gruposGerenciamento de usuários e grupos
Gerenciamento de usuários e grupos
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Curso Linux
Curso LinuxCurso Linux
Curso Linux
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos Linux
 
Asterisk
AsteriskAsterisk
Asterisk
 
Tr.01.comandos part1
Tr.01.comandos part1Tr.01.comandos part1
Tr.01.comandos part1
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
 
MigraçãO
MigraçãOMigraçãO
MigraçãO
 

Semelhante a Empacotamento Debian Básico

Webcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxWebcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxDiego Santos
 
Gentoo por marcelo rocha
Gentoo por marcelo rochaGentoo por marcelo rocha
Gentoo por marcelo rochaSENAC RIO
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asteriskVicente Nobre
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programasguest407a9
 
(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programas(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programasAnderson Lago
 
Aula - Comandos Linux - Parte 2
Aula - Comandos Linux - Parte 2Aula - Comandos Linux - Parte 2
Aula - Comandos Linux - Parte 2Leo Amorim
 
Funtoo escla
Funtoo esclaFuntoo escla
Funtoo esclaDaniel
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
Funtoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoFuntoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoDaniel
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Danilo Ricardo
 
37064834 curso-back-track
37064834 curso-back-track37064834 curso-back-track
37064834 curso-back-trackMarcio Pereira
 
37064834 curso-back-track
37064834 curso-back-track37064834 curso-back-track
37064834 curso-back-trackMarcio Pereira
 

Semelhante a Empacotamento Debian Básico (20)

Webcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxWebcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
 
Gentoo por marcelo rocha
Gentoo por marcelo rochaGentoo por marcelo rocha
Gentoo por marcelo rocha
 
Entendendo os pacotes DEB
Entendendo os pacotes DEBEntendendo os pacotes DEB
Entendendo os pacotes DEB
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asterisk
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 
(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programas(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programas
 
Aula - Comandos Linux - Parte 2
Aula - Comandos Linux - Parte 2Aula - Comandos Linux - Parte 2
Aula - Comandos Linux - Parte 2
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
Funtoo escla
Funtoo esclaFuntoo escla
Funtoo escla
 
Customizando Slackware
Customizando SlackwareCustomizando Slackware
Customizando Slackware
 
Dhcp com controle_ip_compartilhamento
Dhcp com controle_ip_compartilhamentoDhcp com controle_ip_compartilhamento
Dhcp com controle_ip_compartilhamento
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Funtoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoFuntoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremo
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
 
Tutorial beagleboard
Tutorial beagleboardTutorial beagleboard
Tutorial beagleboard
 
(05)particoes, raid
(05)particoes, raid(05)particoes, raid
(05)particoes, raid
 
37064834 curso-back-track
37064834 curso-back-track37064834 curso-back-track
37064834 curso-back-track
 
37064834 curso-back-track
37064834 curso-back-track37064834 curso-back-track
37064834 curso-back-track
 
Linux - Partições e Raid
Linux - Partições e RaidLinux - Partições e Raid
Linux - Partições e Raid
 
Nagios+ubuntu16
Nagios+ubuntu16Nagios+ubuntu16
Nagios+ubuntu16
 

Mais de Marcelo Lira

Gerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para PythonGerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para PythonMarcelo Lira
 
Mini-tutorial de GTK+
Mini-tutorial de GTK+Mini-tutorial de GTK+
Mini-tutorial de GTK+Marcelo Lira
 
Mantendo a Sanidade com o Glade
Mantendo a Sanidade com o GladeMantendo a Sanidade com o Glade
Mantendo a Sanidade com o GladeMarcelo Lira
 
Software Livre e Open Source
Software Livre e Open SourceSoftware Livre e Open Source
Software Livre e Open SourceMarcelo Lira
 

Mais de Marcelo Lira (6)

Gerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para PythonGerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para Python
 
Mini-tutorial de GTK+
Mini-tutorial de GTK+Mini-tutorial de GTK+
Mini-tutorial de GTK+
 
Mantendo a Sanidade com o Glade
Mantendo a Sanidade com o GladeMantendo a Sanidade com o Glade
Mantendo a Sanidade com o Glade
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
 
Software Livre e Open Source
Software Livre e Open SourceSoftware Livre e Open Source
Software Livre e Open Source
 
Workshop Python.1
Workshop Python.1Workshop Python.1
Workshop Python.1
 

Último

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 

Último (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 

Empacotamento Debian Básico

Notas do Editor

  1. # Parte 1: Motivação 1. Importância do Empacotamento (usar os slides da apresentacão do ciência livre) 2. Política de Empacotamento Debian - Alta qualidade dos pacotes # Parte 2: Informação de Background 1. FHS - Filesystem Hierarchy Standard 2. Anatomia de Um pacote Debian 1. Dissecando: dpkg-info, dpkg-deb 2. Pacotes Binários 3. Pacotes Source # Parte 3: Criando Um Pacote Manualmente 1. criar árvore de diretórios 2. &amp;quot;instalar&amp;quot; conteúdos na árvore 3. arquivo &amp;quot;copyright&amp;quot; 4. arquivo &amp;quot;changelog&amp;quot; 5. DEBIAN/control 6. DEBIAN/md5sums 7. Empacotar: control.tar.gz + data.tar.gz + debian-binary = pacote.deb 8. Instalar, Verificar, Remover # Parte 4: Debianizando pacotes 1. ... 2. dh_make 3. ...