Por que FreeBSD?

566 visualizações

Publicada em

FreeBSD é um sistema operacional livre, desenvolvido inicialmente na Universidade da California, em Berkeley.
Com uma licença menos restritiva do que a GPL, a licença BSD acaba sendo muito atrativo para empresas.
A apresentação visa fazer uma introdução ao que é o FreeBSD, bem como explicar alguns conceitos, fatos e algumas comparações e paralelos com o Linux.

Material de evangelização ;)

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
566
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
25
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Por que FreeBSD?

  1. 1. 2/51 About me Juliano Atanazio ● Graduated in Computer Science for Business Management (Informática para Gestão de Negócios), FATEC Zona Sul, São Paulo – SP; ● PostgreSQL DBA; ● Linux admin; ● Instructor (PostgreSQL); ● LPIC-1, LPIC-2 Certified; ● Linux user since 2000; ● Free Software enthusiast; ● Favorite technologies: PostgreSQL, Linux, Python, Shell Script, FreeBSD, etc...; ● Headbanger :) m/
  2. 2. 3/51 Sobre o FreeBSD ● FreeBSD é um sistema operacional avançado para várias plataformas que foca em recursos, velocidade e estabilidade; ● É derivado do BSD, a versão de UNIX® desenvolvida na Universidade da Califórnia, em Berkeley; ● Código-fonte aberto; ● Sistema operacional para propósitos gerais, mas com maior direcionamento para servidores;
  3. 3. 4/51 Sobre o FreeBSD ● Lema: “O Poder para Servir” (“The Power to Serve”); ● É desenvolvido e mantido por uma grande comunidade; ● Kernel monolítico com módulos carregáveis dinamicamente; ● Sistema operacional completo, ou seja kernel e userland.
  4. 4. 5/51 Sistema Operacional Completo ● O FreeBSD é um sistema operacional completo, pois não é somente seu kernel, mas sim seu kernel e toda sua *userland; ● Seu kernel e sua userland são mantidos pelo FreeBSD Core Team. * “Userland refere-se a um espaço de aplicações. Típico de sistemas operacionais Unix ou tipo Unix, sendo um ambiente externo ao núcleo e protegido. Mais especificamente pode referir-se a um conjunto de bibliotecas providas pelo sistema operacional para executar entrada/saída ou outra interação com o núcleo e é usada geralmente dentro do escopo do espaço ou ambiente de usuário. Pode referir-se também a componentes de sistema não relacionados com o núcleo, como shell ou outros utilitários para manipular o sistema de arquivos.” Wikipedia. Disponível em: <https://pt.wikipedia.org/wiki/Userland>. Acesso em 17 de agosto de 2016.
  5. 5. 6/51 Licença A licença adotada pelo FreeBSD é a BSD, que significa Berkeley Software Distribution. É um modelo de licença que tem a seguinte estrutura: ● Avisos de direitos autorais; ● 3 cláusulas; ● Aviso Legal; Há um template no site opensource.org que pode ser usado para quem resolver adotar esse tipo de licença.
  6. 6. 7/51 Licença As 3 (três) Cláusulas da Licença BSD 1) “As redistribuições do código-fonte devem manter o aviso de direitos autorais (copyright) acima, esta lista de condições e o seguinte aviso legal.” 2) “Redistribuições em forma binária deve reproduzir o aviso de direitos autorais (copyright) acima, esta lista de condições e o seguinte aviso legal na documentação e / ou outros materiais fornecidos com a distribuição.” 3) “Nem o nome do detentor dos direitos autorais nem os nomes de suas contribuições podem ser usados para endossar ou promover produtos derivados deste software sem permissão prévia por escrito.”
  7. 7. 8/51 Comunidade Sites Principais Site Oficial: https://www.freebsd.org/ FreeBSD Foundation: https://www.freebsdfoundation.org/ Informações Gerais da Comunidade: https://www.freebsd.org/community.html Listas de Discussão Global: http://www.freebsd.org/community/mailinglists.html Comunidade Brasileira e Fórum: http://www.fug.com.br
  8. 8. 9/51 Comunidade Eventos BSDCan: conferência anual em Ottawa, Canadá: http://www.bsdcan.org/ EuroBSDCon: conferência anual na Europa: http://www.eurobsdcon.org/ AsiaBSDCon: conferência anual na Ásia: http://asiabsdcon.org/
  9. 9. 10/51 FreeBSD Foundation Organização com sede nos EUA, sem fins lucrativos dedicada a apoiar e promover o Projeto FreeBSD e a comunidade mundial. A Fundação compra hardware para melhorar e manter a infraestrutura FreeBSD e publica artigos e materiais FreeBSD para promover, educar e advogar para o projeto FreeBSD. Representa o projeto FreeBSD na execução de contratos, acordos de licença e outras questões legais que requerem uma entidade legal reconhecida. https://www.freebsdfoundation.org/
  10. 10. 11/51 Outros BSDs NetBSD – Prima por portabilidade. É o sistema operacional que tem a maior gama de arquiteturas de hardware suportadas. http://netbsd.org/ OpenBSD – Seu maior objetivo como sistema operacional é oferecer segurança acima de tudo. O time de desenvolvimento OpenBSD escreveu o ssh e o pf, que foram ambos portados para o FreeBSD. http://www.openbsd.org/ DragonFly BSD – Prima por desempenho. É um fork do FreeBSD 4.8 que tem sido desenvolvido muitos recursos interessantes para si, incluindo o sistema de arquivos HAMMER. Diferente do FreeBSD, seu kernel é híbrido. http://www.dragonflybsd.org/
  11. 11. 12/51 Publicações Especializadas FreeBSD Journal (Conteúdo exclusivo FreeBSD): https://www.freebsdfoundation.org/journal/ BSD Magazine (Todos os BSDs): https://bsdmag.org/
  12. 12. 13/51 Suporte Assim como ocorre em muitos projetos de Software Livre, o FreeBSD tem suporte da comunidade e suporte comercial. Suporte da Comunidade Funciona por meio de listas de discussão, fóruns, grupos de notícias, grupos de usuários, canais IRC, a própria documentação e etc. https://www.freebsd.org/community.html
  13. 13. 14/51 Suporte Suporte Comercial São empresas de várias naturezas que podem ser contratadas para dar suporte pago ao FreeBSD.  Consultorias;  Fornecedores de Hardware;  Provedores de Serviços de Internet;  Fornecedores de Software;  Fornecedores diversos. https://www.freebsd.org/commercial/
  14. 14. 15/51 Documentação A documentação do FreeBSD é simplesmente uma das melhores documentações de software que existe. Pode conferir e comparar! ;) https://www.freebsd.org/docs.html FreeBSD Handbook É a documentação do FreeBSD em forma de tópicos e muito bem organizada encontrada nas versões: ● Online: https://www.freebsd.org/doc/handbook/ ● PDF: http://ftp.freebsd.org/pub/FreeBSD/doc/handbook/book.pdf
  15. 15. 16/51 Beastie, o Mascote Como outros projetos open source, o FreeBSD tem seu mascote, que é o BSD Daemon, também conhecido como Beastie, uma pronúncia distorcida de BSD (em inglês). Foi criado por Poul-Henning Kamp e por muito tempo foi utilizado como logo do projeto. No contexto de sistemas UNIX®, daemons são processos que rodam em background atendendo várias tarefas sem intervenção humana. No sentido geral, daemon é uma forma mais antiga da palavra demon.
  16. 16. 17/51 Beastie, o Mascote Polêmica No livro Unix System Administration Handbook, Evi Nemeth diz sobre daemons: “Muitas pessoas igualam a palavra ‘daemon’ com a palavra ‘demon’ implicando algum tipo de conexão satânica entre UNIX e o submundo. Esse é um grande equívoco. ‘Daemon’ é atualmente uma forma mais velha de ‘demon’; daemons não têm viés para o bem ou para o mal, mas sim servir para ajudar a definir o caráter ou a personalidade de uma pessoa. O conceito grego antigo de ‘daemon pessoal’ foi similiar ao moderno conceito de ‘anjo da guarda’. ‘Eudaemonia’ é o estado de ser auxiliado ou protegido por um espírito gentil.” (p 403)
  17. 17. 18/51 Beastie, o Mascote No site brasileiro Mundo FreeBSD há um artigo muito interessante sobre o tema que vale a pena a leitura para devidas elucidações e curiosidades para explicar melhor o tema: O Mascote do FreeBSD é um Demônio? http://mundofreebsd.com.br/o-mascote-do-freebsd-e-um-demonio/
  18. 18. 19/51 O Logo O atual logo do FreeBSD foi resultado de um concurso feito em 2005, que o vencedor foi Anton K. Gural. O logo FreeBSD e a frase “The Power to Serve” são marcas registradas da FreeBSD Foundation. Todas imagens listadas sob o título “Resource” está disponível para uso sob a licença da FreeBSD Foundation. Para maiores informações em como obter permissão para usar o logo, consulte as diretrizes de uso do logo do FreeBSD (FreeBSD Logo Usage Guidelines) no site da FreeBSD Foundation. https://www.freebsd.org/logo.html
  19. 19. 20/51 Recursos e Características ● Principais sistemas de arquivos: UFS2 e ZFS (nativo); ● SU+J (Soft Updates with Journaling): Opção de montagem para UFS2 que deixa o sistema de arquivos mais rápido. Elimina a necessidade de um fsck em background mesmo em desligamentos abruptos. Ou seja, desempenho sem abrir mão de segurança e confiabilidade; ● Instalações no sistema podem ser feitas via compilação (ports) ou pacotes binários (pkgng); ● Firewalls: Uma completa e poderosa solução provida por 3 (três) diferentes firewalls que são eles; IPFW, IPFilter e PF. IPFW e PF destacam-se respectivamente para regras de filtragem e NAT;
  20. 20. 21/51 Recursos e Características ● Emulação Linux: Uma camada de tradução de chamadas de sistema que permite que binários Linux (sem modificar) rodem no FreeBSD; ● DTrace: Fornece uma estrutura para rastrear e solucionar problemas de performance de aplicações ou de kernel no momento de carga. ● Jails: Virtualização em contêiner nativa, extremamente leve e performática; ● bhyve: Promissor hipervisor de virtualização total similar ao KVM;
  21. 21. 22/51 Recursos e Características ● Unicidade do projeto: apesar de haver distros baseadas no FreeBSD os comandos são sempre os mesmos. Sistemas de empacotamentos (ports e pkgng) funcionam da mesma forma em qualquer distro derivada; ● CARP (Common Address Redundancy Protocol: Protocolo de Redundância de Endereço Comum): Permite que múltiplos hosts compartilhem o mesmo endereço IP e VHID (Virtual Host ID) para se ter alta disponibilidade para um ou mais serviços.
  22. 22. 23/51 Quem usa o FreeBSD?
  23. 23. 24/51 Sistema Ports Ports ou também conhecido como Ports Collection é um sistema de instalação a partir da compilação do código-fonte. Dentre seus pontos mais fortes tem-se o desempenho do software instalado. Essa instalação é feita de forma padronizada, organizada e com resolução de dependências. Através do sistema Ports podemos instalar a versão mais recente de um determinado aplicativo. Cada item disponível para esse tipo de instalação é chamado de port. Atualmente estão disponíveis 26151 ports. https://www.freebsd.org/ports/
  24. 24. 25/51 pkgng pkg é o atual sistema de gerenciamento de instalação de pacotes do FreeBSD. Gerenciamento de pacotes binários com suporte a resolução de dependências com simples comandos. Os pacotes têm a extensão .txz que usam a compressão XZ. https://www.freebsd.org/doc/handbook/pkgng-intro.html
  25. 25. 26/51 Shell O csh é o shell padrão, mas também é possível optar por outros shells. Os shells pré instalados são: csh, tsch e sh. É possível instalar outros shells como: bash, ksh, zsh, fish, etc...
  26. 26. 27/51 FreeBSD como Desktop Apesar de seu direcionamento ser fortemente direcionado a servidores, não faltam opções de interfaces para uso como desktop: ● Mate; ● Cinnamon; ● KDE; ● Gnome; ● XFCE; ● Lumina; ● Etc...
  27. 27. 28/51 FreeBSD & Linux FreeBSD != Linux O FreeBSD é descendente do BSD original (386BSD) desenvolvido na Universidade da California em Berkeley e o Linux em Helsinki, Finlândia, por Linus Torvalds. Ainda há quem ache que o FreeBSD é uma distribuição Linux. São sistemas operacionais Unix like sim, mas sistemas operacionais distintos. Cada um tem seu próprio kernel.
  28. 28. 29/51 FreeBSD & Linux O FreeBSD é capaz de rodar binários Linux, por meio de emulação, não para todos devido a algumas chamadas de sistema específicas. O Linux não pode executar binários do FreeBSD. O Linux é licenciado sob a licença GPL, enquanto o FreeBSD, como o próprio nome indica, a licença BSD que é mais permissiva do que a licença GPL. Devido à mudança de licença do gcc (de GPL v2 para GPL v3), o FreeBSD utiliza o clang como seu principal compilador, antes disso ambos utilizavam o gcc, no entanto, é possível instalar o gcc, se assim for desejado.
  29. 29. 30/51 FreeBSD & Linux Há muito mais organizações / empresas que desenvolvem o Linux, o que faz com que dentre outras coisas ele tenha uma abrangência maior para suporte de hardware. O código e o desenvolvimento do FreeBSD de maneira geral é mais organizado e conciso, o que resulta em um sistema operacional mais confiável, seguro e estável. De forma geral (há exceções) pode-se dizer que para servidores o FreeBSD é melhor, enquanto que para desktop o Linux é superior.
  30. 30. 31/51 FreeBSD & Linux Comandos e Tarefas Rotineiras de Sistema Há muita coisa parecida e muitos comandos que funcionam exatamente igual em ambos por serem sistemas operacionais “Unix like”. No entanto, há conceitos diferentes para se executar comandos em cada um deles para se ter o mesmo resultado (o desejado, mas muitas vezes em tela de forma distinta).
  31. 31. 32/51 FreeBSD & Linux Informações de Memória ● Linux O comando free é o mais utilizado para verificar informações de memória no Linux: # free -m total used free shared buff/cache available Mem: 7938 4807 2055 44 1074 2843 Swap: 7628 0 7628
  32. 32. 33/51 FreeBSD & Linux Informações de Memória ● FreeBSD O comando vmstat dá informações gerais: # vmstat procs memory page disks faults cpu r b w avm fre flt re pi po fr sr da0 cd0 in sy cs us sy id 1 0 0 386M 1.8G 333 0 2 0 423 6 0 0 8 1873 134 0 1 99 swapinfo traz informações exclusivas de swap: # swapinfo -h Device 1K-blocks Used Avail Capacity /dev/da0p3 1023956 0B 1.0G 0%
  33. 33. 34/51 FreeBSD & Linux Informações de Memória ● FreeBSD O utilitário freecolor exibe quanto tem de memória livre: # freecolor -m Physical : [#################################..] 96% (1887/1963) Swap : [###################################] 100% (999/999) freecolor também pode ter uma saída igual ao free do Linux: # freecolor -m -o total used free shared buffers cached Mem: 1963 75 1887 0 0 0 Swap: 999 0 999
  34. 34. 35/51 FreeBSD & Linux Informações de Memória ● FreeBSD Utilizando um pouco de shell script para descobrir quanto se tem de RAM em Gigabytes ☺: # echo "scale = 2; `sysctl hw.physmem | cut -f2 -d :`/1024/1024/1024" | bc 1.96
  35. 35. 36/51 FreeBSD & Linux Informações de CPU ● Linux Em /proc/cpuinfo há uma série de informações: # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz stepping : 7 microcode : 0x23 cpu MHz : 1670.609 cache size : 6144 KB physical id : 0 siblings : 4 core id : 0 . . .
  36. 36. 37/51 FreeBSD & Linux Informações de CPU Quais são as flags do processador?: ● FreeBSD Modelo, quantos núcleos e arquitetura: # dmesg | egrep '^ *Features' Features=0x1783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PA T,PSE36,MMX,FXSR,SSE,SSE2,HTT> . . . # sysctl hw.{model,ncpu,machine_arch} hw.model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz hw.ncpu: 2 hw.machine_arch: amd64
  37. 37. 38/51 FreeBSD & Linux Módulos do Kernel Carregar um módulo: ● Linux Exibir módulos carregados: # modprobe foo # lsmod Module Size Used by vboxpci 24576 0 . . . Descarregar um módulo: # rmmod foo
  38. 38. 39/51 FreeBSD & Linux Módulos do Kernel Carregar um módulo: ● FreeBSD Exibir módulos carregados: # kldload foo # kldstat Id Refs Address Size Name 1 17 0xffffffff80200000 1f98760 kernel 2 1 0xffffffff82219000 1ff90b zfs.ko . . . Descarregar um módulo: # kldunload foo
  39. 39. 40/51 Distros FreeBSD Repetindo: O FreeBSD é um só! P: Mas mesmo assim existem distros FreeBSD? R: Sim, há ha distro raiz que é o projeto principal e há distros que têm a mesma base, mas direcionamentos diferentes. Ou seja, uma distro baseada no FreeBSD é otimizada para propósitos distintos, seja como servidor, firewall ou desktop. Todas distros FreeBSD têm a mesma hierarquia de diretório, mesmos comandos, o que muda apenas é o direcionamento, a ênfase no propósito.
  40. 40. 41/51 Distros FreeBSD PFSense Tipo: Firewall Interface: Web https://www.pfsense.org/
  41. 41. 42/51 Distros FreeBSD FreeNAS Tipo: File Server (NAS) Interface: Web http://www.freenas.org/
  42. 42. 43/51 Distros FreeBSD TrueOS (antigo PC-BSD) Tipo: Desktop Interface: GUI http://www.trueos.org/
  43. 43. 44/51 Distros FreeBSD GhostBSD Tipo: Desktop Interface: GUI http://ghostbsd.org/
  44. 44. 45/51 Distros FreeBSD MidnightBSD Tipo: Desktop Interface: GUI http://www.midnightbsd.org/
  45. 45. 46/51 Distros FreeBSD UbuntuBSD Tipo: Desktop Interface: GUI https://www.ubuntubsd.org/
  46. 46. 47/51 Curiosidades Em 2014 o Facebook contratou uma equipe de programadores para fazer a pilha de rede do Linux ser tão boa quanto à do FreeBSD para uma maior performance. No entanto, até o presente momento ainda não conseguiram… Darwin, o sistema operacional open source da Apple, que forma a base do MacOS X é baseado no FreeBSD; Orbis OS, o sistema operacional do PlayStation 4 é baseado no FreeBSD.
  47. 47. 48/51 Conclusão O FreeBSD é uma sistema operacional seguro, estável e open source. É uma ótima alternativa ao Linux superando-o em muitas coisas. Vale a pena conhecê-lo para poder aplicar o que ele tem de melhor a oferecer como solução.
  48. 48. 49/51 Doe! :) https://www.freebsdfoundation.org/donate/
  49. 49. 50/51 Save our planet!Save our planet!
  50. 50. 51/51 See you soon!!! Juliano Atanazio juliano777@gmail.com http://slideshare.net/spjuliano https://speakerdeck.com/julianometalsp https://juliano777.wordpress.com :)

×