Por qué recomiendo Debian y no CentOS
Antes de empezar, me gustaría comentar que este es un artículo atípico, y profundamente personal, que no tengo nada en contra de CentOS (que es un proyecto elaborado muy honradamente por usuarios desinteresados y que, como la mayoría de proyectos de software libre, trabajan duro en mantener una distribución que es una tarea muy complicada, difícil y poco gratificante). También me gustaría comentar que este artículo es una respuesta PERSONAL ya que me han pedido mi opinión en varias ocasiones sobre qué distribución es mejor para Asterisk y porqué motivo, así que, sin ánimo de ofender a nadie, daré mi punto de vista sobre si el color Naranja es más bonito que el Verde, así que posiblemente no estés a favor de lo que diré en este artículo, ni mi deseo es convencer a nadie. Tan solo es una mera opinión, basada en mi experiencia y que simplemente deseo compartir con aquellos que quieran leerlo, y no… no me considero un «talibán» ni un «radical» como a veces me han llamado… es simplemente la opinión basada en la experiencia.
A través de un comentario de un compañero en Facebook, y siguiendo la conversación en Twitter (tenemos redes para todos los gustos. 😀) sale el tema ultra-quemado sobre qué distribución es más aconsejable para Asterisk. Este tema es arto cansino y es que, como siempre digo cada cual tiene sus gustos y no hay que defender a muerte una distribución, principalmente porque basta con que te guste una en concreto para que un cliente utilice la contraria o incluso una que no conozcamos y empiezan los problemas.
¿Por qué Linux? Un poco de Historia personal…
Pese a que nací en 1978, he estado rodeado de ordenadores desde los 4 años (eso de tener una familia metida de lleno en este mundo tiene sus ventajas), un antiguo Sinclair ZX-81, Amstrad CPC464, Dragón64, y varios ordenadores más después hasta llegar al PC famoso i8x. Desde el MS-DOS 3.10 hasta el 6.02, he utilizado esos sistemas y puedo decir con total conocimiento de causa, que nunca me ha gustado Windows (en mi opinión: Windows nació de la mano de Microsoft, para que los usuarios no especializados pudieran utilizar un ordenador. Pero con la diferencia de que nosotros somos profesionales, Windows se asemeja a un juguete en manos de ingenieros)… por lo que prefería el MS-DOS y después el DR-DOS. Así que, cuando descubrí que había un sistema mejor, con multi-tarea, multi-usuario, etc… lo ví claro (aunque viendo quién utiliza Windows… a veces pienso que fuí el único que lo vió claro).
Utilizo Linux desde 1995-96, por aquel entonces los disquetes eran el medio por excelencia y los CDs eran más bien escasos. Únicamente algunas pocas revistas tipo «PCManía» o «PCWorld» se atrevían a regalar un CD con algunos programas gratuitos, demos y aplicaciones shareware, pero de software libre, ni se sabía qué era. De repente, gracias a uno de esos CDs que traían las revistas y unos comentarios de mi amigo Damián Serrano (aka Poison) empecé en serio con Linux. La distribución que venía era la Slackware 2 una distribución ultra-ortodoxa sin interfaz gráfico ni herramientas de configuración en la que, únicamente a través de pelearte con el módem y conseguir tras varias semanas configurarlo correctamente a través de Infovía (ya por suerte ya no estaban de moda las BBS y empezaban las tarifas planas), conseguir conectarme a Internet con un módem y seguir aprendiendo cómo funcionaba eso de Linux.
Slackware, un buen profesor…
Slackware es una gran distribución, pero como he dicho, bastante ortodoxa (muy seca para mi gusto), todo a mano (hay que recordar a nuestros lectores que eso de los paquetes fácilmente instalables no apareció hasta un poco más tarde) pero bastante tediosa (imaginad horas y horas aprendiendo e instalando 200 archivos tar.gz para luego pelearte con todo tipo de configuraciones simplemente para poder ver una pantalla gráfica y un puntero con forma de X).
RedHat, no todo debe ser difícil…
Uno o dos años más tarde, me presentaron la RedHat 4 (por aquel entonces la distribución era gratuita) y tenía la ventaja de disponer de herramientas que facilitaban bastante la configuración (como el famoso «netconf») y con una herramienta llamada ‘rpm’ podía ir al directorio de CD e instalar con ‘rpm -i <paquete>‘ el paquete que quería. El interfaz gráfico seguían siendo 200 paquetes, pero el rpm era mucho más cómodo que el tar.gz. La pega de los paquetes ‘rpm’ es que tenían una cosa llamada «dependencias» de forma que para poder instalar un paquete «B», antes tenías que instalar el paquete «A», así que la mayor parte del tiempo lo pasaba metiendo nombre de archivos en una «pila mental» de forma que cuando conseguía instalar el paquete «A» ya podía instalar el «B» y luego el «C», y así hasta llegar al «ZZZZZ». Una maravilla, continué utilizando Redhat hasta la versión 7, que ya traía interfaz gráfico fácilmente instalable desde el propio sistema de instalación, «Uauuuu!» menudo éxito.
Debian, la mezcla perfecta entre práctico y potente…
Luego, a través de otro amigo: Eduardo Ramirez (aka Kynes) me dió por probar Debian. Más fea que RedHat 7, no instalaba de serie el entorno gráfico, pero tenía muchas más aplicaciones listas para instalar de serie en el CD (en aquel entonces, la distribución era una Slink) bastante fea, pero lo que más me gustó era lo poco que ocupaba (la instalación base de la RedHat 7 ocupaba unos 500Mb, mientras que la Debian Slink base ocupaba unos 120Mb) principalmente porque no instalaba nada de nada. Por aquel entonces, que empezaban a aparecer los discos duros de 4Gb, ahorrar espacio era una de las prioridades importantes y a tener muy en cuenta.
Poco a poco continué utilizando Debian y lo que más me gustó era que, una vez aprendido a configurar algo mediante archivos de configuración (como los campeones) no te hacía falta conocer el nombre del «script» que traía RedHat, podías irte a una RedHat, editar el archivo de configuración a mano, y punto. ¿Para qué entrar una y otra vez en el Kudzu aquel que fallaba cada vez que arrancaba el sistema?. Y, aunque el sistema de paquetes de Debian era el más malo que conocí (dselect), utilizar el comando ‘dpkg’ era exactamente igual que utilizar el comando ‘rpm’…
APT-GET, el principal motivo del cambio…
… hasta que llegó Debian Potato con su «APT-GET», eso lo cambió todo. No únicamente instalaba los paquetes que querías, si no que también instalaba las dependencias (por poner un ejemplo: Si querías instalar el entorno gráfico -unos 200 paquetes- tan solo tenías que escribir: apt-get install xcalc y el sistema ya empezaba a ver las dependencias que tenía ese paquete y a instalarlas automáticamente. De forma que para instalar el entorno gráfico, tan solo tenía que ejecutar un único comando.
En RedHat todavía utilizaban RPM y no resolvían dependencias, así que continué con mi «ultra-cómoda-distro-debian-rulz«.
RedHat, incluso con ese fallo garrafal a nivel de paquetes y dependencias que Debian ya resolvió de una forma increíblemente eficaz, siguió los pasos de SUSE y se hizo comercial, por lo que empecé a conocer otras: Mandrake (gracias a David Sedeño, aka Frimost), SUSE (gracias a Antonio Larrosa aka AntLarr) y Fedora (un fork de RedHat, hecho por la misma gente que la versión comercial, pero gratuita).
Para entonces aprendí que si sabías utilizar una Debian, podías desenvolverte en cualquier otra distribución. Además Debian ofrecía un sistema de paquetes inigualable (el Yast de SUSE nunca se le acercó y el proyecto «apt-rpm» de RedHat nunca terminó de cuajar: tremendamente lento, con fallos garrafales en cuanto a dependencias y un repositorio muy poco actualizado). En definitiva: Debian forever.
CentOS, el «clón» de RedHat que no tiene nada que ver…
Más tarde (hace ya como unos 5 años) descubrí CentOS y tras unos comentarios muy poco afortunados me ayudaron a prejuzgarla: «Centos es la distribución clón de la RedHat Enterprise» ¿Qué significa realmente eso? ¿qué es, una RedHat Enterprise? ¿Qué se parece más a la RedHat Enterprise que la propia Fedora? ¿Qué es, una copia no oficial y gratuita de la RedHat Enterprise camuflada en un nuevo nombre? ¿Alguien que me explique por qué es mejor CentOS que Fedora? Si lo bueno que tiene Fedora es que los desarrolladores son los de RedHat ¿Qué tiene CentOS? ¿Alguien que trabaje en Centos ha aportado algo nuevo que no trae ninguna otra distribución? En fín, no lo entendí. Incluso leyendo la descripción en su página web, sigo sin entender por qué llamó tanto la atención: «CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.»
Pero la frase famosa de «distribución clon de la RedHat Enterprise» caló profundamente entre la sociedad empresarial y los usuarios nóveles, más incluso que la propia RedHat, porque: «preferimos tener un coche que parezca un BMW, con los neumáticos de BMW, el motor del BMW, los cinturones del BMW, pero fabricado en China para que salga a precio de Seat Ibiza y si tengo algún problema, para eso está el taller del primo (vease soporte técnico, documentación, garantías, etc…) que como es familia, es más barato (y si nos lo deja gratis, mejor aún)». Para una empresa, antes que un CentOS, yo utilizaría RedHat que tiene garantía de desarrollo, soporte técnico muy bueno y especializado (y en español) que nos sacarán de cualquier problema que nos encontremos, pero está claro… CentOS triunfa frente a RedHat en el entorno de usuario.
Mucha gente que ha entrado en el mundo de Linux más tarde, han visto como CentOS es una distribución fácil, rápida de manejar, que no requiere de conocimientos técnicos complicados (como por ejemplo, editar un archivo de texto) para configurar la red, y tiene un interfaz gráfico muy usable gracias a Gnome (o KDE) ideal para aquellos usuarios que está empezando y que no tienen profundos conocimientos de Linux.
Pero un administrador de sistemas, o un servidor dedicado, lo que necesita no es un interfaz gráfico y un entorno de ventanas, si no una consola, no consumir recursos innecesarios, un sistema de paquetes que le permita actualizar con plena seguridad y que disponga de librerías lo suficientemente estables y seguras como para que pueda soportar desde un uso excesivo, hasta ataques de terceros o exploits. Esa distribución, no es CentOS, ni siquiera Ubuntu: Debian.
Debian y Asterisk…
Ahora bien, centrándonos más…¿por qué para Asterisk recomiendo una Debian y no otra distribución?
Asterisk, es una aplicación que funciona normalmente en modo servidor ofreciendo, como su nombre dice, un ‘servicio’ y para poder ofrecerlo necesita de una serie de recursos físicos y lógicos. (memoria RAM, procesador, disco duro, etc…) siempre dependiendo del objetivo final que realizará ese Asterisk.
Asterisk funciona prácticamente en cualquier sistema que corra un Linux (GNU/Linux para usted @javdroid 😛) y lo hará igual de bien en cualquier distribución que queramos utilizar (CentOS, Debian, Mandrake, Suse, Slackware, YellowDog, o cualquiera de las miles de distribuciones disponibles hoy día). Por lo que, no habrá ningún problema en su funcionamiento, así que por ese lado, seguimos con la duda.
¿Por qué Debian?
- – Por facilidad de mantenimiento (el apt-get es el mejor amigo de Debian, y Debian no sería Debian sin el apt-get).
- – Menor consumo de disco duro (al no instalar paquetes que no usaremos jamás, se ahorra bastante espacio).
- – Más control sobre lo que se configura (no dependemos de un script que mañana puede cambiar de nombre o de funcionamiento o que no funcione como esperaba)
- – Por tener paquetes más antiguos pero mucho más estables (más testeados y cuyas actualizaciones se basan en la misma versión estable)
- – Porque no instala un entorno gráfico por defecto (¿para qué queremos un sistema gráfico en un servidor que no va a tener monitor? ¿Para consumir RAM y procesador?)
- – Para disponer de mucha más documentación (Debian es una de las distribuciones más utilizadas actualmente, y más en servidores)
- – y porque el «modo texto» no es tan difícil como parece en un principio.
- – Como el número de procesos que utiliza Debian de base cabe en una pantalla sin scroll, el consumo de recursos se reduce hasta un 70% (memoria RAM, procesador, disco duro, etc…)
- – Yum es lento con avaricia (un «yum install mc» tarda MÁS incluso que un «apt-get upgrade && apt-get install mc» -que es al fin y al cabo lo que hace-)
Muchas personas utilizan otras distribuciones ya que editar un archivo en modo texto es feo y complicado (el ‘vi’ no es precisamente un editor intuitivo) pero para eso tenemos otros editores mucho más amenos y bonitos como el ‘mcedit‘ (que viene con el paquete ‘mc‘) aunque nunca está de mas, ir aprendiendo a utilizar el ‘vi’ para cuando tengamos que utilizar un editor en cualquier otra distribución.
Así que, este es el motivo por el que para servidores recomiendo Debian (servidores de lo que sea, Asterisk, Apache, Postfix, etc….)
En el próximo artículo «personal»… Por qué es mejor editar tus propios archivos de configuración en lugar de usar FreePBX. 😛