por que freebsd?
Post on 23-Jan-2018
1.150 Views
Preview:
TRANSCRIPT
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/
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;
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.
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.
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.
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.”
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
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/
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/
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/
12/51
Publicações Especializadas
FreeBSD Journal (Conteúdo exclusivo FreeBSD):
https://www.freebsdfoundation.org/journal/
BSD Magazine (Todos os BSDs):
https://bsdmag.org/
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
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/
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
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.
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)
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/
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
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;
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;
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.
23/51
Quem usa o 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/
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
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...
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...
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.
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.
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.
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).
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
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%
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
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
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
. . .
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
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
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
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.
41/51
Distros FreeBSD
PFSense
Tipo: FirewallInterface: Web
https://www.pfsense.org/
42/51
Distros FreeBSD
FreeNAS
Tipo: File Server (NAS)Interface: Web
http://www.freenas.org/
43/51
Distros FreeBSD
TrueOS (antigo PC-BSD)
Tipo: DesktopInterface: GUI
http://www.trueos.org/
44/51
Distros FreeBSD
GhostBSD
Tipo: DesktopInterface: GUI
http://ghostbsd.org/
45/51
Distros FreeBSD
MidnightBSD
Tipo: DesktopInterface: GUI
http://www.midnightbsd.org/
46/51
Distros FreeBSD
UbuntuBSD
Tipo: DesktopInterface: GUI
https://www.ubuntubsd.org/
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.
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.
49/51
Doe!
:)
https://www.freebsdfoundation.org/donate/
50/51
Save our planet!Save our planet!
51/51
See you soon!!!
Juliano Atanazio
juliano777@gmail.com
http://slideshare.net/spjuliano
https://speakerdeck.com/julianometalsp
https://juliano777.wordpress.com
:)
top related