0
Palestrante:
Ravi Vilela Rauber
Tópicos
●   WTF?
●   Histórico
●   Filosofia
●   Portage
●   Inicialização
●   Segurança
●   Comunidade
●   Quem usa?
●   ...
WTF?
●   Sistema operacional livre
●   Baseado no Linux ou no FreeBSD
●   Portage
    –   Gerenciador de pacotes
●   METAd...
E qualé a diferença?
●   É extremamente configurável
●   Quem tem controle é o usuário, e não o criador dos
    pacotes
● ...
Filosofia
●   Permitir ao usuário desfrutar da riqueza da
    comunidade e flexibilidade do software livre
●   Permitir qu...
História
●   Criado por Daniel Robbins
●   Nome original: Enoch
●   Distribuição que fosse compilada a partir do código
  ...
Gentoo
Gentoo
●   Espécie de pingüim mais veloz
●   Pega 2 fêmeas a mais por ano que os pingüins
    as outras espécies
Gentoo
O que é?
●   Compilação?
●   Otimização de código?
Compilação
●   Processo de transformar algo escrito em uma
    linguagem em algo escrito em outra linguagem
●   Ex: portug...
Compilação
Compilação
Otimização de código
●   Um código otimizado faz a mesma coisa que o original
●   Em menos tempo
●   Gastando menos memória
Portage
●   Inspirado no Ports do FreeBSD
●   Coração do Gentoo
●   2 partes:
    –   sistema de ebuilds
    –   emerge
Ebuild
●   Arquivo de texto, e não um pacote
●   Contém
    –   Url do programa a ser instalado
    –   Instruções de como...
Ebuild
Emerge
●   Instala e gerencia os ebuilds
●   Calcula dependências entre pacotes
●   Atualiza os pacotes
●   Seta as USE fl...
Utilização do emerge
●   Atualizando os ebuilds:
     # emerge --sync
●   Sincroniza os ebuilds com o repositório central ...
Utilização do emerge
●   Dois conjuntos: system e world
●   Atualizar um conjunto
    –   # emerge -u world
●   Considerar...
Utilização do emerge
Configuração
●   /etc/make.conf
●   CFLAGS e CXXFLAGS
     –   Controlam quais otimizações do gcc/g++ serão usadas
●   CHO...
Pacotes bloqueados
●   Pacotes considerados estáveis não são bloqueados
●   Pacotes que ainda não foram completamente test...
Overlays
●   É possível usar árvores de pacotes alternativas à árvore oficial do
    Portage
●   Lista de overlays “oficia...
Overlays
Inicialização
●   Parecido com o System V
●   Scripts baseados em dependência
●   Run-levels com nomes (ao invés de número...
rc-update
●   Gerencia serviços por runlevel
●   Adicionar um serviço
    # rc-update add sshd default
●   Listar serviços...
Segurança
●   Suporte a profiles
●   Profile hardened
●   Projeto hardened
    –   Pesquisa, implementação e manutenção de...
Segurança
●   Subprojetos
    –   SELinux e grsecurity
         ●   Política de segurança baseada em listas de acesso para...
GLSA
●   Gentoo Linux Security Advisory
●   Boletim periódico
●   Alerta sobre falhas de segurança e
    vulnerabilidades
...
Comunidade
●   Gentoo Foundation
●   Mais de 300 desenvolvedores
●   Documentação
●   Site, fóruns, listas, desenvolviment...
Documentação
●   Gentoo Handbook
     –   Passo a passo muito detalhado da instalação
●   Documentação oficial
●   Wiki
● ...
Quem usa?
●   Hosting e datacenters
    –   Linode
    –   Bytemark hosting
    –   Genesi
●   Peel Fresco Music Lounge
  ...
Quem usa?
●   Zymeta Video Jukebox
Quem usa?
●   Hyves
    –   Rede social européia
    –   6 milhões de usuários registrados
    –   150+ milhões de acessos...
Quem usa?
●   Eu!
Quem usa?
●   Você!
Instalação
●   Passos gerais:
●   Bootar live cd
●   Criar partição /
●   Criar sistema de arquivos
●   Montar partição
● ...
Instalação
●   chroot pra dentro da partição
●   Configurar make.conf
●   Montar proc e dev
●   Instalar:
     –   Kernel
...
Referências
●   http://www.gentoo.org
●   http://www.gentoo-wiki.com
●   http://en.wikipedia.org/wiki/Portage_(software)
●...
Gentoo
Upcoming SlideShare
Loading in...5
×

Gentoo

1,683

Published on

Desmistificando o Gentoo Linux

(Ravi Vilela / CATWORK / Rora)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,683
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
51
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Gentoo"

  1. 1. Palestrante: Ravi Vilela Rauber
  2. 2. Tópicos ● WTF? ● Histórico ● Filosofia ● Portage ● Inicialização ● Segurança ● Comunidade ● Quem usa? ● Instalação
  3. 3. WTF? ● Sistema operacional livre ● Baseado no Linux ou no FreeBSD ● Portage – Gerenciador de pacotes ● METAdistribução – quem monta o SO é o usuário ● Comunidade – Gentoo Foundation
  4. 4. E qualé a diferença? ● É extremamente configurável ● Quem tem controle é o usuário, e não o criador dos pacotes ● Gera pacotes com otimização de código e com apenas as características que você desejar ● Pacotes atualizados ● Pode ser usado como servidor, estação de desenvolvimento, máquina para jogos, cluster, o que você quiser ● Portável – roda em várias arquiteturas (: ● x86-64, x86, powerpc, ps3...
  5. 5. Filosofia ● Permitir ao usuário desfrutar da riqueza da comunidade e flexibilidade do software livre ● Permitir que o usuário trabalhe do jeito que seja mais confortável pra ele ● Ferramenta não deve impor nada ao usuário ● Deve permitir ao usuário fazer o que ele quiser ● Se uma ferramenta não fica no caminho e não é notada → trabalho bem feito ● Objetivo do Gentoo: ser uma ferramenta que possa acomodar as necessidades de muitos tipos diferentes de usuário
  6. 6. História ● Criado por Daniel Robbins ● Nome original: Enoch ● Distribuição que fosse compilada a partir do código fonte ● Correção no gcc: binários pelo menos 10% mais rápidos ● Famosa pela sua velocidade ● Troca de nome para Gentoo
  7. 7. Gentoo
  8. 8. Gentoo ● Espécie de pingüim mais veloz ● Pega 2 fêmeas a mais por ano que os pingüins as outras espécies
  9. 9. Gentoo
  10. 10. O que é? ● Compilação? ● Otimização de código?
  11. 11. Compilação ● Processo de transformar algo escrito em uma linguagem em algo escrito em outra linguagem ● Ex: português → neo-miguxês: ● Original: “compilação de código é uma coisa que o gentoo faz bastante” ● Compilado: “KomPiLaXXAUM dI kOdIgu eh 1 KOiZaH KI u GENtOw fAixXx BAStaNti” ● C++ → linguagem de máquina (a que o computador fala)
  12. 12. Compilação
  13. 13. Compilação
  14. 14. Otimização de código ● Um código otimizado faz a mesma coisa que o original ● Em menos tempo ● Gastando menos memória
  15. 15. Portage ● Inspirado no Ports do FreeBSD ● Coração do Gentoo ● 2 partes: – sistema de ebuilds – emerge
  16. 16. Ebuild ● Arquivo de texto, e não um pacote ● Contém – Url do programa a ser instalado – Instruções de como instalá-lo ● Separados por categorias ● Um ebuild por versão do programa ● Sistema de slots – várias versões do mesmo programa instaladas simultaneamente
  17. 17. Ebuild
  18. 18. Emerge ● Instala e gerencia os ebuilds ● Calcula dependências entre pacotes ● Atualiza os pacotes ● Seta as USE flags dos pacotes ● Regula as otimizações do compilador
  19. 19. Utilização do emerge ● Atualizando os ebuilds: # emerge --sync ● Sincroniza os ebuilds com o repositório central do gentoo ● Instalação de pacotes: # emerge nome-do-pacote ● Instalar versão específica # emerge =categoria/nome-do-pacote-1.2.3 ● Instalar versão maior ou igual 1.2.3 # emerge >=categoria/nome-do-pacote-1.2.3 ● Desinstalar todos os menores que a versão 1.2.3 # emerge -C <categoria/nome-do-pacote-1.2.3
  20. 20. Utilização do emerge ● Dois conjuntos: system e world ● Atualizar um conjunto – # emerge -u world ● Considerar árvore de dependências – # emerge -uD world
  21. 21. Utilização do emerge
  22. 22. Configuração ● /etc/make.conf ● CFLAGS e CXXFLAGS – Controlam quais otimizações do gcc/g++ serão usadas ● CHOST – Define a arquitetura do processador: ● I686, x86-64, ... ● USE – Define a funcionalidade que será incluída nos pacotes – Ex: ● Se a USE flag “mysql” existir, todos os programas serão compilados com suporte a mysql
  23. 23. Pacotes bloqueados ● Pacotes considerados estáveis não são bloqueados ● Pacotes que ainda não foram completamente testados mas que é sabido que funcionem bem são “mascarados” (masked) ● Pacotes que não estão estáveis ainda são marcados como “hard masked” ● É possível ter pacotes estáveis e instáveis instalados num mesmo sistema ● Controle feito por arquivos de configuração: – /etc/portage/package.unmask – /etc/portage/package.keywords – /etc/portage/package.mask
  24. 24. Overlays ● É possível usar árvores de pacotes alternativas à árvore oficial do Portage ● Lista de overlays “oficiais” ● Você pode montar o seu!
  25. 25. Overlays
  26. 26. Inicialização ● Parecido com o System V ● Scripts baseados em dependência ● Run-levels com nomes (ao invés de números) ● Originalmente escrito em bash ● Baselayout-2 desenvolvido ● Escrito em C ● Portável ● Mais rápido
  27. 27. rc-update ● Gerencia serviços por runlevel ● Adicionar um serviço # rc-update add sshd default ● Listar serviços # rc-update status ● Iniciar um serviço # /etc/init.d/mysql start
  28. 28. Segurança ● Suporte a profiles ● Profile hardened ● Projeto hardened – Pesquisa, implementação e manutenção de políticas de segurança
  29. 29. Segurança ● Subprojetos – SELinux e grsecurity ● Política de segurança baseada em listas de acesso para todos os processos – PaX ● Proteção contra buffer overflow – Hardened toolchain ● Compiladores com capabilidades do PaX – Hardened sources ● Kernel com patches de segurança
  30. 30. GLSA ● Gentoo Linux Security Advisory ● Boletim periódico ● Alerta sobre falhas de segurança e vulnerabilidades ● glsa-check – Detecta vulnerabilidades no seu sistema – Instala correções automaticamente
  31. 31. Comunidade ● Gentoo Foundation ● Mais de 300 desenvolvedores ● Documentação ● Site, fóruns, listas, desenvolvimento, lançamento de live cds... ● Conselho do Gentoo eleito anualmente ● Reuniões mensais no irc ● Decisões sobre questões envolvendo múltiplos projetos ● Dias de caça a bugs
  32. 32. Documentação ● Gentoo Handbook – Passo a passo muito detalhado da instalação ● Documentação oficial ● Wiki ● Guias de – Configuração do sistema – Otimização – Localização – Configuração do kernel – Computação distribuída – Servidor (e-mail, samba, banco de dados...) – (...)
  33. 33. Quem usa? ● Hosting e datacenters – Linode – Bytemark hosting – Genesi ● Peel Fresco Music Lounge – Bar em Hong Kong – Hospedagem do site
  34. 34. Quem usa? ● Zymeta Video Jukebox
  35. 35. Quem usa? ● Hyves – Rede social européia – 6 milhões de usuários registrados – 150+ milhões de acessos diários – 1800 servidores ● NASA
  36. 36. Quem usa? ● Eu!
  37. 37. Quem usa? ● Você!
  38. 38. Instalação ● Passos gerais: ● Bootar live cd ● Criar partição / ● Criar sistema de arquivos ● Montar partição ● Descompactar stage na partição ● Descompactar portage
  39. 39. Instalação ● chroot pra dentro da partição ● Configurar make.conf ● Montar proc e dev ● Instalar: – Kernel – Grub/lilo/outro (carregador de boot) – Syslog (log do sistema) – Cron (agendador do sistema) ● Configurar: – fstab – Serviços – Rede – Configurar senha do superusuário – Reboot!
  40. 40. Referências ● http://www.gentoo.org ● http://www.gentoo-wiki.com ● http://en.wikipedia.org/wiki/Portage_(software) ● http://en.wikipedia.org/wiki/Gentoo_Linux ● http://www.aurelio.net
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×