Bastidores Debian - eriberto.pro.breriberto.pro.br/palestras/bastidores_debian.pdf · - O Debian...

57
Eriberto - nov. 17 Bastidores Debian: Bastidores Debian: Entenda como a distribuição funciona Entenda como a distribuição funciona João Eriberto Mota Filho João Eriberto Mota Filho Goiânia, GO, 18 de novembro de 2017 Goiânia, GO, 18 de novembro de 2017

Transcript of Bastidores Debian - eriberto.pro.breriberto.pro.br/palestras/bastidores_debian.pdf · - O Debian...

Eriberto - nov. 17

Bastidores Debian:Bastidores Debian:Entenda como a distribuição funcionaEntenda como a distribuição funciona

João Eriberto Mota FilhoJoão Eriberto Mota FilhoGoiânia, GO, 18 de novembro de 2017Goiânia, GO, 18 de novembro de 2017

Eriberto - nov. 17

Bem vindo ao maior Bem vindo ao maior projeto de Software projeto de Software

Livre do planeta.Livre do planeta.

Debian:Debian:

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

- Criado em 16 agosto de 1993 por Ian Murdock (foto).

- Debian = Debra + Ian.

- Lançado 01 ano e 10 meses depois do Kernel Linux.

- É a distribuição mais antiga, ainda existente, depois do Slackware (exatamente um mês de diferença).

- No início, era mantido por um pequeno grupo (menos de 6 pessoas). Atualmente, possui uma grande comunidade.

BREVE HISTÓRICOBREVE HISTÓRICO

Ian MurdockIan Murdock1973 - 1973 - 2015 (42 anos)2015 (42 anos)

Eriberto - nov. 17

Alguns dados atualizados até 17 nov. 2017:

- Considerando apenas os desenvolvedores oficiais e os mantenedores de pacotes, pode-se falar em quase 2.000 pessoas espalhadas pelo mundo.

- Em 2017, até 17 nov., foram feitos cerca de 30.000 uploads de pacotes(1) mantidos por quase 1.240 pessoas. Dessas pessoas, 604 são desenvolvedores oficiais.

- Em 2017, até 17 nov., 193 pessoas começaram a manter pacotes no Debian.

(1) https://lists.debian.org/debian-devel-changes

BREVE HISTÓRICOBREVE HISTÓRICO

Ian MurdockIan Murdock1973 - 1973 - 2015 (42 anos)2015 (42 anos)

Eriberto - nov. 17

- O Debian trabalha com os kernels Linux, FreeBSD e Hurd.

- Possui 10 ports oficiais e 12 não oficiais.

BREVE HISTÓRICOBREVE HISTÓRICO

Oficiais Não oficiais

amd64arm64armelarmhfi386mipsmips64elmipsel ppc64els390x

alphahppahurd-i386kfreebsd-amd64kfreebsd-i386m68kpowerpcpowerpcspeppc64sh4 (Hitachi SuperH)sparc64x32

Fonte: https://buildd.debian.orgAtualizado em nov. 2017

Eriberto - nov. 17

BREVE HISTÓRICOBREVE HISTÓRICO

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

“O Debian

só fica pronto

quando está pronto.”

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

As versões 0.xAs versões 0.x

As versões 0.x foram experimentos básicos que visavam desenvolver uma filosofia para a criação da primeira versão definitiva (seria 1.0 mas terminou sendo a 1.1, devido a um engano cometido pelo fabricante de CDs InfoMagic).

0.1 a 0.90 – lançadas entre agosto e dezembro de 93;

0.91 a 0.93 R6 – lançadas entre janeiro de 94 e novembro de 95. A versão 0.93 trouxe o DPKG.

A partir da versão 1.1, sob a liderança de Bruce Perens, começou o uso de codinomes.

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

As versões 1.xAs versões 1.x

1.2 Rex12 dez. 96

Cada versão passou Cada versão passou a ter um codinome a a ter um codinome a partir da liderança partir da liderança de Bruce Perens de Bruce Perens (abr. 96 a dez. 97).(abr. 96 a dez. 97).

1.1 Buzz17 jun. 96

1.3 Bo05 jul. 97

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

As versões 1.x - Um detalhe importante...As versões 1.x - Um detalhe importante...

1.1 Buzzjun. 96

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

As versões 2.xAs versões 2.x

2.0 Hamm24 jul. 98

2.1 Slink09 mar. 99

2.2 Potato15 ago. 00

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

As versões 3.xAs versões 3.x

3.0 Woody19 jul. 02

3.1 Sarge06 jun. 05

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

A versão 4.0A versão 4.0

4.0 Etch08 abr. 07

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

A versão 5.0A versão 5.0

5.0 Lenny14 fev. 09

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

A versão 6.0A versão 6.0

6.0 Squeeze06 fev. 11

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

7.0 Wheezy04 mai. 13

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Multiarch!

A versão 7.0A versão 7.0

Eriberto - nov. 17

8.0 Jessie(26 abr. 15)

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕESA versão 8.0A versão 8.0

Eriberto - nov. 17

9.0 Stretch(17 jun. 17)

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Stable

Atual

Eriberto - nov. 17

10 Buster(2019?)

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Testing

Atual

The next step...The next step...

Eriberto - nov. 17

11 Bullseye(2021?)

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕESThe future!The future!

Próximo

Testing

Eriberto - nov. 17

HISTÓRICO DAS VERSÕESHISTÓRICO DAS VERSÕES

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

Unstable: Pacotes recém-chegados ao Debian. Não possui repositório de segurança. Release na qual os desenvolvedores mais trabalham.

Testing: Pacotes oriundos da release unstable. Dependendo do estágio, poderá ser usado em desktops.

Stable: Versão final, já sem bugs ou problemas de segurança. Próprio para produção e serviços críticos. Não recebe novos programas. Permite apenas atualizações de segurança ou reparos de bugs críticos*. Possui repositório de segurança.

* Alternativa: repositório Backports → http://backports.debian.org.

RELEASES DEBIANRELEASES DEBIAN

Eriberto - nov. 17

Debian Sid (Unstable)Debian Sid (Unstable)

Sid, o garoto instável da casa ao lado.Sid, o garoto instável da casa ao lado.

A versão instável do Debian sempre terá o codinome Sid, A versão instável do Debian sempre terá o codinome Sid, que é associado à abreviatura “Still In Development”.que é associado à abreviatura “Still In Development”.

Sid

RELEASES DEBIANRELEASES DEBIAN

~57.000 pacotes em ~57.000 pacotes em 17 nov. 201717 nov. 2017

~57.000 pacotes em ~57.000 pacotes em 17 nov. 201717 nov. 2017

Eriberto - nov. 17

- Main: contém os pacotes principais e livres existentes na distribuição.

- Contrib: contém pacotes livres que dependem de outros não livres para serem instalados ou compilados.

- Non-Free: contém pacotes que disponibilizam o seu código fonte que têm leves restrições nas suas licenças (quanto ao uso ou à redistribuição dos mesmos).

Exemplo de sintaxe de chamada do repositório principal com a adição da seção Contrib (arquivo /etc/apt/sources.list):

deb http://ftp.br.debian.org/debian stretch main contrib

RELEASES DEBIAN (SEÇÕES)RELEASES DEBIAN (SEÇÕES)

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

- O Debian possui uma organização hierárquica coordenada por um líder eleito periodicamente.

- Atualmente, existem 5 grandes grupos divididos em várias equipes. São eles:

* Oficiais;

* Distribuição;

* Publicidade;

* Suporte e infraestrutura;

* Debian Pure Blends (antigo Custom Deb. Distrib. - CDD).

- Fonte: http://www.debian.org/intro/organization

ORGANIZAÇÃO DO DEBIANORGANIZAÇÃO DO DEBIAN

Eriberto - nov. 17

1. Ian Murdock (1993 - 1996) 2. Bruce Perens (1996 - 1997) 3. Ian Jackson (1998) 4. Wichert Akkerman (1999 - 2001) 5. Ben Collins (2001 - 2002) 6. Bdale Garbee (2002 - 2003) 7. Martin Michlmayr (2003 - 2005) 8. Branden Robinson (2005 - 2006) 9. Anthony Towns (2006 - 2007) 10. Sam Hocevar (2007 - 2008) 11. Steve McIntyre (2008 - 2010) 12. Stefano Zacchiroli (2010 - 2013) 13. Lucas Nussbaum (2013 - 2015) 14. Neil McGovern (2015 - 2016) 15. Mehdi Dogguy (2016 - 2017) 16. Chris Lamb (2017 - ?)

ORGANIZAÇÃO DO DEBIAN - LÍDERESORGANIZAÇÃO DO DEBIAN - LÍDERES

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

A Conferência Anual de Desenvolvedores Debian (DebConf) reúne desenvolvedores e usuários em algum local no mundo. O objetivo principal é discutir os rumos do projeto. O site da DebConf é http://debconf.org.

(0) 2000 - França (1) 2001 - França (2) 2002 - Canadá (3) 2003 - Noruega (4) 2004 - Brasil (5) 2005 - Finlândia (6) 2006 - México (7) 2007 - Reino Unido (8) 2008 - Argentina (9) 2009 - Espanha(10) 2010 - USA(11) 2011 - Bósnia(12) 2012 - Nicarágua(13) 2013 - Suíça(14) 2014 - USA(15) 2015 - Alemanha(16) 2016 - África do Sul(17) 2017 - Canadá(18) 2018 - Taiwan

Ao lado, a DebConf 17.

DEBCONFDEBCONF

Eriberto - nov. 17

Dentro dos países ocorrem as Mini DebConfs. Há dois objetivos com isso: reunir os usuários de desenvolvedores Debian e preparar o país para uma DebConf. O site das Mini DebConfs brasileiras é http://br2017.mini.debconf.org/.

(0) 2015 - Brasília (1) 2015 - FISL 16 (2) 2015 - XII Latinoware (3) 2016 - Curitiba (4) 2016 - XIII Latinoware (5) 2017 - Curitiba (6) 2018 - Curitiba

Ao lado, a Mini DebConf Curitiba de 2017.

MINI DEBCONFMINI DEBCONF

Eriberto - nov. 17

11 e 12 - Mini DebCamp

13 e 14 - Mini DebConf

http://minidebconf.curitiba.br

Mini DebConf Curitiba

2018

MINI DEBCONFMINI DEBCONF

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

- Todo pacote passa por um ciclo de vida no Debian.

- Esse ciclo de vida, na maioria dos casos, segue o preconizado na figura ao lado.

- O ITP e o FTP Master são estágios para pacotes que estão entrando pela primeira vez no Debian.

- A Release Stable só é atingida após determinados períodos de espera (cerca de 2 anos).

- Cada pacote, geralmente, permanece 5 dias na Release Unstable.

- Como curiosidade, o Ubuntu busca os seus pacotes no Debian Unstable.

CICLO DE VIDA DO PACOTE (RESUMO)CICLO DE VIDA DO PACOTE (RESUMO)

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

- No Unstable, o pacote é compilado, automaticamente, em todas as arquiteturas suportadas pelo Debian.

COMPILAÇÃO DO PACOTECOMPILAÇÃO DO PACOTE

Eriberto - nov. 17

- Há duas filas de entrada de pacotes no Debian:

---> New: pacotes inéditos. http://ftp-master.debian.org/new.html

---> Incoming: uploads orindos da fila New ou não (novas versões de pacotes já existentes nos repositórios). http://incoming.debian.org

- A movimentação de pacotes da fila incoming ocorre a cada 6 horas:

---> http://people.debian.org/~faw/tools/dinstall.html

---> http://ftp-master.debian.org/dinstall.status

---> https://people.debian.org/~eriberto/top_500_new.html

- FTP-Master: http://ftp-master.debian.org.

COMPILAÇÃO DO PACOTECOMPILAÇÃO DO PACOTE

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

“Nós não

esconderemos problemas.”

Contrato Social Debian,

em http://www.debian.org/social_contract

BUG TRACK SYSTEM (BTS)BUG TRACK SYSTEM (BTS)

Eriberto - nov. 17

- http://bugs.debian.org

BUG TRACK SYSTEM (BTS)BUG TRACK SYSTEM (BTS)

Eriberto - nov. 17

- http://bugs.debian.org

BUG TRACK SYSTEM (BTS)BUG TRACK SYSTEM (BTS)

Eriberto - nov. 17

- As falhas de segurança graves e não resolvidas causarão a remoção do pacote.

- Caso o desenvolvedor do programa não queira sanar uma falha de segurança ou um bug, o mantedor do pacote no Debian poderá fazê-lo com patches que serão aplicados em tempo de compilação.

- Além das equipes de segurança e auditoria, há robôs fazendo checagens. Programas como rats, flawfinder, pscan, splint e lintian são utilizados no processo.

- Todos os problemas relatados e as suas soluções jamais serão apagadas do servidor do BTS.

- Qualquer pessoa pode acessar e usar o BTS.

BUG TRACK SYSTEM (BTS)BUG TRACK SYSTEM (BTS)

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

Fonte: Distrowatch.com, 17 nov. 2017.

ESTATÍSTICASESTATÍSTICAS

Eriberto - nov. 17

ESTATÍSTICASESTATÍSTICAS

Fonte: Distrowatch.com, 17 nov. 2017.

Eriberto - nov. 17

Fonte: Wikipedia.org e sites das distribuições, 17 nov. 2017.

ESTATÍSTICASESTATÍSTICAS

Eriberto - nov. 17

ESTATÍSTICAS – PARCEIROS DEBIANESTATÍSTICAS – PARCEIROS DEBIAN

Eriberto - nov. 17

ESTATÍSTICAS – PARCEIROS DEBIANESTATÍSTICAS – PARCEIROS DEBIAN

Eriberto - nov. 17

ESTATÍSTICAS – PARCEIROS DEBIANESTATÍSTICAS – PARCEIROS DEBIAN

Eriberto - nov. 17

ESTATÍSTICAS – PARCEIROS DEBIANESTATÍSTICAS – PARCEIROS DEBIAN

Eriberto - nov. 17

Breve históricoHistórico das versõesReleases DebianOrganização do DebianDebConf e Mini DebConfCiclo de vida do pacoteCompilação do pacoteBug Track System (BTS)EstatísticasConclusão

SUMÁRIOSUMÁRIO

Eriberto - nov. 17

“Uma distribução séria, organizada, segura e aberta para quem queira colaborar com comprometimento.”

Desenvolvedores Debian. Fonte: Debian.Org, 17 nov. 2017.

CONCLUSÃOCONCLUSÃO

Eriberto - nov. 17

CONCLUSÃOCONCLUSÃO

Eriberto - nov. 17

Apresentação desenvolvida e exibida com:

* Debian GNU/Linux versão Stretch (9.2);

* LibreOffice Impress 5.2.7.2;

* LibreOffice Calc 5.2.7.2;

* Gimp 2.8.18;

* Firefox ESR 52.4.0.

Esta palestra está disponível em:http://eriberto.pro.br

Siga-me no Twitter @eribertomotaSiga-me no Twitter @eribertomota

CONCLUSÃOCONCLUSÃO