¿Qué hay de bueno en los BSD?

35

He usado Ubuntu por intervalos desde Warty Warthog. Estaba pensando en instalar Jaunty pronto; pero noté que durante el fin de semana se lanzaron NetBSD 5.0 , Dragonfly BSD 2.2.1 , OpenBSD 4.5 y FreeBSD 7.2 , así que sentí curiosidad:

¿Qué hay de bueno en los BSD? ¿Por qué debería o no instalar uno de ellos en lugar de Ubuntu? ¿Cuáles son sus principales puntos de venta? ¿Actuación? ¿Estabilidad? Compatibilidad de hardware? ¿Facilidad de uso? ¿Seguridad? ¿Funcionan bien en hardware antiguo? ¿Qué es?

Editar: Esto es desde el punto de vista de un desarrollador de escritorio (principalmente Java), pero me interesaría saber cuáles son los pros y los contras para otros también. ¿Están más orientados a servidores? ¿Para usuarios corporativos? ¿O que?

mmyers
fuente
1
¿Los puntos buenos de los BSD son subjetivos? Si es así, eso explica por qué no conozco personalmente a nadie que haya probado uno. : D
mmyers
17
¿Qué hay de bueno en los BSD? Para aplastar a tus enemigos, verlos conducidos delante de ti y escuchar el lamento de sus mujeres.
caos
1
@mmyers: ¿Alguno de tus amigos ha usado Hotmail o Yahoo?
ConcernedOfTunbridgeWells
Um, unos pocos. ¿Por qué?
mmyers
1
@mmeyers - porque tanto Hotmail como Yahoo usan FreeBSD como su servidor principal O / S para sus aplicaciones web. (O al menos Hotmail solía usarlo y no pudieron moverlo de FreeBSD a Windows durante años; no estoy seguro de si todavía lo hacen).
ConcernedOfTunbridgeWells

Respuestas:

65

Ventajas de los BSD

La familia de sistemas * BSD tiene (en mi humilde opinión) algunas ventajas clave sobre Linux, particularmente para un servidor O / S.

  • Simplicidad y control: ninguna de las distribuciones * BSD tiene el imperativo de agregar características que exhiben los distribuidores de Linux. Por lo tanto, la instalación predeterminada de la mayoría de los sistemas derivados de BSD es relativamente simple.

  • Estabilidad: parcialmente impulsados ​​por la simplicidad, los BSD tienden a estar entre las plataformas O / S más estables. FreeBSD (que es uno de los BSD 'modernos' más antiguos) impulsa muchos .coms bien conocidos como Yahoo y (en un momento) hotmail. De hecho, en un momento, Microsoft sufrió bastante vergüenza por su incapacidad para migrar Hotmail de FreeBSD a Windows.

  • Seguridad: OpenBSD en particular tiene un historial muy sólido de seguridad y gran parte de su trabajo se contagia a la comunidad * BSD en general.

  • Portabilidad: NetBSD en particular tiene puertos para docenas de plataformas y es notable por ser muy fácil de portar.

Algunas debilidades

  • Menos soporte para grandes configuraciones SMP que Linux. Esto se volverá más problemático a medida que las cajas con un gran número de núcleos se generalicen. Sin embargo, la mayoría de las aplicaciones de servicios de red que son realmente el hogar de BSD no son tan hambrientas de CPU (1).

    El rendimiento de SMP en los núcleos BSD ha mejorado sustancialmente en la última década. Mejorar el rendimiento de SMP fue uno de los objetivos principales de Dragonfly BSD y el proyecto FreeBSD SMPNg ha mejorado sustancialmente el rendimiento de SMP en esa plataforma, superando a Linux en plataformas de 8 núcleos. Esto significa que uno puede esperar obtener un buen rendimiento en los servidores de socket 2 y 4 convencionales.

    Un poco de debatey el trabajo inicial para proporcionar soporte NUMA en FreeBSD existe ya que el sistema no admite actualmente API para asignación de memoria, gestión de afinidad u otras facilidades para soporte NUMA explícito. Puede encontrar un buen manual sobre el soporte de NUMA aquí .

  • Menor rango de soporte de hardware que Linux: en la práctica, esto solo significa que necesita verificar los componentes en una lista de compatibilidad de hardware. Para un servidor esto no es un problema en la mayoría de los casos, pero la instalación en una PC de escritorio aleatoria es un poco más espinosa. Aún debe hacer una verificación componente por componente si desea que una máquina instale BSD, lo que es menos probable que ocurra con Linux.

  • Menos énfasis en el escritorio: las distribuciones de escritorio de Linux (como Ubuntu) tienden a tener un soporte de escritorio más rico para aplicaciones multimedia, de emulación y agrupadas. Si bien muchas de estas aplicaciones tienen puertos en las diversas plataformas BSD, el soporte inmediato de una distribución Linux de escritorio generalmente será bastante mejor.

  • Algunas lagunas en el software: una gran cantidad de software comercial de Linux no tiene un puerto BSD. Por ejemplo, ninguno de los principales proveedores de JVM mantiene un puerto nativo de su tiempo de ejecución de Java para ninguna de las plataformas BSD. En algunos casos, los terceros mantienen puertos, pero no hay soporte oficial para (por ejemplo) Oracle en ninguno de los BSD. Este tipo de brecha aparece en algunos lugares en BSD; BSD puede no ser la plataforma para usted si trabaja en un espacio donde existe este tipo de brecha.

Algunos puntos destacados

  • Una de las grandes guerras religiosas de los años 90 fue GPL vs. BSD. Los BSD tienen licencia bajo la licencia BSD, que viene con un conjunto de derechos diferente al de la GPL. Esencialmente, la licencia BSD no requiere que redistribuya el código fuente de versiones modificadas de software con licencia BSD.

  • Los proveedores comerciales como Oracle no son compatibles con BSD en la medida en que admiten Linux. Por lo tanto, si desea trabajar con un producto de este tipo, probablemente esté mejor con Linux. Sin embargo, la mayoría ofrece compatibilidad binaria en Linux, System V, Solaris, etc., por lo que a menudo puede ejecutar binarios para otro O / S.

  • Las comunidades BSD tienden a ejecutarse de manera diferente a Linux y, a menudo, son más pequeñas (aunque en muchos casos no son más elegantes: Theo De Raadt tiene una reputación de ser inodoro ).

  • Algunas de las variantes BSD son artículos de nicho de mercado, optimizados para objetivos específicos. Por ejemplo, OpenBSD está optimizado específicamente para proporcionar una infraestructura de red segura en computadoras con conexión a Internet, con una gran cantidad de esfuerzo en la inspección de agujeros de seguridad como vulnerabilidades de desbordamiento de búfer. Muchas organizaciones conscientes de la seguridad lo usan precisamente por este motivo. NetBSD está diseñado para la portabilidad con puertos a docenas de plataformas y se usa ampliamente en sistemas integrados. Para aplicaciones en el punto óptimo de uno de estos sistemas, puede ser la mejor opción de plataforma.

El territorio local de * BSD está en los servicios de red: correo electrónico y servidores web, infraestructura y similares. Puede configurar un escritorio geek perfectamente bueno con cualquiera de los BSD, y en teoría podría producir algo tan cálido y esponjoso como Ubuntu. Sin embargo, este no es el enfoque principal de la mayoría de los productos BSD, aunque algunos como PC-BSD tienen como objetivo proporcionar sistemas de escritorio.

Si desea hacer un escritorio tradicional Unix Geek, BSD lo hará tan bien como cualquier otro sistema Unix-Oid.

  1. Por ejemplo, en la era VAX / 4.2BSD de la década de 1980, una máquina como una VAX-11/750 podría proporcionar servicios de correo electrónico a todo un departamento o campus universitario, y probablemente también estaría haciendo otro trabajo (aunque uno debería tener en cuenta que la mayoría de los correos electrónicos eran solo de texto y los archivos adjuntos no eran tan frecuentes como hoy en día: las unidades de disco utilizadas en esta máquina generalmente tenían una capacidad de 120-450 MB). Un servidor moderno tiene 3-4 órdenes de magnitud más potencia de CPU y memoria y un subsistema de disco con quizás 2 órdenes de magnitud más rendimiento y 3-4 órdenes de magnitud más espacio.
TunbridgeWells
fuente
99
Particularmente buen emparejamiento: OpenBSD y BIND. Si estuviera ejecutando un servidor DNS público, sería BIND en OpenBSD. Los servidores DNS son atacados mucho y OpenBSD es probablemente el Unix de propósito general más seguro.
Richard Gadsden
2
Fantástica respuesta. Agregaría dos aspectos: BSD es más pequeño que Linux (por lo que puede ejecutarse en entornos más pequeños), y está mejor documentado (cada comando en FreeBSD tiene una página de manual, ¡ todos !)
Mei
3
Escuché decir que BSD era lo que obtendría si le pidiera a un programador de Unix que escribiera un SO de PC, mientras que Linux es lo que obtendría si le pidiera a un programador de Windows que escribiera un SO de Unix.
gbjbaanb 01 de
1
¡Gran respuesta! Cuando he estado probando varios sistemas operativos, era Linux como el manglar (documentación incompleta desactualizada, muchas filosofías inconsistentes diferentes) y cuando probé FreeBSD, fue como entrar en una biblioteca: una filosofía ordenada, única y consistente, todo documentado ( ¡A hoy!). Quizás menos emocionante, pero ciertamente fácil de abordar.
slovon
3
No creo que sea correcto referirme a Theo como un inodoro. Él tiene opiniones fuertes y no es diplomático al respecto, pero no jura. Lo más molesto de Theo De Raadt es que tiene un buen punto o tiene razón
:-P
15

No considero que BSD sea tan maduro como Linux en el escritorio, pero para los servidores es muy sólido.

Si desea instalar BSD o no, depende completamente del uso de su máquina. Si bien muchas cosas son similares a Linux, muchas cosas también son diferentes.

Sin embargo, aquí hay un resumen de los diferentes BSD

  • OpenBSD: Uno si sus objetivos de correo es ser el sistema operativo más seguro (y probablemente lo sea)

  • NetBSD: Su lema es "Por supuesto que ejecutará NetBSD". Este tiene que ser uno de los sistemas operativos más portátiles que existen. Muchas personas también lo ejecutan en equipos de escritorio.

  • FreeBSD: Muy popular para los servidores, aunque muchas personas también lo ejecutan en el escritorio. Probablemente el más popular de todos los BSD

  • DragonFly BSD: un recién llegado relativo (2003), fue una bifurcación de FreeBSD 4.8. No lo he usado, pero aparentemente es estable.

Nathan
fuente
55
Los BSD se encuentran entre las arquitecturas más maduras que existen: partes de la base de código 4.xBSD son más antiguas que muchos pósters de Serverfault. Puede hacer fácilmente un escritorio tradicional de Unix Geek basado en un BSD. Sin embargo, la mayoría no intenta producir un escritorio para el consumidor o la empresa como Canonical lo hace con Ubuntu. Blah blah jóvenes whippersnappers ...; -}
ConcernedOfTunbridgeWells
11

En el mundo de Linux, las distribuciones tienden a faltar en ese ... sentimiento cohesivo. A menudo se construyen de manera descentralizada, lo que tiende a conducir a esto.

Los BSD generalmente son administrados por una persona, por lo que tiene la sensación de que cada variante es un producto real que tenía mucha planificación detrás. Las cosas funcionan muy bien juntas, y todos los componentes están muy bien documentados. Raramente encuentras kludges.

Esto establece una base muy sólida, lo que hace que los BSD sean una plataforma fácil de mantener, por lo que tiene el potencial de conducir a un entorno más seguro y manejable.

He sido un usuario de Linux durante 13 años, y aunque todavía lo considero una plataforma viable, he trasladado todos mis servidores personales y de producción a los BSD por los motivos mencionados anteriormente.

Sin embargo, Linux aún podría ser la mejor opción para el escritorio debido a su soporte de controlador de última generación.

Michael Gorsuch
fuente
1
En realidad, si desea un soporte de escritorio innovador, la mejor opción es ejecutar BSD o Linux en VirtualBox en Windows ;-)
vartec
@OP, esta es la razón más convincente para cambiar de [Linux distro] a * bsd
theman_on_osx
1
O vaya a una distribución de un solo hombre como Slackware;)
Voyager
9

BSD generalmente se considera seguro de forma predeterminada, al deshabilitar todos los servicios excepto los principales. También es muy estable, puede ver esto mirando uno de los muchos servicios de monitoreo de tiempo de actividad.

Sin embargo, tenga en cuenta que Linux no es lo mismo que BSD ... hay una curva de aprendizaje, así que no espere saltar directamente a ella. Por ejemplo, encontrará todos los comandos principales, como lstener diferentes indicadores que pueden ser confusos al principio y pueden demorar un tiempo en romper el viejo hábito de usar indicadores de Linux.

Adam Gibbins
fuente
8

* BSD es un sistema operativo completo , lo que significa que el núcleo y el país de usuario se desarrollan desde el mismo árbol fuente, mientras que las distribuciones de Linux se eliminan juntas de varias fuentes. Es por eso que los sistemas BSD se sienten mucho más cohesivos y sólidos. También mejor documentado.

Ante Gotovina
fuente
8

Solo algunos problemas:

Pro (Gratis) BSD:

  • Sistema de archivos ZFS / gestión de volumen
  • Dtrace para rastreo / análisis
  • Documentación excelente y fácil de encontrar (Manual de FreeBSD, Preguntas frecuentes de OpenBSD, Las páginas del manual son realmente buenas y realmente tienen ejemplos útiles)
  • Proceso de actualización de lanzamiento del sistema operativo limpio y sólido
  • Separación del sistema operativo central de otro software ("Colección de puertos")
  • Licencia BSD (no hay cruzados de licencia aquí)
  • Gran firewall / filtro de paquetes: PF (las iptables de Linux hacen explotar mi cabeza)

Contra BSD:

  • Productos de virtualización (VM host) no compatibles (VMware, KVM, Xen, VirtualBox)
Paidhi
fuente
3
Una actualización sobre virtualización. Parece que FreeBSD ha decidido utilizar VirtualBox. Ahora está en el árbol de puertos. Más información aquí: miwi.bsdcrew.de/2009/06/virtualbox-is-now-available-in-ports wiki.freebsd.org/VirtualBox virtualbox.de/wiki/FreeBSD%20build%20instructions
Paidhi
8

Me gusta mucho /usr/ports. Esto no quiere decir que realmente no me guste apt-get, pero es una sensación agradable saber que sus instalaciones se están construyendo en y para su máquina en particular, con cualquier optimización que quisiera incluir en los valores predeterminados del archivo MAKE.

Cuánto del beneficio percibido de eso es superstición, no he hecho la investigación para descubrirlo, pero me gusta. :)

caos
fuente
1
Entonces, ¿es algo así como Gentoo? Parece que puede ser tedioso después de un tiempo (que es una de las razones por las que nunca he probado Gentoo).
mmyers
66
El "portage" de Gentoo proviene de BSD, al igual que otras cosas. Sin embargo, la mayoría de los BSD también tienen paquetes binarios disponibles además. OpenBSD, por ejemplo, tiene puertos y paquetes. De hecho, en realidad son lo mismo.
dwc
7

Como desarrollador de Java, el gran problema es que no hay una JVM convencional para * BSD. Antes de que todos me saquen de la existencia, lo que quiero decir es que no hay un JDK de envío actual de Sun o de ninguno de los otros proveedores importantes (IBM, BEA / Oracle), por lo que siempre jugará el segundo violín para los usuarios de Linux y Windows.

Dave Cheney
fuente
Es útil saberlo. ¿Alguien está portando OpenJDK o algo así?
mmyers
Sí, visite openjdk.java.net/projects/bsd-port . Sin embargo, este puerto no está hecho y es poco probable que sea compatible comercialmente. Trabajando para una compañía de software basada en Java, apoyamos Sun JVM, y Bea y JRocket a regañadientes. No hay forma de que podamos ampliar los recursos de soporte para ayudar a alguien que quería ejecutar nuestro software en IceTea, Blackdown, GCJ, etc.
Dave Cheney,
Sí, entiendo lo que quieres decir. (Por cierto, dejaste el "no" en tu primera oración. :)
mmyers
Acabo de ver esta publicación "Progreso del puerto BSD de OpenJDK": robilad.livejournal.com/49303.html .
mmyers
5

Licencia

La principal diferencia entre los BSD y Linux es la licencia.

Puede tomar una base de código BSD, realizar los cambios que desee y distribuir el binario resultante, venderlo, etc., sin abrir los cambios de código fuente que realizó.

Esto es muy atractivo para empresas, como Apple, donde las obligaciones legales con sus accionistas pueden exigirles que mantengan la propiedad intelectual 'segura'. Apple basó parte de su núcleo en FreeBSD, por ejemplo.

Tivo no habría tenido los problemas de licencia (menores) que sufrió hace años si se construyeran sobre BSD en lugar de Linux.

Algunas diferencias prácticas

  • Los BSD no son tan populares como Linux, por lo que no tienen controladores para hardware de última generación.
  • Hay menos BSD que distribuciones de Linux, y están muy bien definidos para que sepa, en general, cuándo debe usar uno sobre otro.
  • Todos se centran más en la estabilidad que muchos otros factores y, por lo tanto, a menudo se usan en situaciones de alta confiabilidad.

-Adán

Adam Davis
fuente
1
+1. La verdad de la evaluación comparativa es que los bsds no son tan buenos y aún carecen de muchas características del núcleo que Linux y Solaris ya tienen. La licencia de bsd es la mejor (o peor) parte de bsd.
Tim Matthews
Lo bueno de los puntos de referencia es que hay muchos para elegir. Para las tareas de redes / filtrado, he usado BSD con mejores resultados que Linux --- para el modelado numérico, he usado Linux o Solaris con el conjunto de compiladores Sun Studio ... todo es cuestión de descubrir cuál es el mejor herramienta para el trabajo.
Bill B
44
Sería bueno ver alguna prueba de esta afirmación: "La verdad de la evaluación comparativa es que los bsds no son tan buenos ..."
Josh Brower
1

Seguridad, seguridad y una vez más seguridad.

Kazimieras Aliulis
fuente
1

Además de todo lo mencionado, me gustaría agregar que la documentación es muy buena. ¡Las páginas man (1) son excelentes!

pfo
fuente
0

BSD (Berkeley Software Distribution) conocido por su estabilidad: FreeBSD,
seguridad: OpenBSD
y soporte de una multitud de plataformas: NetBSD

Ali Mezgani
fuente