¿Qué es CentOS? Versiones CentOS y requisitos del sistema
Los sistemas operativos para empresas deben cumplir con ciertos requisitos. Para algunos, por ejemplo, es esencial que el software vinculado a la administración del sistema cuente con una oferta de soporte por parte del equipo de desarrollo o del proveedor. Solo de esta forma es posible garantizar permanentemente que el software sea optimizado regularmente, se corrijan errores, esté protegido contra malware y se detecten nuevas vulnerabilidades. De la misma forma, la compatibilidad regresiva, es decir, asegurar la estabilidad de las interfaces entre el sistema operativo y los programas, es fundamental para el funcionamiento constante de las aplicaciones utilizadas en el entorno corporativo. Una de las soluciones empresariales de código abierto más populares en el sector web es la distribución Linux CentOS.
CentOS: la historia del descendiente de RHEL
El Community Enterprise Operating System (CentOS) es una distribución de Linux que fue lanzada en marzo de 2004. El proyecto de código abierto, desarrollado y apoyado por una gran comunidad, se basa en los paquetes fuente de Red Hat Enterprise Linux (RHEL), una distribución comercial de pago que solo se puede utilizar en combinación con contratos de soporte. Red Hat, el proveedor de RHEL, está obligado a publicar (como recurso open source) el código fuente de los componentes de software integrados en las diversas licencias libres. Esto permite a los desarrolladores apoyarse sin ningún coste en el código fuente de RHEL durante la programación como parte del proyecto CentOS.
Todas las versiones de CentOS publicadas hasta ahora se apoyan en los lanzamientos equivalentes de RHEL y son también compatibles en binario con el producto Red Hat. Todas las aplicaciones disponibles para el sistema empresarial comercial funcionan sin necesidad de un compilador adicional y sin ningún tipo de restricciones. A principios de 2014, los empleados de Red Hat y los desarrolladores del proyecto CentOS, que seguía siendo independiente, se reunieron en la llamada “Governing Board” (junta de gobierno), equipo que desde entonces lidera el ulterior desarrollo de la distribución y coordina a los diferentes grupos de trabajo (núcleo, soporte, diseño, etc.) involucrados.
¿Cuáles son las particularidades de CentOS?
Al igual que su modelo, CentOS es una plataforma corporativa destinada, esencialmente, a su implementación en empresas y organizaciones de gran tamaño. En principio, la distribución de Linux también se puede utilizar en el sector privado, pero esta no ha sido la prioridad de sus desarrolladores. Además, esta distribución de Linux goza de gran popularidad como sistema operativo para servidores web: según w3techs.com (enero 2017) solo Ubuntu y Debian se utilizan con mayor frecuencia. Como solución corporativa, CentOS cuenta con las mismas características que ya hacen de RHEL una solución muy valiosa:
- Estabilidad: CentOS se desarrolla de forma continua con el fin de ofrecer la plataforma perfecta para el software más reciente. En este proceso no se pierde de vista al aspecto de la compatibilidad con las aplicaciones más antiguas. Cada paso en el desarrollo orientado al futuro siempre se hace pensando en garantizar la estabilidad de los componentes activos. Además, este sistema convence con un gran rendimiento en cuanto a la virtualización (basada en KVM o máquina virtual basada en el núcleo) y con una alta disponibilidad, siendo esta la principal razón por la que esta distribución da la talla en el funcionamiento de servidores en la nube y de virtualización.
- Seguridad: este aspecto es hoy más importante que nunca, con lo que CentOS como solución corporativa basada en RHEL representa la mejor elección. Gracias a la detección proactiva de vulnerabilidades por parte del equipo de seguridad de Red Hat, su código fuente subyacente cuenta con un elevado nivel en seguridad. Además, a la hora de integrar nuevos programas o actualizar CentOS, la comprobación de la seguridad y de errores tienen prioridad. Por otra parte, la distribución de Linux soporta la extensión del kernel SELinux (Security Enhanced Linux), un producto de código abierto que cuenta con la colaboración de Red Hat y la NSA. Este programa implementa controles de autorización para el uso de los recursos informáticos, protegiendo, de este modo, contra accesos no autorizados.
- Ciclos largos de mantenimiento y soporte: desde la primera versión de CentOS, tanto los lanzamientos grandes como los pequeños han estado estrechamente vinculados a las publicaciones de RHEL. Para la adaptación del código, proceso ya suficientemente rodado, el equipo de desarrollo prevé un periodo de 2 a 6 semanas (o de unas pocas horas si se trata de pequeños cambios). Los números de cada versión se mantienen (por ejemplo RHEL 6.2 à CentOS 6.2), aunque desde la versión 7 se añade una marca temporal (timestamp) que hace referencia a la publicación del código base. Así, por ejemplo, la fuente de la versión 7.0-1406 fue publicada en junio de 2014. Además del control de versiones, CentOS también se ha ocupado de las directrices para el periodo de soporte técnico: está previsto un soporte general de hasta 7 años y un suministro de hasta 10 años de actualizaciones de seguridad (hasta la versión 5.0 eran solo 4 y 7 años).
Como ocurre con RHEL, la instalación se realiza a través del amigable gestor gráfico Anaconda. En términos de gestión de paquetes (RPM) y gestión de software (yum), CentOS utiliza los componentes de Red Hat. Incluso cuando generalmente los programas de RHEL se ejecutan en su homólogo libre, es común que carezca de las certificaciones y el apoyo proporcionado por el fabricante y, por lo tanto, no se garantiza su correcto funcionamiento con CentOS.
CentOS: ¿cuáles son los requisitos del sistema para la distribución?
Lógicamente, dependiendo de la versión de CentOS, los requisitos de hardware pueden ser muy diferentes: desde una interfaz gráfica de usuario, CentOS funciona con 512 MB de memoria y en la terminal de líneas de comando solo necesita 120 MB. Adicionalmente se recomiendan 5 GB de memoria (o al menos 1GB). Para controlarlo en la interfaz de línea de comandos, que ya no está incluida como opción independiente en CentOS 7, la versión 6 demanda 392 MB y, en arquitecturas que no pertenecen a la familia x86, 1 GB de almacenamiento. Por defecto, la anteriormente mencionada versión 7 de la distribución de Linux utiliza 1 GB de RAM y 20 GB (o al menos 10 GB) de espacio en disco duro.
Los diferentes lanzamientos de la descendencia RHEL también difieren en cuanto a las arquitecturas de hardware compatibles. Muchos de los puertos para la versión 7 fueron creados y añadidos posteriormente por el grupo de trabajo “Alternative Architecture Special Interest Group” (AltArch SIG). En la siguiente tabla echamos un vistazo a las posibles arquitecturas de los sistemas:
Arquitectura | CentOS 4 | CentOS 5 | CentOS 6 | CentOS 7 |
---|---|---|---|---|
Sistemas i386 (AMD, Via, Pentium de 32 bits) | Sí | Sí | Sí | Sí |
Sistemas x86_64 (AMD64/EM64T) | Sí | Sí | Sí | Sí |
Sistemas ia64 (Itanium2) | Sí | No | No | No |
Sistemas s390/s390x (IBM zSeries & IBM S/390) | Sí | No | No | No |
Sistemas ppc/ppc64 (IBM Power, Mac) | Sí | No | No | No |
Sistemas SPARC (Procesadores Sun SPARC) | Sí | No | No | No |
Sistemas Alpha (Procesadores DEC Alpha) | Sí | No | No | No |
Sistemas armhfp (arm32) | No | No | No | Sí |
Sistemas aarch64 (arm64) | No | No | No | Sí |
Características de CentOS
La actual versión 7.0 de CentOS (enero 2017) se basa en el núcleo de Linux 3.10.0, incluyendo la extensión de seguridad mencionada anteriormente SELinux, y ha implementado GCC (GNU Compiler Collection). Esta colección contiene el compilador para los lenguajes de programación más importantes, como por ejemplo C, C++ y Java. Esta distribución de Linux también es compatible con Hyperthreading (la división de un procesador en dos procesadores virtuales para aumentar el rendimiento), Plug and Play, Bluetooth y la sexta versión del protocolo de Internet (IPv6). Para las versiones anteriores de CentOS 5 y 6 existen bibliotecas de compatibilidad. El paquete estándar de la distribución también incluye los siguientes componentes de software:
- Servidor web: httpd 2.4.6 (Apache)
- LAN Manager: Samba-4.1.x
- Base de datos: MariaDB 5.5.x, PostgreSQL 9.2.x
- Lenguaje de script: PHP 5.4, Python 2.7, Perl 5.16.3
- Interfaz de escritorio: Gnome 3.14, KDE 4.14
- Servidor de pantalla: X.org 7.7
- Cliente de correo electrónico: Evolution 3.12, Thunderbird 45
- Navegador web: Firefox 45
- Office Suite: LibreOffice 4.3.7
Special Interest Groups: los grupos de trabajo de la comunidad CentOS
Con el establecimiento de la Governing Board se estructuró el desarrollo ulterior del sistema Linux. Desde entonces, diferentes equipos de trabajo (compuestos por diversos miembros de la comunidad) se han concentrado en el propósito de ampliar la distribución o de optimizar aspectos funcionales del proyecto CentOS (infraestructura, documentación, etc.). Gracias al código open source, también es posible hacer cambios en el sistema sin formar parte de ninguno de los Special Interest Groups (SIG). No obstante, estos no se pueden publicar bajo la marca “CentOS”. Los SIG individuales gozan de un alto grado de autonomía y son los principales responsables del proceso de desarrollo. Antes de que el resultado se reconozca y publique como producto oficial de CentOS, se necesita la aprobación de la junta de gobierno.
Los tres tipos oficiales de Special Interest Groups son:
- Core SIG: este se encarga de desarrollar contenidos relevantes para la versión principal de la distribución de Linux. Adicionalmente, coordinan el proceso de desarrollo de cualquier actualización de RHEL encargándose, a la vez, de su firma y publicación. También se ocupan de elaborar directrices a través de Git para su publicación.
- Variant SIG: este es el grupo de trabajo involucrado si, como consecuencia de una nueva publicación, se quiere modificar el núcleo de CentOS o extender independientemente del lanzamiento oficial de una serie. El requisito para esto es que el nuevo proyecto represente un beneficio concreto para uno de los grupos de la comunidad. Todos los paquetes de software utilizados adicionalmente deben sumarse a las licencias del proyecto CentOS, así como extraerse y emitirse según los estándares. Otra de las tareas del grupo es la de supervisar el código escrito por otros usuarios y publicado en el repositorio Git.
- Functional SIG: este grupo tiene la tarea de crear y gestionar componentes importantes del proyecto CentOS. El objetivo de estos grupos de trabajo es facilitar al máximo la participación de los usuarios interesados en el desarrollo. Además, el propósito de este SIG radica en el fortalecimiento de la comunidad, en la medida en la que las responsabilidades y la carga de trabajo se distribuye selectivamente y de acuerdo con las respectivas capacidades de los miembros activos.
Uno de los principales grupos de trabajo es el ya mencionado AltArch SIG, que ha publicado varios puertos de la versión 7 de CentOS. Sin embargo, la primera versión real es CentOS Atomic Host, publicada por el SIG CentOS Atomic. Esta se basa en el constructo del núcleo y está diseñada específicamente para el uso de contenedores Docker. Algunos de los proyectos que se encuentran en su planificación o desarrollo son, entre otros:
- Public CI: infraestructura para pruebas públicas
- Hardening: variante con un enfoque en el núcleo endurecido del sistema y del código fuente
- Cloud Instance: distribución optimizada por CentOS Linux para nubes públicas o privadas
- PaaS: Platform-as-a-Service sobre la base de CentOS
- NFV: Network Functions Virtualization proporciona un conjunto de software que sirve como marco básico para la distribución y verificación de las funciones de redes virtuales
- Promo: grupo de trabajo que se ocupa de la imagen pública de CentOS
Así se instala CentOS
Para instalar el sistema operativo de código abierto en tu propio ordenador o servidor tienes que descargar primero los puertos del servidor y la versión correspondiente desde el Download Center de CentOS Wiki, el centro oficial de descargas. Además de la versión actual, aquí también encuentras archivos de instalación y repositorios con versiones anteriores de CentOS. Después de descargarlas en CD, DVD u otro medio de almacenamiento, las imágenes se transfieren a una unidad flash USB, en algunos casos tienes a tu disposición 3 variantes adicionales además de la instalación estándar:
- LiveCD: este tipo de imágenes de arranque proporcionan un entorno de ejecución que se inicia directamente desde el medio de almacenamiento sin que sea necesaria ninguna instalación.
- ServerCD: con esta imagen tendrás una versión instalable a mano, equipada con un paquete de alcance limitado para instalaciones del servidor.
- NetInstall: en algunos casos, estas imágenes suelen estar clasificadas como “minimal” en el resumen de descargas, principalmente debido a que permiten una instalación reducida de red que está enlazada a la versión actual. Con el NetInstall ISO de CentOS 6.2 no es posible instalar, por ejemplo, la versión 6.3.
Una vez has creado el medio de arranque deseado, puedes comenzar con la instalación de CentOS. Para ello, solo tienes que seleccionar el botón “Install CentOS” y confirmar la selección con la tecla [Enter]. A continuación, en la variante mínima NetInstall serás guiado en los siguientes pasos por el asistente gráfico de instalación. Por defecto, el idioma predeterminado es el inglés, aunque puedes cambiarlo posteriormente.
CentOS Linux: conclusiones
CentOS no suele considerarse como una de las primeras opciones dentro de los sucesores más potentes de Linux. Sin embargo, esta distribución cuenta con todo lo necesario para suplir las necesidades de su sector objetivo: el corporativo y de los servidores. Así, quien esté buscando un sistema estable para usarlo durante un tiempo prolongado, no se equivocará al decantarse por esta modificación de RHEL. CentOS no ofrece el apoyo exclusivo de otras ofertas comerciales y tampoco cuenta con la certificación de ningún software, como es el caso del sistema Red Hat. Ahora bien, gracias a su compatibilidad binaria, este sistema de código abierto hace posible que diferentes aplicaciones y características de seguridad funcionen sin ningún problema, gozando, además, de la ventaja de ser totalmente gratuito.