Traducción(es): Dutch - English - Español - Français - Italiano - Polish - Русский - 简体中文

(!) Discusión


Una pregunta que podrías hacerte es ¿por qué Debian?, siendo Debian otra de las tantas distribuciones GNU/linux existentes y otro sistema tipo Unix.

Entonces, ¿qué la hace mejor al resto? ¿Por qué debería usar Linux para todo?.

Estas son algunas de las interrogantes que el documento mostrado en el enlace trata de explicar.

http://people.debian.org/~srivasta/talks/why_debian/talk.html

No obstante, para asegurar que dicho documento esté disponible a todos, el mismo ha sido archivado acá.

¿Por qué Linux? ¿Por qué Debian?

Por Manoj Srivastava (srivasta at debian.org)

Quizás yo no sea la persona más indicada para hacer una comparación imparcial entre los sistemas operativos seleccionados, ya que, parcialmente, no soy imparcial y, porque, mi experiencia con otros sistemas operativos, diferentes a los de mi elección primaria, es muy limitada. Tampoco, quizás, sea el candidato ideal para abogar por mi elección, en tanto que las razones que he escogido no puedan ser definidas como universales, además de que el ambiente original sobre el que baso mi decisión (ya que existe un poco de inercia histórica que me mantiene donde estoy - quizás atascado en el tiempo) ya no existe.

No obstante, he intentado que esta disertación tenga una perspectiva más amplia que la mía y, para ello, he solicitado la opinión de otras personas que han hecho la misma selección; No obstante, en virtud de lo subjetivo que es esta discusión, hablaré, mayormente, desde mi perspectiva, y desde la perspectiva de aquellos que ya han seleccionado Debian.

Dada la naturaleza de la audiencia primaria de esta charla, no me detendré explicando mucho porque se debería seleccionar cualquier sistema operativo *nix sobre los sistemas operativos de Microsoft. Suficiente es decir que los siguientes criterios me han mantenido alejado de Windows: seguridad, flexibilidad, control de características, filosofía, costo, rapidez, eficiencia, confiabilidad, disponibilidad y elección de las aplicaciones de software a utilizar , susceptibilidad a gusanos informáticos y virus, apertura y rapidez en la resolución de problemas conocidos, clustering, sistema operativo multiusuario, no tener una GUI ('interfaz gráfica de usuario') y un navegador web como parte integral del sistema operativo.

http://www.michaelhorowitz.com/Linux.vs.Windows.html proporciona una comparación relativamente imparcial de Linux y Windows, y puede servir como una introducción de Linux a los usuarios de Windows.Tiene una inclinación más comercial de lo apropiado para esta charla (la preocupación del éxito de mercado de las distribuciones/compañías, por ejemplo).

Filosofía y Comunidad

En última instancia, la filosofía es el criterio más duradero de diferenciación entre los sistemas operativos que estamos considerando. Las cifras de rendimiento cambian. La facilidad de uso, la seguridad, la disponibilidad de software - todas estas características cambian con el tiempo, se tiene que salir y con el tiempo volver a evaluar.

Debo confesar que la filosofía y de la comunidad es lo que me llevó originalmente dentro del mundo Linux, y luego a Debian, y creo que siguen siendo los criterios más importantes, y son a menudo subestimados.

¿Por qué el software libre es algo bueno? Durante las casi dos décadas que he estado involucrado con el software libre, he pedido a la gente que conteste a esta pregunta (y muchas veces he quedado sorprendido por las respuestas). La respuesta popular parece ser debido a que es atractivo, o porque tiene costo cero. Las motivaciones de los autores también son variadas, pero la moneda con que se les paga a menudo es el reconocimiento, la fama del grupo de pares o por la experiencia de que pueden ser comercializados en el lugar de trabajo.

Pero creo que le falta la razón de ser fundamental para el software libre - el aspecto de estar sobre el hombro de gigantes. Me gusta tratar la analogía de la misma manera en que se lleva a cabo la investigación académica. Si los investigadores estuvieran condenados a reinventar la rueda y descubrir por sí mismos más allá todo lo que existía en los libros de texto, entonces el progreso en la comunidad de investigación se atrofiará. La mayoría de mis compañeros tuvieron su inicio en la investigación por hacer búsquedas en la literatura, en busca de investigaciones interesantes , y tal vez la correlación de los documentos relacionados, a partir de las ideas y técnicas de otros investigadores en el campo. El secretismo que envuelve la investigación en la mayoría de los laboratorios sólo existe hasta el momento de la publicación - y luego la gente comparte sus técnicas e ideas, y los resultados - de hecho, la reproducibilidad es un criterio importante de éxito.

Contraste esto con el software propietario, donde todos empezamos al principio -- Creo que podríamos salir disparados, con tan solo poder compartir libremente y construir sobre las ideas y trabajos de otros. Esto reduciría los tiempos esfuerzo y costes de la innovación, permitiendo a las mejores prácticas y patrones de diseño desarrollarse y madurar, y la programación bruta que crea barreras para desarrollar soluciones en casa.

Debemos asegurar que el incentivo para el éxito aun existe (y no necesita ser puramente un motivo de lucro).

Esta creencia me llevó a escoger la GPL, y la visión de las cosas de la "Free Software Foundation", en oposición a la licencia BSD, la cual también es licencia de software libre, y ello me abocó a escoger en cierto momento Debian. Según mi opinión personal, la licencia BSD versa más sobre el orgullo personal al escribir software libre, sin importarle donde acabe el software; Yo quiero más que eso. Quiero que mis trabajos ayuden a construir una comunidad de sinergias; que retroalimente un pozo que mane software útil.

Debian es un ejercicio de construcción de un granero comunitario; juntos, podemos alcanzar más que por nuestra cuenta. El contrato social de Debian es un factor importante en mi elección de Debian, con su mezcla de compromiso con el software libre, y reconocimiento pragmático de que habrá casos en los que la usabilidad demande software que no cumpla nuestras pautas.

La comunidad es otra razón por las que fui a Linux en vez de a los de BSD. En ese momento estaba buscando un SO tipo Unix libre para poner en mi nuevo 386 dado por la universidad, los de BSD eran bastante mas robustos, y funcionaban mucho mejor, y tenia amigos que juraban lealtad por los BSD. Lo que me echo para atrás fue la estructura de sistema piramidal que permeaba la comunidad BSD. Estaban los desarrolladores principales en la cima, y te tocaba entrar con los novatos que pretendían ser contribuidores. La comunidad Linux, aunque bulliciosa, parecía ser más incluyente -- el pedigrí importaba menos que el código que producías. Y podía contribuir inmediatamente a desarrollar el SO que iba a manejar. Creo que esa es otra razón por la que me gusta Debian -- Ya llevo bastante como para guiarlo en ser el SO que se hace del modo que pienso.

Utilidad y usabilidad

Asumiendo que no he perdido a los pragmáticos entre ustedes, los criterios que la mayoría tenemos mas altos cuando escogen un SO son, tras el coste, la utilidad y la usabilidad. Por supuesto, la utilidad depende de cuales son sus objetivos y requisitos, pero hay amplias áreas que podemos abordar.

Hay mucho más con respecto a un SO que un núcleo con un puñado de software por encima - la integración de sistemas es un asunto al que se le presta poco caso cuando se discute de los méritos del SO. Pero un sistema bien integrado -en donde cada pieza se ajusta acomodándose a otras partes del sistema - aumenta su utilidad sobre los que no.

Debian, por mi experiencia,y la de otros muchos de mis encuestados, es el SO mejor integrado que hay. Los paquetes de Debian siguen sus relaciones entre ellos no meramente a través de un sistema plano de un mecanismo de dependencias/conflictos, sino por un conjunto mas rico de relaciones matizadas - Predependencias, dependencias ordinarias, recomendaciones, sugerencias, conflictos, y relaciones mejoradas. Aparte de esto, se categorizan los paquetes de acuerdo a la prioridad (Essential a través de los extra), y su función. Esta riqueza de relaciones, de las cuales el sistema de empaquetamient0 esta atento y les presta atención, indica el nivel al cual los paquetes encajan unos con otros.

Debian se desarrolla por unos 1000 voluntarios. Lo que significa que cada desarrollador es libre de mantener programas en los que esté interesado o necesite para una tarea en especial de su vida real. Eso es por lo cual Debian es capaz de cubrir diferentes campos de especializaciones - sus desarrolladores justo quieren solucionar sus propios problemas especiales. Este amplio enfoque es diferente de las distribuciones comerciales las cuales justo intentan cubrir las tareas más comunes.

He encontrado que las máquinas Debian del trabajo necesitan menos cuidados, son más fáciles de actualizar, y justamente no se estropean con tanta frecuencia como las de Red Hat y Mandrake que gestiono. Me han dicho que tratar con SunOS, por ejemplo, es bastante mas, humm, interesante.

Una de las razones para seleccionar Debian sobre otras distribuciones es la inmenso tamaño del proyecto lo que fuertemente sugiere que Debian no desaparecerá de repente y uno se quedará sin soporte. Debian no puede quebrar en bancarrota. Su contrato social no permite al proyecto decidir abruptamente dejar de dar soporte a las versiones no empresariales de la distribución. ¡Yo no quiero que mi SO sea rehén del plan de negocio de nadie!

Se puede afinar el grado de riesgo que se quiera tomar, ya que Debian presenta tres publicaciones separadas: Stable (estable), Testing (pruebas), y Unstable (inestable). En algunas de nuestras máquinas (el servidor, las máquinas quiosco) ejecutamos 'stable'. Algunos otros sistemas (estaciones personales de trabajo) ejecutan varias combinaciones de testing/unstable. (Note que no existen actualizaciones de seguridad para testing). Yo ejecuto alguna cosa de experimental en mi estación de trabajo misma. Lo que es genial es la capacidad de graduar decisiones finamente para diferentes máquinas que sirvan para diferentes funciones. Pero incluso las elecciones más aventuradas son suficientemente solidas como para que virtualmente nunca se estropeen. Y `stable' nunca se estropea ;-).

Debian proporciona una gran cantidad de retroalimentación hacia arriba. Por ejemplo, el proyecto XFree no se mantiene o depura X por si mismo en todas las arquitecturas que Debian soporta -- delega en Debian para eso. Ha habido un montón de arreglos profundos a libc (hubo una fallo de contabilidad de referencias reciente en glibc cuando dlopening un objeto compartido con ciertas dependencias ELF descubierto por los desarrolladores de Debian). Esta atención por el detalle es difícil de conseguir en cualquier otra distribución Linux. El nivel de ayuda con conocimiento, rápida y amistosa disponible para el usuario final es justamente extraordinaria -- y nada que haya sido capaz de coincidir de las clásicas empresas comerciales como DEC -- a menos que les estés pagando muchísimo dinero. Esto puede proporcionar soluciones, por terceros, sin pericia local, para negocios que se formen sobre Debian.

Para sistemas derivados, DFSG y "main" simplifican la construcción de sistemas con licencias predecibles.

Calidad de implementación

La gente dice a menudo cómo llegaron a Debian debido a apt-get, o que apt es la aplicación indispensable de Debian. Pero apt-get no es lo que hace la experiencia tan grande: apt-get es una característica prontamente reproducida (y, en mi opinión, nunca igualada), por otras distribuciones -- llámese urpmi, apt4rpm, yum, o lo que sea. El factor diferencial es la política de Debian, y el riguroso proceso de calidad del formato de paquetes (mire cosas como apt-listchanges, apt-list-bugs, dpkg-builddeps, pbuilder, pbuilder-uml -- ninguna podría ser implementada y preparada sin una política (imagine listchangelog sin un robusto formato de registro de cambios)). Es muy fácil instalar software en una máquina Debian .

Esto parece las religiones de culto del cargamento (https://es.wikipedia.org/wiki/Culto_cargo): esto es que, apt-get es el aspecto visible del sistema de políticas de Debian, del mismo modo que las prácticas de culto-al-cargamento veían las pistas de aterrizaje y otras características como el origen de los dioses occidentales ("cargamento"), y construían sus réplicas, completas con falsos auriculares de madera para las torres de control. Del mismo modo, otras distribuciones han creado el aspecto hueco visible de la infraestructura de empaquetamiento de Debian, sin profundizar en las cuestiones de política. Peor: los conflictos de los requisitos técnicos y los imperativos de mercadotecnia y económicos a menudo funcionan con propósitos opuestos. Menos perversamente para la mayoría de las distribuciones GNU/Linux que para el software privativo, pero aun así claramente presentes.

Red Hat, Mandrake, y otras distribuciones en el aula tienen realmente instalaciones base masivas. ¿Porqué? ¿Por qué? Creo que se debe a que es un "pity" instalar software. Incluso con RPM, es un procedimiento tedioso, imposible de codificar, mientras con Debian fue fácil.

Así que la aplicación sobresaliente es realmente la política de Debian, el equipo de seguridad, los mecanismos formales de prioridad de fallos, y la política sobre fallos (dígase: cualquier binario sin página man da automáticamente un informe de errores. Cualquier interacción con el usuario que no use debconf es un error). Tal como lo pone la pagina Wiki de Por qué mola Debian (Why Debian Rocks):

Esta es la cruz, el nártex, el corazón palpitante de Debian y lo que hace que sea tan superior al resto de los sistemas operativos. La Política queda definida. Está clara. Se fuerza sobre las herramientas que usa a diario. Cuando pide apt-get install foo, no está solamente instalando software. Está aplicando la política - y el objetivo de esa política es darle el mejor sistema posible.

Lo que la Política se define son los límites de Debian, no las acciones propias de ud. sobre el sistema. La Política declara qué partes del sistema  puede cambiar el sistema de gestión de paquetes, y qué no, cómo manipular los ficheros de configuración, etc. Delimitando el alcance de la distribución de este modo, es posible para el administrador hacer modificaciones fuera de ese área sin temor a que los paquetes de Debian afectaran tales cambios. En esencia, la Política introduce una nueva clase de error, los errores de política (policy bugs). Los errores de política son críticos para la publicación -- un paquete que viole la política no se incluirá en la publicación oficial estable de Debian.

Déjeme que lo reitere, puesto que este es el secreto en concreto: Un paquete que viole la política no será incluido en la publicación oficial estable de Debian.

Añada a esto que el equipo de calidad de Debian que no mantiene las cargas del mantenedor (NMU non maintainer uploads), ayuda con la limpieza de errores, realiza actualizaciones de seguridad, y se asegura que haya alguien mirando el sistema de forma holística trabajando para crear un SO integrado, en oposición a simplemente arreglar paquetes individuales de modo aislado. Esto hace que la gente sea leal a Debian. Hay un montón de herramientas en el subsistema de calidad que ayudan a los desarrolladores a cuidar de sus paquetes -- mire en http://qa.debian.org/developer.php?login=srivasta

El proceso de evaluación al que cada paquete tiene que someterse en la distribución inestable antes de pasar a la distribución de pruebas, suma calidad al producto final. Una vez que el paquete no ha mostrado ningún problema importante durante cierto periodo, pasa a la distribución de pruebas. Esta distribución es la candidata a ser la futura distribución estable, la cual sólo se publica cuando todos los errores críticos han sido resueltos. Este cuidadoso proceso de pruebas es la razón por la que Debian tiene un mayor ciclo de publicación que otras distribuciones. Esto, en términos de estabilidad es una ventaja. (Nota: RH Enterprise Linux al parecer está apuntando a ciclos de publicación cada 12 - 24 meses. Cercano a los lanzamientos históricos de Debian).

El hecho de que Debian de soporte a tantas arquitecturas como lo hace también alimenta la calidad de los paquetes: Migrar software a menudo muestra fallos en el código existente, y tenga en cuenta que todo el software es compilado por 10 o más demonios de construcción automática que necesitan estar libre de errores cuando se construyen paquetes en los distintos ambientes. Esto requiere que los scripts de construcción e instalación sean muy robustos y establezcan un seguimiento estricto de las dependencias en el momento de la construcción. Añada las replicas de los archivos de origen y las versiones de seguimiento al archivo fuente y obtendrá un sistema robusto (snapshot.debian.org permite revertir fácilmente).

El sistema de seguimiento de fallos de Debian es clave para la calidad de la distribución. Ya que las publicaciones están ligadas al número de errores críticos en el sistema, asegurando que la calidad de la publicación sea mejor que la de cualquier UNIX propietario que haya usado. El gestor de publicaciones (Release Manager) es implacable con deshacerse de paquetes no esenciales que tengan RC bugs si no se arreglan -- o retrasando la publicación si es un paquete crítico el que tiene el error.

Comparada con distribuciones comerciales de Linux, Debian tiene un mayor ratio de desarrolladores por paquete. Además la falta de un calendario de publicaciones impuestas por un ciclo de negocio; Debian tiende a hacer las cosas bien, en vez de hacer cosas para conseguir una versión nueva a tiempo para Navidad.

De acuerdo con una historia reciente de Slashdot, hay más distribuciones basadas en Debian ahora de las que existen del lider del mercado, RedHat (63 y subiendo, incluyendo Ubuntu, Xandros, Knoppix, Lycoris, Lindows (Lind--s ?), Libranet, mophix ...).

En la recuperación de fallos es absolutamente imbatible. Véase también el script (http://linuxmafia.com/faq/Debian/package-database-rebuild.html). Sobre cómo recuperar Debian sin tener una copia de seguridad, mirar en var/lib/dpkg.

Conjunto de características y selección de Software

Debian tiene más de 29.000 paquetes ahora. Lo más probable es que todo lo que necesita ya esté empaquetado e integrado en el sistema, con una persona dedicada a mantenerlo (y una pequeña cantidad de otros paquetes) actualizado, integrado, y libre de errores.

Debian tiene un enorme esfuerzo de internacionalización, traducciendo no sólo la documentación (tengo gente que me envía páginas de manual traducidas para paquetes que mantengo), sino también de scripts de configuración e instalación (toda la interacción de debconf puede ser completamente internacionalizada). Ayuda a tener una comunidad masiva y geográficamente distribuida -- tenemos gente nativa que hablan toneladas de idiomas. Creo que el esfuerzo de internacionalización de Debian está a la par con el que hay para Gnome y KDE.

Otras cosas notables, para las cuales dispongo de poco tiempo para darles atencion apropiada, son: El proyecto de documentación de Debian, Alioth, el instalador de Debian, Debian CD, Lintian, y el sistema de seguimiento de paquetes.

Algunas otras cosas que me mantendrán usando Debian hasta que sean soportadas por otras también:

1. debconf y la capacidad de pre-sembrar la base de datos 2. make-kpkg cono todos los avisos apagados en tiempo de instalación 3. /usr/share/doc/{Changelog.Debian,changelog,copyright,README.Debian}

Debian también tiene un gran conjunto de herramientas para el kernel o hackers de distribución e integradores de sistemas debbootstrap, chroots, Linux en modo usuario, Xen. Todo tipo de magnificas herramientas para ayudar a hackear los mecanismos de instalación, kernels y controladores.

Hay un número de nicho de comunidades que han encontrado un hogar en Debian. Estos son subproyectos; Debian-Jr, Debian-med, Debian-Edu, Debian-non-profit, y Debian-lex. Una cantidad de desarrolladores de Debian son ciegos, y como resultado, Debian es muy pero muy amistoso para con los ciegos. Hay material adicional sobre distribuciones Debian personalizadas (Mezclas Puras de Debian).

Kernels

Los kernels de BSD, desde cualquier punto, parecen más estables y de mejor calidad que los kernels de Linux parecen ser. Los kernels BSD son mucho más fáciles de leer y entender, pero por otro lado los kernels Linux son más ricos en características, y la calidad ha mejorado significativamente, parecen rendir mucho más y tener mejor soporte de hardware que los kernels BSD. De hecho, he escuchado comentarios que en lo que concierne a soporte de controladores, los BSD están donde estuvo Linux hace 5 años. Hablaré más sobre el soporte de hardware después. Personalmente, la supuesta falibilidad de los kernels Linux no ha superado mi nivel de aceptabilidad, y sobretodo, no creo que un cacharro Debian se sienta menos robusto y estable que, digamos, un cacharro FreeBSD. Por supuesto, la reciente ola de agujeros en los núcleos Linux están empezando a forzar eso. (Sin embargo, deberíamos recordar que tener mas características es un factor contributivo: los últimos agujeros estaban en la llamada mremap(2) que no está disponible en ningún *BSD).

Por supuesto, Debian GNU/kFreeBSD puede proporcionar lo mejor de ambos mundos.

Área de usuario (User Land)

El área de usuario de BSD es diferente a la de GNU. He crecido con el área de usuario de GNU instalada en cacharros Ultrix/Aix/HP-UX por consistencia, y para mí el área de usuario de GNU se siente más cómoda.

Debería hacerse saber que se puede instalar el área de eusuario de GNU en un cacharro BSD, y cantidad de gente lo hace (/usr/local/gnu/*, por ejemplo). Sobre las instalaciones que tienen ambos conjuntos instalados, los informes dicen que hay mayor base de usuarios usando las utilidades GNU, incluso aunque no son las predeterminadas. En general, las utilidades FreeBSD parecen ser más ligeras pero pobres en características, y en el hardware moderno los ahorros pequeños de memoria son irrelevantes.

Tampoco ayuda que no provean de buena ayuda de línea de órdenes; es más fácil decirle a un novato que si escribe foo --help obtendrá algo que podría ser útil.

El área de usuario básica de OpenBSD es bastante completa. Yo prefiero el área de usuario GNU porque estoy acostumbrado a ella, pero el sistema base de OBSD es bastante funcional. FBSD es harina de otro costal- En FBSD se esfuerzan por producir un sistema de base mínima y no esperan que sólo use eso - esperan que las personas instalen muchos paquetes a través de los puertos. FreeBSD se convierte en el sistema más parecido a Debian en la familia BSD - se tiene un sistema base y se construye sobre ello. Su área de usuario será cualquier que elija.

Mantenimiento y administración

Se ha dicho que las actualizaciones son la ventaja clave de Debian. Más que la mayoría de los otros sistemas operativos, la red es el mecanismo de distribución y actualización para Debian. La política, el pensamiento que ha ido dentro de los scripts de mantenedores, y las formas en las que se pueden usar, la completa ordenación topográfica sobre la tela de araña de dependencias hecha por apt y amigos, todo trabaja conjuntamente para asegurar que las actualizaciones que haya funcionen suavemente (Nunca he tenido que reinstalar mis máquinas, aunque algunas han sido actualizadas en el sitio durante más de 5 años). Reinstalaciones no son inéditas en el camino de una actualización recomendada de BSD (Desde 2.8 o 2.9, OpenBSD dijo al menos dos veces a los usuarios "Actualizar no se soporta / no se recomienda, haga una instalación nueva").

Esta facilidad de actualizar también participa en la seguridad del sistema, las actualizaciones de seguridad son mucho más convenientes en Debian de lo que puedan ser en otros sistemas, gracias al Equipo de Seguridad. Para nosotros meros mortales no puestos en vendor-sec, tener security.debian.org en nuestras fuentes asegura que nuestros cacharros se actualicen de manera eficaz y veloz después que se haga público cualquier exploit -- puesto que el equipo de seguridad estaba trabajando en los arreglos antes de que se hagan públicos los detalles. Esto significa que los sistemas se actualizan en minutos, mientras que el modo recomendado de hacer una actualización en los SO BSD involucra volver a compilar el sistema entero (al menos, el "world").

Debian intenta asegurar actualizaciones suaves evitando una publicación mayor - Lo cual es algo que no he visto soportado en ningún otro lugar. Sigo refiriéndome a la calidad de empaquetamiento.

Administrar Debian es la razón primaria por la que la mayoría de la gente se queda con ella. No conozco otra distribución donde puedas escribir apt-get install sendmail, y marcharte con un servidor de correo totalmente funcional, completo con SASL y TLS, totalmente configurado, completo con certificados. Toda la administración puede hacerse sobre SSH dadas las velocidades de los módems telefónicos.

Debian garantiza que se preservarán los cambios hechos por los usuarios en los ficheros de configuración, y que todos los ficheros de configuración convivan en /etc (en oposición a estar por todo el sistema de archivos) hace más fácil respaldar copias de seguridad (tengo mi /etc viviendo bajo un sistema de control de versiones).

Debian cumple con la FHS, y el cumplir con LSB es un objetivo de publicación.

La naturaleza distribuida del desarrollo y distribución de Debian hace muy fácil establecer un repositorio separado de paquetes personalizados que pueden entonces ser distribuidos en casa; y los mecanismos de política y construcción aseguran que terceros puedan construir el sistema con la misma facilidad de una manera reproducible.

Portabilidad y soporte de hardware

Linux tiende a soportar más hardware esotérico de lo que soporta BSD. Si esto es o no un problema, depende de las necesidades de usted. El soporte para hardware de alta calidad es mayoritariamente lo mismo. Una excepción notable es para el hardware RAID; las tarjetas RAID de terceros están empezando a ser soportadas en BSD, pero han estado soportadas por largo tiempo en Linux. La seguridad de que IBM de soporte Linux de todo su hardware, y también el de HP, es una ventaja para Linux. También me gustan los sistemas de ficheros de diarios múltiples (multiple journaling file systems) que han llegado recientemente al kernel Linux. Para el escritorio, el factor imprescindible son los controladores. Y linux deja atrás a todos los otros Unixes X86 por una gran distancia.

En lo que viene a ser portabilidad, NetBSD se supone que es el prototipo. Sin embargo, examiné detenidamente lo que es soportado por NetBSD y Debian: He encontrado que Debian soporta ibm s/390 y ia64, mientras que NetBSD tiene soporte para sun2 (m68010), PC532 (lo que quiera que sea [aparentemente una máquina personalizada de la cual se hicieron solo 200 modelo]), y VAX. Estoy seguro en cual conjunto estoy más interesado (aunque sería una pasada tener un VAX holgazaneando por ahí en el sótano). Noté que lo llamado arquitecturas en NetBSD con frecuencia son tildadas de subarquitecturas por Debian, por tanto no cuentan en las 11 arquitecturas contadas con soporte.

Construcciones fuente

He oído un montón de cosas sobre los mecanismos de migración de BSD, y los sistemas de migración de Gentoo. También he oído acerca de como la gente tiene problemas realmente al conseguir que compilen las cosas en el sistemas de migración. Aparte del hecho de que compilar todo, rápidamente se queda anticuado (he pasado por eso, cuando utilicé la distribución Soft Landing Systems (SLS) allá por el '93).

No es como si no se pudiera hacer una migración como auto construcción de Debian -- tenemos autoconstructores en 11 arquitecturas que lo hacen, contínuamente, cada día -- la pregunta es, por qué se querría hacer. Tengo que ver un único test replicable que demuestre una mejora de rendimiento palpable por compilaciones optimizadas a nivel local -- y ciertamente ninguna justifica, a mis ojos, el tiempo pasado ajustando y construyendo por completo el software.

Algunos dirían que cuando eran jóvenes y sentían la necesidad de hacer alguna broma ajustarían algunos parámetros sin sentido en el ordenador de otra persona y les dirían que "esto va a hacer que corra un 5% más rápido, pero probablemente usted no lo va a notar". Con tal desafío les responderían normalmente volviéndose totalmente convencidos de que sus máquinas habían sido mejoradas considerablemente y ¡que podrían notar la diferencia del 5% !

La sabiduría convencional parece indicar que los incrementos de rendimiento general del sistema son menores al 1%. Programas específicos pueden beneficiarse grandemente, aun así, siempre se puede afinar una aplicación crítica para su entorno en Debian. Creo que cualquiera que sea el tiempo salvado por la ejecución es más que compensado por el tiempo invertido en la construcción del sistema, y construir actualizaciones del sistema (he oído de gente corriendo en segundo plano la construcción de su actualización mientras hacen otras cosas en primer plano.)

Sin mencionar como la integración sufre por no tener una ubicación central donde la interoperabilidad de las piezas puedan ser también comprobada, ya que cada sistema diferiría salvajemente del de referencia.

Un sistema de construcción fuente es también bastante más problemático cuando se trata de actualizaciones mayores -- Tengo evidencia anecdótica de que ello no es tan seguro y sensato como los mecanismos de actualización de Debian.

De todas formas, si quiero construir paquetes desde las fuentes en Debian, puedo usar apt-get source -b, apt-src, o cualquiera de las numerosas herramientas. Y en haciendo construcciones locales confío en que los deb localmente construidos se instalarán de un modo seguro y sensato, reemplazando apropiadamente las cosas viejas. La construcción meterá las dependencias requeridas de las que dependa, y yo rutinariamente construyo en pbuilder-user-mode-linux para asegurar construcciones uniformes.

El punto real aquí es que Gentoo es una distro para aficionados y usuarios duros de Linux y übergeeks, que puedan permitirse el tiempo de construir sus propias aplicaciones. Sé que Gentoo también provee binarios precompilados -- pero ¿no elimina eso su supuesta ventaja? Para un entorno de empresa donde el tiempo de parada cuesta dinero esto simplemente es inadmisible y Debian provee la mejor solución. Aquellos de nosotros que administramos mas de un puñado de máquinas podemos realmente apreciar cuan conveniente es ser capaz de emitir apt-get update && apt-get upgrade de un golpe en vez de tener que descargar, configurar, compilar e instalar software máquina a máquina, sin ningún tiempo de ayuda automatizada (No estoy haciendo justicia total con emerge / portage aquí, pero está claro el punto, espero). Puedo enfatizar esto lo suficiente: Para uso "serio"/de producción, las distros binarias son la mejor y única solución viable; Entre todas ellas, Debian (no solo debido a APT pero también debido a todo el duro trabajo hecho por DD para asegurar la corrección del empaquetamiento) es la mejor [he probado SuSE, RedHat y Mandrake, y no regresaría a ninguna incluso si me dieran mucho dinero; Gentoo tampoco es una opción].

Seguridad y confiabilidad

Siempre hay un intercambio entre seguridad y conveniencia -- El más seguro de los ordenadores es aquél que no nunca sea encendido. Seguro, pero no muy útil. Se debe decidir dónde reside la zona de confort.

¿Qué se piensa cuando uno menciona seguridad y SO tipo Unix? OpenBSD, con alguna justificación. Está auditado y es de tamaño pequeño, menores requisitos de sistema y una instalación basada en texto puro. Ajustándose al centro de la instalación, se tiene un sistema auditado, sin servicios encendidos por defecto y la garantía de que no hay agujeros en la instalación predeterminada que puedan conducir a comprometer de manera remota el root. Sin embargo, se tiende a terminar con software antiguo, y la instalación predeterminada en realidad hace muy poco. W^X y la protección contra desbordamientos de pila (?ProPolice) en OpenBSD http://www.openbsd.org/33.html, los parches de protección y ejecución exec-shield y Adamantix (PaX) para Linux (puede que tengas que volver a compilar el kernel de Debian para estos). La mayoría de la gente está de acuerdo con que la porción segura y auditada de OpenBSD no proporciona todo el software que se pide. También, los números de rendimiento de OpenBSD son, humm, pobres, comparados con SELinux en un kernel 2.6.3.

La reputación de OpenBSD como sistema seguro esta justificada -pero solo cuando conoces el proyecto y estás completamente familiarizado con lo que realmente cubre. OpenBSD puede ser un gran cortafuegos, puede que también un gran servidor de correo o de web estático - Siempre y cuando se mantenga fuera del árbol de migraciones, se tiene un sistema auditado, al tanto de la seguridad. Conozco pocas aplicaciones, para tal sistema. la migración de la zona de usuario de OpenBSD se estropea más a menudo que en Debian estable -- pero, en OpenBSD, las migraciones no son oficialmente parte del sistema, en caso de que aparezca un problema de seguridad en una de ellas, estará es sus manos.

Probablemente Debian estable iguala o supera esas mismas expectativas -- y parece haber poca diferencia en el mundo real entre Debian y OpenBSD. Uno tiene que trabajar un poco para endurecer la instalación por defecto del sistema Debian justo con los paquetes estándar de prioridad, pero eso lleva pocos minutos de trabajo para administradores con experiencia. Las auditorías de código están en una etapa mas avanzada para OpenBSD; aunque se debe recordar que a pesar de todas las auditorias se han encontrado muchos errores de alto perfil en OpenSSH recientemente -- así que tome la etiqueta de auditado con un poco de precaución.

La distribución Debian GNU/Linux tiene un enfoque fuerte sobre la seguridad y la estabilidad. Tenemos un equipo de seguridad, sistemas de construcción automáticos para ayudar al equipo de seguridad a construir rápidamente versiones para todas las arquitecturas soportadas, y políticas creadas hacia esos objetivos. Aquí verá una comparación de seguridad entre OpenBSD y Debian (http://lists.debian.org/debian-user/2003/debian-user-200308/msg00541.html).

Aunque no necesites una serie de herramientas en cada sistema BSD objetivo para implementar actualizaciones de seguridad ("make release", o "make package" para construir en una máquina e instalar en otra), es un poco más incómodo que el sistema de empaquetamiento de Debian. Debian manipula la distribución de los paquetes binarios mucho mejor. Puede tener su propio archivo aptable y alimentar a todos los servidores productivos desde el, usando los mecanismos nativos de Debian.

En materia de seguridad real, sin embargo, sin un sistemas de controles de accesos obligatorios se tiene muy poca seguridad. Así que SELinux (y el aún naciente TrustedBSD) serían mejores opciones que OpenBSD o una instalación base de Debian estable.

Incluso sin SELinux, encuentro como roca sólida la estabilidad de Debian estable, con la paz mental que traen los parches de seguridad proporcionados por el equipo de seguridad; muy convincentes. Es fácil para el receptor no entrenado mantenerse al día con la seguridad; y reduce la posibilidad de quedar comprometido. Esto es muy importante en un entorno comercial de gran cantidad de computadores, donde es importante que el software NO se actualice cada pocos meses.

Hay otro beneficio del equipo de seguridad de Debian en lo que se refiere a la distribución estable. Hay sin embargo, solo una version del arbol de migraciones. Mientras que en Debian se tiene múltiples versiones de, p.ej: apache, KDE, y X11 -una para cada suite con actualizaciones de seguridad para la suite estable - no hay tal cosa para FreeBSD. Aunque, por supuesto, el makefile de migración será actualizado si se ha descubierto un fallo de seguridad en dicho paquete, el único modo de tapar el agujero de su sistema en tal situación es instalar la nueva versión, con los problemas que eso pueda acarrear. Compare con Debian, donde se tiene la capacidad de instalar la misma versión del software, con el arreglo de seguridad aplicado a la versión anterior. También, si se está trabajando con una versión instalada de migraciones del paquete vulnerable, será vulnerable durante el tiempo que se esté ejecutando la compilación instalada, que puede ser una considerable cantidad de tiempo o no.

Tengo algunos datos comparando distribuciones Linux y el tiempo necesitado para parchear vulnerabilidades de seguridad conocidas; no tengo datos de BSD. Está disponible en http://people.debian.org/~jfs/debconf3/security/data/.

Escalabilidad y rendimiento

Inicialmente no iba a hablar nada sobre rendimiento y números, ya que personalmente me han importado poco, y los números de rendimiento cambian de versión en versión. Sin embargo, me doy cuenta de que son criterios importantes de decisión para algunas personas. He intentado buscar y echar un vistazo en los números actuales.

El conjunto total de benchmarks, completo con código, está disponible aquí. http://bulk.fefe.de/scalability/ He aquí sus palabras, de la sección de conclusión, actualizadas para reflejar las últimas estadísticas benchmark.

Linux 2.6 escala O(1) en todas las benchmarks. Me faltan las palabras para decir cuán impresionante es esto. Si estás usando Linux 2.4 ahora, ¡cambia Linux 2.6 ya!

NetBSD tiene mejor escalabilidad que FreeBSD.

FreeBSD 5.1 tiene un rendimiento y escalabilidad muy impresionantes . (Note que está como aun por publicar) Tontamente he asumido que todos los BSDs juegan en la misma liga en cuanto a rendimiento, ya que comparten un montón de código y pueden incorporar el código unos de otros fácilmente. Me equivoque. FreeBSD tiene el segundo mejor rendimiento de los BSDs e incluso es aproxima al de Linux 2.6.

Linux 2.4 no es demasiado malo, pero escala mal para mmap y el fork.

OpenBSD 3.4 rindió en verdad pobremente en estas pruebas. El rendimiento de disco apesta, el kernel era inestable, y en la parte de la escalabilidad de red era superado incluso por su progenitor, NetBSD. OpenBSD tambien tiene deducción de puntos por el sabotaje que hicieron a su pila IPv6. Si estas usando OpenBSD, huye de él.

Conclusión

No hay otro SO o distribución que yo conozca que posea esta mezcla de propiedades (facilidad de mantenimiento, asequibilidad, estabilidad, tamaño, personalización, fuerte soporte). En su mayor parte no quiero mezclar y depurar mi estación de trabajo, quiero hacer mi trabajo con facilidad, seguridad y con poca preocupación por la infraestructura que uso. Debian me ayuda a lograr esto.

Y esta es todavía la razón principal por la que lo uso hoy, desde el punto de vista técnico. La instalación y actualización de Software. Los paquetes son de primera categoría, por lo general se instalan y actualizan perfectamente. El mantenimiento del software continua siendo una labor del administrador del sistema y con Debian es simplemente trivial. No es un problema. Ni siquiera lo menciones cuando hables de cualquier problema en Debian, no merece la pena ese esfuerzo. La frontera de lo impecable.

Reconocimientos

1. Wouter Verhelst <wouter@grep.be>

2. José Luis Tallón <jltallon@adv-solutions.net>

3. Andrew Suffield <asuffield@debian.org>

4. Javier Fernández-Sanguino Peña <jfs@computer.org>

5. Russell Coker <russell@coker.com.au>

6. Andreas Metzler <ametzler@downhill.at.eu.org>

7. Steve <sgbirch@imsmail.org>

8. Toni Mueller <toni@debian.org>

9. Marc Haber <mh+debian-devel@zugschlus.de>

1. George Danchev <danchev@spnet.net>

2. Lionel Elie Mamane <lionel@mamane.lu>

3. Greg Folkert <greg@gregfolkert.net>

4. Rudy Godoy <rudy@kernel-panik.org>

5. Andreas Tille <tillea@rki.de>

6. Nathanael Nerode <neroden@twcny.rr.com>

7. Mark Ferlatte <ferlatte@cryptio.net>

8. Gunnar Wolf <gwolf@gwolf.cx>

9. Jim ??McCloskey <mcclosk@ucsc.edu>

10. Bill Wohler <wohler@newt.com>

11. Bill Richardson <bill@bothan.net>

12. Alex Perry <alex.perry@qm.com>

13. Woodrow Kirton <wkirton@surfwayx.net>

14. David B Harris <dbharris@eelf.ddts.net>

15. Joost van Baal <joostvb@mdcc.cx>

16. Bill Allombert <allomber@math.u-bordeaux.fr>

17. <root.man@earthlink.net>

18. Viktor Rosenfeld <rosenfel@informatik.hu-berlin.de>

19. "Adrian 'Dagurashibanipal' von Bidder <avbidder@fortytwo.ch>

20. Razvan Petrescu <rpetrescu@montran.ro>

21. s. keeling <keeling@spots.ab.ca>

22. Karsten M. Self <kmself@ix.netcom.com>

Gracias también a los participantes en el hilo (http://lists.debian.org//debian-devel/2004/02/thrd2.html#00594) de la lista de desarrolladores por su respuesta.

Otros recursos