por que freebsd?

51

Upload: juliano-atanazio

Post on 23-Jan-2018

1.150 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Por que FreeBSD?
Page 2: Por que FreeBSD?

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/

Page 3: Por que FreeBSD?

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;

Page 4: Por que FreeBSD?

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.

Page 5: Por que FreeBSD?

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.

Page 6: Por que FreeBSD?

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.

Page 7: Por que FreeBSD?

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.”

Page 8: Por que FreeBSD?

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

Page 9: Por que FreeBSD?

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/

Page 10: Por que FreeBSD?

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/

Page 11: Por que FreeBSD?

11/51

Outros BSDsNetBSD – 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/

Page 12: Por que FreeBSD?

12/51

Publicações Especializadas

FreeBSD Journal (Conteúdo exclusivo FreeBSD):

https://www.freebsdfoundation.org/journal/

BSD Magazine (Todos os BSDs):

https://bsdmag.org/

Page 13: Por que FreeBSD?

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

Page 14: Por que FreeBSD?

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/

Page 15: Por que FreeBSD?

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

Page 16: Por que FreeBSD?

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.

Page 17: Por que FreeBSD?

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)

Page 18: Por que FreeBSD?

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/

Page 19: Por que FreeBSD?

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

Page 20: Por que FreeBSD?

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;

Page 21: Por que FreeBSD?

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;

Page 22: Por que FreeBSD?

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.

Page 24: Por que FreeBSD?

24/51

Sistema PortsPorts 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/

Page 25: Por que FreeBSD?

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

Page 26: Por que FreeBSD?

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...

Page 27: Por que FreeBSD?

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...

Page 28: Por que FreeBSD?

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.

Page 29: Por que FreeBSD?

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.

Page 30: Por que FreeBSD?

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.

Page 31: Por que FreeBSD?

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

Page 32: Por que FreeBSD?

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 availableMem: 7938 4807 2055 44 1074 2843Swap: 7628 0 7628

Page 33: Por que FreeBSD?

33/51

FreeBSD & Linux

Informações de Memória

● FreeBSD

O comando vmstat dá informações gerais:# vmstat

procs memory page disks faults cpur b w avm fre flt re pi po fr sr da0 cd0 in sy cs us sy id1 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%

Page 34: Por que FreeBSD?

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 cachedMem: 1963 75 1887 0 0 0Swap: 999 0 999

Page 35: Por que FreeBSD?

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

Page 36: Por que FreeBSD?

36/51

FreeBSD & Linux

Informações de CPU

● Linux

Em /proc/cpuinfo há uma série de informações:

# cat /proc/cpuinfo

processor : 0vendor_id : GenuineIntelcpu family : 6model : 42model name : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHzstepping : 7microcode : 0x23cpu MHz : 1670.609cache size : 6144 KBphysical id : 0siblings : 4core id : 0

. . .

Page 37: Por que FreeBSD?

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,PAT,PSE36,MMX,FXSR,SSE,SSE2,HTT>

. . .

# sysctl hw.{model,ncpu,machine_arch}

hw.model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHzhw.ncpu: 2hw.machine_arch: amd64

Page 38: Por que FreeBSD?

38/51

FreeBSD & Linux

Módulos do Kernel

Carregar um módulo:

● Linux

Exibir módulos carregados:

# modprobe foo

# lsmod

Module Size Used byvboxpci 24576 0. . .

Descarregar um módulo:# rmmod foo

Page 39: Por que FreeBSD?

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

Page 40: Por que FreeBSD?

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.

Page 41: Por que FreeBSD?

41/51

Distros FreeBSD

PFSense

Tipo: FirewallInterface: Web

https://www.pfsense.org/

Page 42: Por que FreeBSD?

42/51

Distros FreeBSD

FreeNAS

Tipo: File Server (NAS)Interface: Web

http://www.freenas.org/

Page 43: Por que FreeBSD?

43/51

Distros FreeBSD

TrueOS (antigo PC-BSD)

Tipo: DesktopInterface: GUI

http://www.trueos.org/

Page 44: Por que FreeBSD?

44/51

Distros FreeBSD

GhostBSD

Tipo: DesktopInterface: GUI

http://ghostbsd.org/

Page 45: Por que FreeBSD?

45/51

Distros FreeBSD

MidnightBSD

Tipo: DesktopInterface: GUI

http://www.midnightbsd.org/

Page 46: Por que FreeBSD?

46/51

Distros FreeBSD

UbuntuBSD

Tipo: DesktopInterface: GUI

https://www.ubuntubsd.org/

Page 47: Por que FreeBSD?

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.

Page 48: Por que FreeBSD?

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.

Page 49: Por que FreeBSD?

49/51

Doe!

:)

https://www.freebsdfoundation.org/donate/

Page 50: Por que FreeBSD?

50/51

Save our planet!Save our planet!

Page 51: Por que FreeBSD?

51/51

See you soon!!!

Juliano Atanazio

[email protected]

http://slideshare.net/spjuliano

https://speakerdeck.com/julianometalsp

https://juliano777.wordpress.com

:)