O que há de bom nos BSDs?

35

Eu uso o Ubuntu dentro e fora desde o Warty Warthog. Eu estava pensando em instalar o Jaunty em breve; mas notei que no final de semana o NetBSD 5.0 , o Dragonfly BSD 2.2.1 , o OpenBSD 4.5 e o FreeBSD 7.2 foram lançados, então fiquei curioso:

O que há de bom nos BSDs? Por que devo ou não devo instalar um deles em vez do Ubuntu? Quais são os seus principais pontos de venda? Atuação? Estabilidade? Compatibilidade de hardware? Fácil de usar? Segurança? Eles funcionam bem em hardware mais antigo? O que é isso?

Edit: Isso é do ponto de vista de um desenvolvedor de desktop (principalmente Java), mas eu estaria interessado em saber quais são os prós e contras dos outros também. Eles são mais direcionados para servidores? Para usuários corporativos? Ou o que?

mmyers
fonte
1
Os pontos positivos dos BSDs são subjetivos? Nesse caso, isso explica por que eu não conheço pessoalmente ninguém que tenha tentado. : D
mmyers
17
O que há de bom nos BSDs? Para esmagar seus inimigos, veja-os sendo levados diante de você e ouça o lamento de suas mulheres.
caos
1
@mmyers - algum de seus amigos já usou o Hotmail ou o Yahoo?
ConcernedOfTunbridgeWells
Hum, alguns. Por quê?
mmyers
1
@ mmeyers - porque o Hotmail e o Yahoo usam o FreeBSD como seu servidor principal de SO para seus aplicativos da web. (Ou pelo menos o Hotmail costumava usá-lo e eles não conseguiam movê-lo do FreeBSD para o Windows por anos - não tenho certeza se ainda o fazem).
ConcernedOfTunbridgeWells

Respostas:

65

Vantagens dos BSDs

A família de sistemas * BSD tem (IMHO) algumas vantagens importantes sobre o Linux, principalmente para o sistema operacional de servidor.

  • Simplicidade e controle: Nenhuma das distribuições * BSD tem o imperativo de adicionar recursos que os distribuidores Linux exibem. Portanto, a instalação padrão da maioria dos sistemas derivados do BSD é relativamente simples.

  • Estabilidade: Parcialmente motivados pela simplicidade, os BSDs tendem a estar entre as plataformas de O / S mais estáveis ​​do mercado. O FreeBSD (que é um dos mais antigos dos BSDs 'modernos') possui muitos .coms bem conhecidos, como Yahoo e (a certa altura) hotmail. De fato, a certa altura, a Microsoft sofreu bastante constrangimento por sua incapacidade de migrar o Hotmail do FreeBSD para o Windows.

  • Segurança: O OpenBSD, em particular, tem um histórico muito forte de segurança e grande parte de seu trabalho é transmitido para a comunidade * BSD em geral.

  • Portabilidade: O NetBSD, em particular, possui portas para dezenas de plataformas e é notável por ser muito fácil de portar.

Algumas fraquezas

  • Menos suporte para grandes configurações SMP que o Linux. Isso se tornará mais um problema, pois as caixas com grande número de núcleos se espalharam. No entanto, a maioria dos aplicativos de serviço de rede que são realmente o território doméstico do BSD não tem tanta fome de CPU (1).

    O desempenho do SMP nos kernels BSD melhorou substancialmente na última década. Melhorar o desempenho do SMP era um dos principais objetivos do Dragonfly BSD e o projeto FreeBSD SMPNg melhorou substancialmente o desempenho do SMP nessa plataforma, superando o Linux nas plataformas de 8 núcleos. Isso significa que é possível esperar um bom desempenho nos servidores de soquete 2 e 4 principais.

    Algum debatee o trabalho inicial de fornecer suporte à NUMA no FreeBSD existe porque o sistema atualmente não suporta APIs para alocação de memória, gerenciamento de afinidades ou outras facilidades para suporte explícito à NUMA. Uma boa cartilha sobre o suporte ao NUMA pode ser encontrada aqui .

  • Menor variedade de suporte de hardware que o Linux: na prática, isso realmente significa apenas que você precisa verificar os componentes em uma lista de compatibilidade de hardware. Para um servidor, isso não é um problema na maioria dos casos, mas a instalação em um PC de mesa aleatório é um pouco mais espinhosa. Você ainda precisa fazer uma verificação componente a componente se quiser que uma máquina instale o BSD, o que é menos provável no caso do Linux.

  • Menos ênfase na área de trabalho: as distribuições de área de trabalho do Linux (como o Ubuntu) tendem a ter um suporte mais rico da área de trabalho para aplicativos de multimídia, emulação e empacotados. Embora muitos desses aplicativos tenham portas para as várias plataformas BSD, o suporte imediato a partir de uma distribuição Linux para desktop normalmente será bastante melhor.

  • Algumas lacunas no software: Muitos softwares comerciais do Linux não possuem uma porta BSD. Por exemplo, nenhum dos principais fornecedores de JVM mantém uma porta nativa de seu tempo de execução java para qualquer plataforma BSD. Em alguns casos, terceiros mantêm portas, mas não há suporte oficial para (por exemplo) Oracle em nenhum dos BSDs. Esse tipo de lacuna aparece em alguns lugares no BSD; O BSD pode não ser a plataforma para você se você trabalhar em um espaço em que esse tipo de lacuna exista.

Alguns pontos salientes

  • Uma das grandes guerras religiosas dos anos 90 foi a GPL vs. BSD. Os BSDs são licenciados sob a licença BSD, que vem com um conjunto diferente de direitos que a GPL. Essencialmente, a licença BSD não exige que você redistribua o código fonte das versões modificadas do software licenciado BSD.

  • Fornecedores comerciais como a Oracle não oferecem suporte ao BSD com o grau de suporte ao Linux. Portanto, se você deseja trabalhar com esse produto, provavelmente está melhor com o Linux. No entanto, a maioria oferece compatibilidade binária no Linux, System V, Solaris etc., portanto, você pode executar binários para outro sistema operacional.

  • As comunidades BSD tendem a ser executadas de maneira diferente do Linux e geralmente são menores (embora não sejam mais gentis em muitos casos - Theo De Raadt tem uma reputação de boca suja ).

  • Algumas das variantes do BSD são itens de nicho de mercado, otimizados para objetivos específicos. Por exemplo, o OpenBSD é otimizado especificamente para fornecer infraestrutura de rede segura em computadores voltados para a Internet, com um esforço muito grande na inspeção de falhas de segurança, como vulnerabilidades de saturação de buffer. Muitas organizações conscientes da segurança o usam exatamente por esse motivo. O NetBSD foi projetado para portabilidade com portas para dezenas de plataformas e é amplamente utilizado em sistemas embarcados. Para aplicações no ponto ideal de um desses sistemas, pode muito bem ser a melhor escolha de plataforma.

O território doméstico do * BSD está nos serviços de rede - servidores de e-mail e web, infraestrutura e afins. Você pode configurar um desktop nerd perfeitamente bom com qualquer um dos BSDs e, em teoria, pode produzir algo tão quente e fofo quanto o Ubuntu. No entanto, esse não é o foco principal da maioria dos produtos BSD, embora alguns como o PC-BSD pretendam fornecer sistemas de desktop.

Se você quiser criar um desktop unix geek tradicional, o BSD fará isso tão bem quanto qualquer outro sistema unix-oid.

  1. Por exemplo, na era VAX / 4.2BSD da década de 1980, uma máquina como o VAX-11/750 poderia fornecer serviços de e-mail para todo um departamento ou campus universitário e provavelmente também faria outros trabalhos (embora se deva observar que a maioria dos e-mails era apenas texto e os anexos não eram tão comuns como hoje - as unidades de disco usadas nesta máquina geralmente variavam de 120 a 450 MB de capacidade). Um servidor moderno possui de 3 a 4 ordens de magnitude mais energia e memória da CPU e um subsistema de disco com talvez 2 ordens de magnitude mais taxa de transferência e 3-4 ordens de magnitude mais espaço.
ConcernedOfTunbridgeWells
fonte
9
Emparelhamento particularmente bom: OpenBSD e BIND. Se eu estivesse executando um servidor DNS público, seria o BIND no OpenBSD. Os servidores DNS são muito atacados e o OpenBSD é provavelmente o unix de uso geral mais seguro.
Richard Gadsden
2
Resposta fantástica. Dois aspectos que eu gostaria de acrescentar: BSD é menor do que o Linux (assim pode ser executado em ambientes menores), e é melhor documentados (cada comando no FreeBSD tem uma página de homem - cada um!)
Mei
3
Ouvi dizer que BSD era o que você obteria se pedisse a um programador Unix para escrever um sistema operacional para PC, enquanto o Linux é o que você obteria se pedisse a um programador Windows que escrevesse um sistema operacional Unix.
gbjbaanb 01/07/2009
1
Ótima resposta! Quando experimentei vários sistemas operacionais, era linux como mangrova marsh (documentação incompleta desatualizada, várias filosofias inconsistentes) e quando experimentei o FreeBSD, era como entrar em uma biblioteca - única e consistente, tudo documentado ( atualizado!). Talvez menos emocionante, mas certamente fácil de entrar.
slovon 04/09/09
3
Eu não acho correto me referir a Theo como uma boca suja. Ele tem opiniões fortes e não é diplomático sobre elas, mas não jura. A coisa mais irritante sobre Theo De Raadt é que ele tem um bom argumento ou tem razão :-P
DutchUncle
15

Não considero que o BSD seja tão maduro quanto o Linux no Desktop, mas para os servidores é sólido.

Se você deseja instalar o BSD ou não, depende inteiramente do uso da sua máquina. Embora muitas coisas sejam semelhantes ao Linux, muitas também são diferentes.

No entanto, aqui está um resumo dos diferentes BSDs

  • OpenBSD: Um dos objetivos do correio é ser o sistema operacional mais seguro (e provavelmente é)

  • NetBSD: Seu lema é "Claro que ele rodará o NetBSD". Esse deve ser um dos sistemas operacionais mais portáteis do mercado. Muitas pessoas também executam em desktops.

  • FreeBSD: Muito popular para servidores, embora muitas pessoas também o executem na área de trabalho. Provavelmente o mais popular de todos os BSDs

  • DragonFly BSD: Um recém-chegado relativo (2003), foi um fork do FreeBSD 4.8. Eu não o usei, mas aparentemente é estável.

Nathan
fonte
5
Os BSDs estão entre as arquiteturas mais maduras do mercado - partes da base de código 4.xBSD são mais antigas que muitos pôsteres de Serverfault. Você pode criar facilmente um desktop geek unix tradicional baseado em um BSD. No entanto, a maioria não tenta produzir um ambiente de trabalho para consumidores ou negócios da maneira que a Canonical possui no Ubuntu. Blah blah whippersnappers jovens ...; -}
ConcernedOfTunbridgeWells
11

No mundo Linux, as distribuições tendem a faltar nesse ... sentimento coeso. Eles são frequentemente construídos de maneira descentralizada, o que tende a levar a isso.

Os BSDs geralmente são gerenciados por uma pessoa, então você tem a sensação de que cada variante é um produto real que tinha muito planejamento por trás disso. As coisas funcionam muito bem juntas e todos os componentes estão muito bem documentados. Você raramente encontra kludges.

Isso estabelece uma base muito sólida, tornando os BSDs uma plataforma de fácil manutenção, tendo, portanto, o potencial de levar a um ambiente mais seguro e gerenciável.

Sou usuário do Linux há 13 anos e, embora ainda considere uma plataforma viável, mudei todos os meus servidores pessoais e de produção para os BSDs pelos motivos mencionados acima.

No entanto, o Linux ainda pode ser a melhor escolha para a área de trabalho devido ao seu suporte de driver de ponta.

Michael Gorsuch
fonte
1
Na verdade, se você quer sangramento suporte de desktop borda, melhor opção é executar qualquer BSD ou Linux no VirtualBox no Windows ;-)
vartec
@OP, esta é a razão mais atraente para passar de [distro linux] para * BSD
theman_on_osx
1
Ou ir a uma distro one-man-on-the-top como Slackware;)
Voyager
9

O BSD é geralmente considerado seguro por padrão, desativando todos os serviços, exceto os principais. Também é muito estável, você pode dizer isso olhando para um dos muitos serviços de monitoramento de tempo de atividade.

Esteja avisado, no entanto, que o Linux não é o mesmo que o BSD ... há uma curva de aprendizado, portanto, não espere pular direto para ela. Por exemplo, você encontrará todos os comandos principais, como lsdiferentes sinalizadores, que podem ser confusos no início e podem demorar um pouco para quebrar o antigo hábito de usar sinalizadores do Linux.

Adam Gibbins
fonte
8

* O BSD é um sistema operacional completo , o que significa que o kernel e a área do usuário são desenvolvidos a partir da mesma árvore de fontes, enquanto as distribuições do Linux são massacradas de várias fontes. É por isso que os sistemas BSD se sentem muito mais coesos e sólidos. Também melhor documentado.

Ante Gotovina
fonte
8

Apenas alguns problemas:

Pro (grátis) BSD:

  • Sistema de arquivos ZFS / gerenciamento de volume
  • Dtrace para rastreamento / análise
  • Documentação excelente e fácil de encontrar (Manual do FreeBSD, FAQ do OpenBSD, páginas de manuais são realmente boas e realmente têm exemplos úteis)
  • Processo de atualização de lançamento do sistema operacional limpo e sólido
  • Separação do SO principal de outro software ("Coleção de portas")
  • Licença BSD (sem cruzados de licenciamento aqui)
  • Ótimo filtro de firewall / pacote: PF (Linux iptables faz minha cabeça explodir)

Contra BSD:

  • Produtos de virtualização (host da VM) não suportados (VMware, KVM, Xen, VirtualBox)
Paidhi
fonte
3
Uma atualização na virtualização. Parece que o FreeBSD decidiu ir para o VirtualBox. Agora está na árvore dos portos. Mais informações aqui: miwi.bsdcrew.de/2009/06/virtualbox-is-now-available-in-ports wiki.freebsd.org/VirtualBox virtualbox.de/wiki/FreeBSD%20build%20instructions
Paidhi
8

Eu realmente gosto /usr/ports. Isso não quer dizer que eu também não gosto muito apt-get, mas é uma sensação agradável saber que suas instalações estão sendo construídas e para sua máquina específica, com todas as otimizações que você quisesse usar nos padrões de makefile.

Quanto do benefício percebido disso é superstição, eu não fiz a pesquisa para descobrir, mas eu gosto. :)

caos
fonte
1
Então é como o Gentoo? Parece que pode ficar entediante depois de um tempo (que é uma das razões pelas quais nunca experimentei o Gentoo).
6789 mmyers
6
O "portage" do Gentoo vem do BSD, assim como outras coisas. No entanto, a maioria dos BSDs também possui pacotes binários disponíveis. O OpenBSD, por exemplo, possui portas e pacotes. Na verdade, eles são realmente a mesma coisa.
Dwc 20/05/09
7

Como desenvolvedor Java, o grande problema é que não há JVM convencional para * BSD. Antes que todo mundo me chame de existência, o que eu quero dizer é que não há JDK de remessa atual da Sun ou de qualquer outro fornecedor importante (IBM, BEA / Oracle), para que você sempre toque o segundo violão para usuários de Linux e janelas.

Dave Cheney
fonte
Isso é útil saber. Alguém está portando o OpenJDK ou algo assim?
6789 mmyers
Sim, consulte openjdk.java.net/projects/bsd-port . No entanto, essa porta não está pronta e é improvável que seja comercialmente suportada. Trabalhando para uma empresa de software baseada em Java, apoiamos a Sun JVM e Bea e JRocket de má vontade. Não há nenhuma maneira que poderia estender os recursos de suporte para ajudar alguém que queria executar o nosso software em IceTea, ou Blackdown, ou GCJ, etc
Dave Cheney
Sim, entendo o que você quer dizer. (By the way, você deixou o fora o "não" em sua primeira frase :).
mmyers
Acabei de ver este post "Progresso da porta do OpenJDK BSD": robilad.livejournal.com/49303.html .
mmyers 20/05/09
5

Licenciamento

A principal diferença entre os BSDs e o Linux é o licenciamento.

Você pode usar uma base de código BSD, fazer as alterações desejadas e distribuir o binário resultante, vendê-lo etc., sem abrir as alterações no código-fonte que você fez.

Isso é muito atraente para empresas, como a Apple, onde obrigações legais para com seus acionistas podem exigir que eles mantenham o IP proprietário 'seguro'. A Apple baseou parte de seu kernel no FreeBSD, por exemplo.

O Tivo não teria os (menores) problemas de licenciamento que sofreu anos atrás se eles fossem baseados no BSD e não no Linux.

Algumas diferenças práticas

  • Os BSDs não são tão populares quanto o Linux e, portanto, não possuem drivers para hardware de ponta.
  • Existem menos BSDs do que as distribuições Linux, e elas são muito bem definidas para que você saiba, geralmente, quando deve usar uma sobre a outra.
  • Todos eles se concentram mais na estabilidade do que em muitos outros fatores e, portanto, são frequentemente usados ​​em situações de alta confiabilidade.

-Adão

Adam Davis
fonte
1
+1. A verdade do benchmarking é que os bsds não são tão bons e ainda não possuem muitos recursos do kernel que o linux e o solaris já possuem. A licença bsd é a melhor (ou pior) parte sobre bsd.
21190 Tim Matthews
O bom dos benchmarks é que há muitos por onde escolher. Para tarefas de rede / filtragem, usei o BSD com melhores resultados que o Linux - para modelagem numérica, usei o Linux ou Solaris com o conjunto de compiladores do Sun Studio ... é tudo uma questão de descobrir qual é o melhor ferramenta para o trabalho.
Bill B
4
Seria bom para ver alguma prova dessa afirmação: "A verdade de benchmarking é que os BSDs não são tão bons artistas ..."
Josh Brower
1

Segurança, segurança e mais uma vez segurança.

Kazimieras Aliulis
fonte
1

Além de tudo já mencionado, gostaria de acrescentar que a documentação é muito boa. As páginas do homem (1) são excelentes!

pfo
fonte
0

BSD (Berkeley Software Distribution) conhecido por sua estabilidade: FreeBSD,
segurança: OpenBSD
e suporte a uma infinidade de plataformas: NetBSD

Ali Mezgani
fonte