Conheça o FreeBSD: Um Sistema do Capeta!

Um dos sistemas mais icônicos é o FreeBSD: criado inspirado no UNIX original e parte de seu código foi aproveitado na construção do macOS.


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


Introdução

Diversos pacotes originais do FreeBSD foram portados e estão disponíveis nativamente no Linux! Alguns destes pacotes são o w3m (browser de terminal), netcat (ferramenta de rede), nc (escuta de entrada/saida UDP/TCP – redes) e o sh (shell nativo na maioria das distros Linux).

Sua importância hoje é tamanha que ele se faz presente nos servidores do WhatsApp, Verisign, usado em previsão do tempo e até a Netflix usa servidores FreeBSD para melhorar seu serviço de streamming de videos, como já abordamos nesta publicação anterior!

Sem mais delongas, conheça detalhes daquele que é conhecido como um dos sistemas mais confiáveis da família baseada em UNIX!

1. Falando no diabo, quem é o símbolo do BSD?

Beastie é o nome do simpático “demônio”, símbolo do BSD.

O diabinho na logo do FreeBSD se chama Beastie e representa a capacidade do sistema em lidar com processos constantes de monitoramento de recursos do sistema, os Daemons. – Só pra constar, o Linux também possui daemons!
No terminal do linux, se você der o comando ($ ps aux), vai ver os daemons do sistema destacados entre [ ]. São processos que não podem ser simplesmente matados com o comando Kill. Estes você controla sob o processo pai systemctl.

De maneira simples, um daemon é um robozinho que vigia o que o sistema faz e como o faz. Por exemplo: Você plugou um cabo ethernet no computador e ele se conectou sozinho á rede, foi um daemon que viu o cabo ser conectado e já agiu em cima dele. Plugou um pendrive e ele foi reconhecido já exibindo os arquivos? Um daemon estava monitorando as portas USB esperando que um pendrive (ou outro periferico) fosse conectado.

Daemons são processos simples e leves que ficam monitorando, vigiando o hardware á espera de conexões. Qualquer periférico plug’n’play só funciona na base do “pluga e funciona” por conta dos daemons.

2. O que significa o termo Daemon?

Embora hoje nós sempre associemos o termo “daemon”, demônio, a um ser negativo que pratica o mal e possui apenas desejos satânicos (seja lá o que isso signifique), o termo é interpretado de forma equivocada. Na verdade este termo possui origens muito mais antigas, que remontam a mitologia grega, onde os daemons eram seres sem qualquer inclinação particular ao bem ou para o mal, e que possuíam a finalidade de servir aos seres humanos, algo muito parecido ao conceito contemporâneo de anjo da guarda dentro da religião Católica.

Lekythos: daemon grego alado.

Estes seres possuíam, na mitologia, várias formas sendo representadas em muitos casos como crianças, mulheres e homens. Porém a forma que mais representa um daemon é, sem dúvidas, um ser com chifres (em alguns casos mais de dois) e rabos (em alguns casos mais de um). Outro ponto importante é que eles não eram adorados, ou seja, não eram considerados deuses, apenas ajudadores da raça humana que não necessariamente cumpriam ordens destes deuses. Em alguns casos estes daemons escolhiam pessoas específicas para servirem e protegê-las.

O próprio filósofo Sócrates dizia possuir um relacionamento ativo com seu daemon, inclusive ouvindo com frequência sua voz, poderia lhe transmitir ensinamentos, porém sem interferir no seu livre arbítrio. Era comum, inclusive, que grandes guerreiros afirmassem serem protegidos por daemons, causando um certo temor nos inimigos supersticiosos.

Segundo ainda a mitologia grega, estes seres eram muito semelhantes aos gênios da mitologia árabe, como o da lenda de Aladim e em alguns casos eram associados a felicidade, por isso a palavra grega que designa felicidade é “eudaimonia”. Ser feliz para os gregos é viver sob a influência de um bom daemon.

Nota-se que o Beastie, símbolo do BSD, possui uma aparência mais inspirada nos demônios do cristianismo do que no da mitologia grega.

3. Quais as principais diferenças e semelhanças de usabilidade entre o FreeBSD e o Linux?

As diferenças, num primeiro momento, não são tão gritantes.
Como o sistema é baseado em UNIX tal qual o Linux, ele possui quase a mesma hierarquia de pastas do diretório raíz, em /. Tem-se algumas pastas que só existem no BSD como a system, a compat, a rescue e o cdmnt-install.

O sistema tambem possui muitos comandos do terminal e binários em comum com o Linux: rm, mkdir, top, nano, parted, etc… inclusive até o GRUB (do projeto GNU) usado no boot do Linux é o mesmo pra maioria dos sistemas BSD (alguns sistemas preferiram usar o FreeBSD Boot Manager); também temos o sistema de arquivos EXT4 em comum com o Linux. – alguns BSD’s preferiram aderir ao UFS e/ou ao ZFS, em vez do EXT4, como é o caso do TrueOS.

3.1 Comandos do Terminal

As diferenças maiores estão em comandos comuns do terminal, como o equivalente ao APT do Ubuntu ou PACMAN do Arch:

Instalar pacote de um repositório:

 $ pkg install package

Instalar pacote local:

 $ pkg add package

Lista de pacotes instalados:

 $ pkg info

Update de sistema:

 $ pkg update

Outros comandos:

Listagem de hardware PCI: (no Linux é lspci)

 $ pciconf

Mostrar lista de modulos kernel carregados: (no Linux é lsmod)

 $ kldstat

4. O Kernel Linux é a base dos sistemas Ubuntu, Fedora, Arch, OpenSUSE, etc. O que o BSD possui como base?

O sistema FreeBSD (e qualquer outro BSD) utiliza um kernel de mesmo nome, chamado simplesmente de kernel BSD. Assim como o Linux, o kernel BSD trás consigo módulos (drivers) de hardware de diversos tipos para agariar a maior parte das máquinas.

Para diferenciar o Kernel do Sistema, o sistema é chamado de FreeBSD e o Kernel de kFreeBSD.

Opostamente ao Linux que possui um desenvolvimento marcado por etapas e registros de histórico (você pode baixar e usar um kernel antigo a qualquer momento) o BSD possui um kernel Rolling Release, ou seja, não é simples ter uma cópia antiga do kernel BSD com módulos especificos, o que obriga o usuário a compilar módulos caso estes não existam.

O Linux tambem exige compilações para módulos inexistentes mas no caso especifico do BSD, alguns módulos “comuns” do Linux como um módulo de placa PCI Ethernet ou mesmo Wifi USB simplesmente não existe no sistema do BSD.

5. Aparência

Os sistemas BSD como um geral suportam as mesmas interfaces do Linux: MATE, XFCE, Gnome 3, etc.
E claro, tal qual o Linux, possui alguns sistemas com interfaces exclusivas. Confira algumas:

GhostBSD, com interface MATE, a mesma existente para Linux

TrueOS, com interface Lumina, exclusiva deste sistema.

FreeBSD com interface WindowMaker, disponível também para Linux.

6. O que o BSD tem de bom?

É bem estável. Confiável. Até demais!

O Linux ainda está longe de ter a estabilidade vista no BSD, até porque durante toda sua criação e existência, o BSD foi concebido com foco em receber mais pacotes de correção de bugs e estabilidade do que pacotes novos.

De um lado, ele terá pacotes obsoletos mas seus pacotes estão 99.9% livres de bugs e/ou falhas.

6.1 Estabilidade em Redes

Outro ponto forte é seu pacote de redes. Por experiência própria, firewalls desenvolvidos sob BSD estão (por enquanto!) mais estáveis que os baseados em Linux. O PfSense por exemplo é um, que exige um mínimo de hardware, tem inúmeros recursos, é free e open-source, baseado no FreeBSD, com uma estabilidade excepcional.

6.2 Uso cotidiano

Fiz testes instalando pacotes e atualizando o sistema usando uma variante do FreeBSD chamada GhostBSD.
Ao contrário do FreeBSD, que sequer possui GUI, o GhostBSD possui o MATE e o XFCE como desktops nativos.

Por um momento pensei ter quebrado o desktop environment, porque tudo ficou cinza, as janelas bugadas, ícones desapareceram, todo aquele caos ja não raramente visto num Linux quando somos novatos no sistema e resolvemos mexer em coisa que não devia.

Porém, um mero “pkg update” resolveu o problema, trouxe os pacotes corrigidos e consertou a interface; é, eu tambem queria entender o que diabos aconteceu comigo mas, enquanto o Ubuntu por exemplo pede que façamos “dpkg –configure -a” pra corrigir pacote quebrado/faltando, o simples “update” no BSD ja corrigiu tudo de uma vez.

Pacotes nativos do Linux como o GIMP são faceis de encontrar no repositório.

 $ sudo pkg install gimp # e pronto, você tem o GIMP instalado.

Outra coisa muito legal é a presença exclusiva do Usuario TOOR no BSD.

Nós no linux temos o usuario ROOT que tem super-poderes de Goku com genki dama na hora de meter o loko em todo mundo. É um usuário com poderes ilimitados*.
Porém a galera do BSD é mais organizada contra falhas.

Cada usuário tem um shell proprio.
O ROOT, assim como o NORMAL (quaisquer usuários) têm acesso ao BASH, TCSH, FISH, etc, depende da configuração do sistema. E tem também o TOOR, um usuário “ROOT” com acesso a outro shell, normalmente o CSH. 2 usuários raíz onde cada um mexe num shell.
A ideia é, se você mexer como root, fizer caquinha e quebrar o sistema levando o shell pro vinagre, o usuário TOOR tem privilégios suficientes pra acessar um shell alternativo escondido com poderes pra recuperar o root quebrado.

É algo tão pouco usual que os BSD’s mais atualizados como o GhostBSD não possuem o TOOR por padrão.
Mas todos os BSD’s possuem a opção e esta pode ser habilitada quando quiser.

6.3 Suporte a Módulos/Drivers

O suporte a drivers é relativo, mas ainda peca se comparado ao Linux, tendo suporte oficialmente aos compilados para BSD por parte da NVIDIA e um pouco menos de suporte por drivers da AMD.

O kernel do BSD é rolling release, mas ele recebe poucos updates, em sua maioria voltados a segurança e não mantem histórico de versões. Isso quer dizer que você não terá um repositório de kerneis diferentes para trocar quando quiser. Alem disso, você vai ter todo tipo de problema ao rodar BSD num computador mais velho, com Core 2 Quad por exemplo. Os BSDs são voltados a computadores mais novos e quanto mais novo, melhor.

Outra coisa boa dele são os PORTS, pacotes portados do Linux para o BSD que não existem em versão oficial PKG. (repositório)
Um dos exemplos é o PlayOnBSD, o PlayOnLinux para BSD. A configuração e instalação dos ports é relativamente simples, apenas exige que sejam compilados. Mas o processo é relativamente automatico se você usa o comando $make install

O BSD conta com o sistema de pacotes que remete ao SNAP do linux chamado “PORTSNAP” que complementa os pacotes Ports.

Em um primeiro momento, quando você abre o GhostBSD por exemplo, a pasta /urs/ports está vazia.
Então voce faz estes comandos como root:

 $ portsnap fetch

E ai voce faz a magica:

 $ portsnap extract

Usando um SSD, nunca vi tantos pacotes sendo instalados e processados por segundo. A pasta se encheu com praticamente “tudo” que existe no linux e foi adaptado para o BSD.

Dê update com:

 $ portsnap fetch
 $ portsnap update

ou:

 $ portsnap fetch update

E pronto, voce tem mais uma fonte de pacotes no repositório do BSD.
Alguns pacotes são exclusivos do Ports, outros do Padrão PKG e outros em ambos, como o caso do GIMP que existe em ambos.

Os Ports trazem conteúdo para desenvolvedores. Inclusive um dos ports instala no BSD o Kernel Linux da distro CentOS. Ele fica disponivel para ser usada por desenvolvedores do Linux que queiram ter algo mais concreto. Ou mesmo para usuários finais que desejam compatibilidade maior com determinados programas. É como o atual sistema da Microsoft em implementar o Ubuntu dentro do Windows 10.

7. E o que é que ele tem de ruim?

O kernel BSD não é tão maleável, não existe um repositório de kerneis como o Linux, em que você baixa o 3.0.x, o 4.4.x, o 4.7.x ou mesmo o 4.10.x e utiliza aquele que melhor possuir suporte para seu computador. O BSD é um kernel unico que vem junto com a distro sem grande margem para mudanças. (ao menos, facilmente). O foco fica nas máquinas mais atuais.
Como dito anteriormente, se o seu computador for mais antigo com QuadCore por exemplo, há grandes chances de você ter problemas de drivers se usar o BSD.

O BSD possui um pequeno suporte a pacotes linux, especificamente os RPM e DEB. Mas os DEB são bem problemáticos, incompatíveis em sua maioria. (Você, fã do Debian ou Ubunteiro, esqueça). Fiz alguns testes e quebrei a cara com a incompatibilidade de muitos programas em RPM, até tentei instalar o Google Chrome mas sem sucesso. Sim minha gente, o BSD não possui o Google Chrome nativamente.

A documentação do BSD apesar de elogiada, considerei escassa e confusa e com uma comunidade infinitamente menos ativa que a do Linux (a maioria dos fóruns tem posts de 2005, 2007…. não temos bons fóruns recentes).

A documentação oficial por exemplo não é clara ao citar a utilização do comando “rpm -i” para instalação de RPM’s no BSD, é algo que você deve “descobrir” por si pelo próprio sistema ou algum forum perdido.

A documentação existente se resume ao Handbook do BSD. Tudo que se conhece está nesse link. E é aí que mora o perigo: alguns problemas e tópicos não foram tão bem abordados como poderiam e deveriam. Mas o link é suficiente pra sanar 90% dos problemas comuns e questões sobre o OS.

8. Conclusão

Para os novatos pode ser bem frustrante encontrar um sistema que soa como a perfeita mistura da liberdade do Linux mas com bloqueios como o Windows (pelo menos, até pegar o jeito em como customizar e mudar as coisas).

A ausência de poder customizar o kernel me fez sentir os problemas que você pode ter em rodar o sistema em máquinas mais antigas, tendo em vista que o foco do BSD está em máquinas mais atuais.
Tambem não é facil encontrar pacotes compativeis com BSD no formato .TXZ, bem diferentes dos conhecidos tar.gz do linux. Pacotes .pkg, (equivalentes aos .deb do Ubuntu/Debian ou .rpm do Arch) são uma raridade.

MAS, para quem quer conhecer algo novo, explorar um mundo diferente e ver como são outros sistemas UNIX-like e suas diferenças, é um prato cheio. Eu particularmente não vi nenhuma vantagem em migrar do Linux pro BSD, pode até ganhar mais segurança mas vai pecar mais em liberdade. De qualquer maneira valeu pela experiencia. É sempre bom conhecer coisas novas, mudar um pouco os ares e ver o que existe além do nosso sistema.

O que acharam do FreeBSD?
Já usaram ele alguma vez?
O FreeBSD é seu sistema principal?

#UrbanCompassPony

8 comentários em “Conheça o FreeBSD: Um Sistema do Capeta!”

  1. Muito boa a matéria! Bacana mesmo!

    Comecei a usar GNU/Linux em 1997, passei por Mandrake, Mandriva, Debian e por muitos anos minha distro preferida, Slackware. Mas de alguns anos pra cá tenho o FreeBSD como meu único SO. Não tenho problema algum com ele, não senti falta nada, está me atendendo muito bem. Literalmente faço o que quero com ele, inclusive, compilo o kernel a meu modo! Sei lá, sou suspeito em falar, porque virei fãnzasso desse sistema, que me faz até pensar, “Por que não comecei a usá-lo em 1997?” kkkkkk.

    Responder
  2. Uso BSD desde os anos 90 sempre gostei e sempre usei na verdade quase todas as variantes do padrão POSIX

    Vale a pena experimentar e eu acho o sistema completo, vai da pessoa se interessar em portar, compilar e integrar via fontes sistemas de interesse e uso. BSD é o pai de todos.

    Responder
  3. Excelente o vosso artigo. Gosto de usar o freeBSD pela oportunidade de ter acesso a compiladores, editores de dados gráficos, LaTex e linguagens C e C++. Estive trabalhando nesses tempos passados com o freeBSD num tipo de anda e para, recentemente todos os colegas só falam em LINUX, não acreditam que já houve quem gostasse de codificar em Assembly Programming do Solaris da SUN …. Estou agora pesquisando como instalar os pacotes do mundo LINUX no universo do BSD. Grande abraço. Continue escrevendo sobre BSD.

    Responder
    • Grato pelo carinho, sempre que tem novidades eu faço questão de abordar o BSD pra não esquecê-lo nesse mar de Linux kkkkkk pena que há poucas novidades na mesma constância do Linux, quando mais, lançamentos de distros mesmo.

      Responder

Deixe um comentário