Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Por que FreeBSD?

1,553 views

Published on

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 ;)

Published in: Software

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 :)

×