FreeBSD vs. Linux

Muitas com­para­ções se têm feito entre os BSD e o Lin­ux. Nas lin­has seguintes, falarei das prin­ci­pais difer­enças entre estes dois sis­temas.

Este arti­go é inspi­ra­do em FreeB­SD vs Lin­ux: 20 Things To Know About Both The Sys­tem.

1. FreeBSD é um Sistema Operativo; Linux, não.

Esta é a prin­ci­pal difer­ença entre o FreeB­SD e o Lin­ux.

Enquan­to que o FreeB­SD é um sis­tema oper­a­ti­vo com­ple­to (con­tém um ker­nel e fer­ra­men­tas). O Lin­ux não é. O Lin­ux é ape­nas um ker­nel; só so “tor­na” um sis­tema oper­a­ti­vo depois de incluí­do numa dis­tribuição (é este o nome téc­ni­co). Exis­tem várias dis­tribuições de Lin­ux, nomeada­mente, Red Hat, Debian, Arch, etc., que incluem difer­entes util­itários e apli­cações.

O FreeB­SD, por out­ro lado, é forneci­do sem­pre com as mes­mas fer­ra­men­tas e méto­dos de con­fig­u­ração.

2. Origens

Con­forme foi detal­ha­do nas min­has pub­li­cações ante­ri­ores sobre a história do FreeB­SD (Breve História do FreeB­SD: parte 1 e Breve História do FreeB­SD: parte 2), as ori­gens do FreeB­SD remon­tam a 1977.

Foi nesse ano que Bill Joy lid­er­ou a equipa que desen­volveu o primeiro BSD (ini­ci­ais de Berke­ley Soft­ware Dis­tri­b­u­tion).

O BSD sofreu várias actu­al­iza­ções e, após alguns atro­pe­los com dire­itos de autor (deti­dos pela AT&T), foi lança­da a ver­são 4.4BSD-Lite2, que não sofria de nen­hum prob­le­ma. Enquan­to que o FreeB­SD 1.0 era basea­do no 386BSD, por sua vez, basea­do no 4.4BSD, o FreeB­SD 2.0 foi basea­do no 4.4BSD-Lite2.

Já o Lin­ux foi desen­volvi­do por Linus Tor­valds, um estu­dante de Infor­máti­ca na Uni­ver­si­dade de Hel­sín­quia, na altura, com base no MINIX, um clone do UNIX, com­patív­el a nív­el de chamadas ao sis­tema oper­a­ti­vo com o Sev­enth Edi­tion UNIX). Ini­cial­mente foi pen­sa­do como sendo ape­nas um pro­jec­to académi­co (nem mes­mo o próprio Linus Tor­valds sus­peita­va o êxi­to que o Lin­ux veria a ter), mas rap­i­da­mente, graças à colab­o­ração da comu­nidade, viria a espal­har-se e a tornar-se um dos sis­temas oper­a­tivos mais usa­dos nos dias que cor­rem.

No entan­to, o Lin­ux é ape­nas um ker­nel, pelo que pre­cisa de fer­ra­men­tas; para com­ple­men­tar o Lin­ux, Tor­valds escol­heu as fer­ra­men­tas do pro­jec­to GNU. O pro­jec­to GNU que, emb­o­ra, nos primór­dios do Lin­ux, tin­ha fer­ra­men­tas, mas não tin­ha um ker­nel. A junção das fer­ra­men­tas GNU com o ker­nel Lin­ux resul­taram no GNU/Linux.

3. Desenvolvimento

O desen­volvi­men­to do Lin­ux é, hoje em dia, da respon­s­abil­i­dade da Lin­ux Foun­da­tion. Até há poucos meses, o desen­volvi­men­to era feito por várias pes­soas da comu­nidade e as alter­ações aprovadas, ou não, por Linus Tor­valds.

O desen­volvi­men­to do FreeB­SD é feito por uma equipa inter­na à FreeB­SD Foun­da­tion que, oca­sion­al­mente, acei­ta sug­estões da comu­nidade. De tem­pos a tem­pos, é lança­da uma nova ver­são do FreeB­SD com­ple­to com todas as suas fer­ra­men­tas.

4. Licença

Tam­bém a licença de uso do FreeB­SD e do Lin­ux são difer­entes.

O Lin­ux, como dito atrás, usa a GNU Gen­er­al Pub­lic License (tex­to com­ple­to aqui, em inglês).

O FreeB­SD usa a chama­da Licença BSD, muito mais sim­ples e muito menos restri­ti­va que a GPL.

Muito resum­i­da­mente, ambas pro­movem a dis­tribuição do códi­go fonte das apli­cações e a con­cepção de pro­du­tos deriva­dos; no entan­to, enquan­to a GPL obri­ga a que tra­bal­hos deriva­dos sejam licen­ci­a­dos tam­bém com a GPL, a licença BSD não obri­ga à dis­tribuição do códi­go fonte deriva­do.

É maior­i­tari­a­mente por esta razão que exis­tem tan­tos pro­du­tos basea­d­os no FreeB­SD que mui­ta gente nem sabe, como, por exem­p­lo, a Sony Playsta­tion, o macOS, os routers Juniper, etc.

5. Pacotes de software

Tam­bém neste aspec­to, como não podia deixar de ser, os dois são difer­entes.

No Lin­ux, o soft­ware é insta­l­a­do de for­mas difer­entes, depen­den­do da dis­tribuição. As dis­tribuições Debian e derivadas (Ubun­tu, Mint, etc.) usam o Debian Pack­age Man­ag­er (dpkg); as dis­tribuições baseadas em Red Hat (Red Hat Enter­prise Lin­ux, Ora­cle Lin­ux, SuSE, Cen­tOS, Fedo­ra, etc.) usam o Red Hat Pack­age Man­ag­er (rpm)

O FreeB­SD, por out­ro lado, usa dois méto­dos difer­entes para insta­lar soft­ware, ape­sar da gestão do soft­ware insta­l­a­do ser fei­ta com o mes­mo util­itário (pkg). Um dess­es méto­dos de insta­lação con­siste em pacotes de soft­ware pré-com­pi­la­dos; o out­ro é a árvore de ports. A árvore de ports per­mite a fácil insta­lação de soft­ware exter­no ao FreeB­SD, mas com a van­tagem de ser com­pi­la­do a par­tir do códi­go fonte. Isto per­mite que se instalem os pacotes de soft­ware com as con­fig­u­rações que quer­e­mos, ao invés de usar as opções de quem criou o pacote pré-com­pi­la­do.

6. Shell

Des­de quase o iní­cio, as dis­tribuições de Lin­ux são forneci­das com a shell BASH.

Já o FreeB­SD insta­la por omis­são a tcsh (T C Shell) para o uti­lizador root e a sh para os uti­lizadores nor­mais. A sh é a evolução da Bourne Shell, a shell que foi cri­a­da com o sis­tema UNIX.

7. File system

Ape­sar de, mais uma vez, ser muito semel­hante, a orga­ni­za­ção dos ficheiros no dis­co apre­sen­ta algu­mas difer­enças.

O FreeB­SD adop­ta uma orga­ni­za­ção muito igual ao BSD orig­i­nal, e divide o sis­tema base dos pacotes de ter­ceiros; os binários do sis­tema base ficam  insta­l­a­do em /usr/bin e os pacotes de ter­ceiros, em /usr/local.

No Lin­ux, não cos­tu­ma haver essa dis­tinção, pre­cisa­mente porque mes­mo o sis­tema base não faz parte do Lin­ux, pro­pri­a­mente dito.

8. Estabilidade

Em ter­mos de esta­bil­i­dade do sis­tema, aqui gan­ha o FreeB­SD. Como este é desen­volvi­do por uma equipa fecha­da, e inclui o sis­tema oper­a­ti­vo com­ple­to, é mais estáv­el, na gen­er­al­i­dade, que qual­quer dis­tribuição de Lin­ux.

Além dis­so, o FreeB­SD man­tém a filosofia do BSD, priv­i­le­gian­do a esta­bil­i­dade do sis­tema em detri­men­to de novas fun­cional­i­dades.

9. ZFS

Este é mais um pon­to em que o FreeB­SD gan­ha ao Lin­ux.

Dev­i­do ao licen­ci­a­men­to do ZFS, é mais fácil inte­grá-lo no FreeB­SD que no Lin­ux. Aliás, o FreeB­SD já tem suporte para este file sys­tem des­de a ver­são 7.0.

O suporte do Lin­ux para o ZFS é con­segui­do à cus­ta de módu­los exter­nos ao ker­nel, e, como tal, não está tão bem inte­gra­do como em FreeB­SD.

10. Documentação

A doc­u­men­tação cos­tu­ma ser o pon­to fra­co do soft­ware open source. No entan­to, a doc­u­men­tação do FreeB­SD é muito com­ple­ta e actu­al­iza­da. Aliás, a doc­u­men­tação é actu­al­iza­da ao mes­mo tem­po que o sis­tema, sendo que a doc­u­men­tação é parte inte­gral de cada ver­são do FreeB­SD.

Já no Lin­ux, esta doc­u­men­tação for­mal é mais escas­sa, mais dis­per­sa e mais des­or­ga­ni­za­da.

11. Comunidade

Um dos receios de quem não con­hece ou con­hece mal tan­to o Lin­ux como o FreeB­SD é a pos­sív­el fal­ta de suporte da comu­nidade. Na real­i­dade, ape­sar de, aparente­mente, haver mais pági­nas na Inter­net ded­i­cadas a Lin­ux, a ver­dade é que a comu­nidade dos BSD (dos três prin­ci­pais, nomeada­mente, o FreeB­SD, NetB­SD e OpenB­SD) é bas­tante grande.

A comu­nidade de uti­lizadores de Lin­ux é ain­da maior, mas o número de difer­entes dis­tribuições de Lin­ux tor­na essa comu­nidade mais frag­men­ta­da que a do FreeB­SD.

12. Segurança

Ten­do sido con­ce­bidos de raiz de acor­do com os con­ceitos do UNIX, tan­to o Lin­ux como o FreeB­SD são bas­tante seguros.

Aliás, é mais fácil encon­trar prob­le­mas de segu­rança com soft­ware que não faz parte do sis­tema base, no FreeB­SD, que no próprio sis­tema oper­a­ti­vo.

Conclusões

De um modo ger­al, o Lin­ux é muito semel­hante ao FreeB­SD, tan­to mais que se baseiam na fil­isofia do UNIX.

O FreeB­SD tem uma her­ança mais madu­ra, vis­to que deri­va direc­ta­mente do UNIX e do BSD orig­i­nal.

Já o Lin­ux (o sis­tema oper­a­ti­vo, não ape­nas o ker­nel) foi deriva­do do MINIX, as suas fer­ra­men­tas, do pro­jec­to GNU, por isso, não há uma tão boa inte­gração entre o ker­nel e o sis­tema base.

No entan­to, qual­quer um deles tem par­tic­u­lar­i­dades que lhes per­mite respon­der às exigên­cias do Mun­do da Inter­net.

About António Trindade

Check Also

Dia Nacional (E.U.A.) do FreeBSD

Hoje é Dia Nacional (dos E.U.A.) do FreeB­SD. Este dia foi o dia em que …

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Matomo encountered an error: Uncaught Exception: Piwik and/or some plugins have been upgraded to a new version. --> Please run the update process first. See documentation: https://matomo.org/docs/update/ in /home/www/piwik/plugins/CoreUpdater/CoreUpdater.php:81 Stack trace: #0 [internal function]: Piwik\Plugins\CoreUpdater\CoreUpdater->dispatch() #1 /home/www/piwik/core/EventDispatcher.php(141): call_user_func_array(Array, Array) #2 /home/www/piwik/core/Piwik.php(778): Piwik\EventDispatcher->postEvent('Request.dispatc...', Array, false, Array) #3 /home/www/piwik/core/FrontController.php(374): Piwik\Piwik::postEvent('Request.dispatc...') #4 /home/www/wordpress/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request/Php.php(40): Piwik\FrontController->init() #5 /home/www/wordpress/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request/Php.php(18): WP_Piwik\Request\Php->call('method=SitesMan...', '/', 'module=API&form...') #6 /home/www/wordpress/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request.php(63): WP_Piwik\Request\Php->request('metho (which lead to: Session must be started before any output has been sent to the browser; output started in /home/www/wordpress/wp-includes/formatting.php/5416)