Los sistemas ope­ra­ti­vos para empresas deben cumplir con ciertos re­qui­si­tos. Para algunos, por ejemplo, es esencial que el software vinculado a la ad­mi­ni­s­tra­ción del sistema cuente con una oferta de soporte por parte del equipo de de­sa­rro­llo o del proveedor. Solo de esta forma es posible ga­ra­n­ti­zar pe­r­ma­ne­n­te­me­n­te que el software sea op­ti­mi­za­do re­gu­la­r­me­n­te, se corrijan errores, esté protegido contra malware y se detecten nuevas vu­l­ne­ra­bi­li­da­des. De la misma forma, la co­m­pa­ti­bi­li­dad regresiva, es decir, asegurar la es­ta­bi­li­dad de las in­te­r­fa­ces entre el sistema operativo y los programas, es fu­n­da­me­n­tal para el fu­n­cio­na­mie­n­to constante de las apli­ca­cio­nes uti­li­za­das en el entorno co­r­po­ra­ti­vo. Una de las so­lu­cio­nes em­pre­sa­ria­les de código abierto más populares en el sector web es la di­s­tri­bu­ción Linux CentOS.

CentOS: la historia del de­s­ce­n­die­n­te de RHEL

El Community En­te­r­pri­se Operating System (CentOS) es una di­s­tri­bu­ción de Linux que fue lanzada en marzo de 2004. El proyecto de código abierto, de­sa­rro­lla­do y apoyado por una gran comunidad, se basa en los paquetes fuente de Red Hat En­te­r­pri­se Linux (RHEL), una di­s­tri­bu­ción comercial de pago que solo se puede utilizar en co­m­bi­na­ció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 co­m­po­ne­n­tes de software in­te­gra­dos en las diversas licencias libres. Esto permite a los de­sa­rro­lla­do­res apoyarse sin ningún coste en el código fuente de RHEL durante la pro­gra­ma­ción como parte del proyecto CentOS.

Todas las versiones de CentOS pu­bli­ca­das hasta ahora se apoyan en los la­n­za­mie­n­tos equi­va­le­n­tes de RHEL y son también co­m­pa­ti­bles en binario con el producto Red Hat. Todas las apli­ca­cio­nes di­s­po­ni­bles para el sistema em­pre­sa­rial comercial funcionan sin necesidad de un co­m­pi­la­dor adicional y sin ningún tipo de re­s­tri­c­cio­nes. A pri­n­ci­pios de 2014, los empleados de Red Hat y los de­sa­rro­lla­do­res del proyecto CentOS, que seguía siendo in­de­pe­n­die­n­te, se reunieron en la llamada “Governing Board” (junta de gobierno), equipo que desde entonces lidera el ulterior de­sa­rro­llo de la di­s­tri­bu­ción y coordina a los di­fe­re­n­tes grupos de trabajo (núcleo, soporte, diseño, etc.) in­vo­lu­cra­dos.

¿Cuáles son las pa­r­ti­cu­la­ri­da­des de CentOS?

Al igual que su modelo, CentOS es una pla­ta­fo­r­ma co­r­po­ra­ti­va destinada, ese­n­cia­l­me­n­te, a su im­ple­me­n­ta­ción en empresas y or­ga­ni­za­cio­nes de gran tamaño. En principio, la di­s­tri­bu­ción de Linux también se puede utilizar en el sector privado, pero esta no ha sido la prioridad de sus de­sa­rro­lla­do­res. Además, esta di­s­tri­bu­ción de Linux goza de gran po­pu­la­ri­dad como sistema operativo para se­r­vi­do­res web: según w3techs.com (enero 2017) solo Ubuntu y Debian se utilizan con mayor fre­cue­n­cia. Como solución co­r­po­ra­ti­va, CentOS cuenta con las mismas ca­ra­c­te­rí­s­ti­cas que ya hacen de RHEL una solución muy valiosa:

  • Es­ta­bi­li­dad: CentOS se de­sa­rro­lla de forma continua con el fin de ofrecer la pla­ta­fo­r­ma perfecta para el software más reciente. En este proceso no se pierde de vista al aspecto de la co­m­pa­ti­bi­li­dad con las apli­ca­cio­nes más antiguas. Cada paso en el de­sa­rro­llo orientado al futuro siempre se hace pensando en ga­ra­n­ti­zar la es­ta­bi­li­dad de los co­m­po­ne­n­tes activos. Además, este sistema convence con un gran re­n­di­mie­n­to en cuanto a la vi­r­tua­li­za­ción (basada en KVM o máquina virtual basada en el núcleo) y con una alta di­s­po­ni­bi­li­dad, siendo esta la principal razón por la que esta di­s­tri­bu­ción da la talla en el fu­n­cio­na­mie­n­to de se­r­vi­do­res en la nube y de vi­r­tua­li­za­ción.
  • Seguridad: este aspecto es hoy más im­po­r­ta­n­te que nunca, con lo que CentOS como solución co­r­po­ra­ti­va basada en RHEL re­pre­se­n­ta la mejor elección. Gracias a la detección proactiva de vu­l­ne­ra­bi­li­da­des por parte del equipo de seguridad de Red Hat, su código fuente su­b­ya­ce­n­te cuenta con un elevado nivel en seguridad. Además, a la hora de integrar nuevos programas o ac­tua­li­zar CentOS, la co­m­pro­ba­ción de la seguridad y de errores tienen prioridad. Por otra parte, la di­s­tri­bu­ción de Linux soporta la extensión del kernel SELinux (Security Enhanced Linux), un producto de código abierto que cuenta con la co­la­bo­ra­ción de Red Hat y la NSA. Este programa im­ple­me­n­ta controles de au­to­ri­za­ción para el uso de los recursos in­fo­r­má­ti­cos, pro­te­gie­n­do, de este modo, contra accesos no au­to­ri­za­dos.
  • Ciclos largos de ma­n­te­ni­mie­n­to y soporte: desde la primera versión de CentOS, tanto los la­n­za­mie­n­tos grandes como los pequeños han estado es­tre­cha­me­n­te vi­n­cu­la­dos a las pu­bli­ca­cio­nes de RHEL. Para la ada­p­ta­ción del código, proceso ya su­fi­cie­n­te­me­n­te rodado, el equipo de de­sa­rro­llo 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 re­fe­re­n­cia a la pu­bli­ca­ció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 di­re­c­tri­ces para el periodo de soporte técnico: está previsto un soporte general de hasta 7 años y un su­mi­ni­s­tro de hasta 10 años de ac­tua­li­za­cio­nes de seguridad (hasta la versión 5.0 eran solo 4 y 7 años).

Como ocurre con RHEL, la in­s­ta­la­ció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 co­m­po­ne­n­tes de Red Hat. Incluso cuando ge­ne­ra­l­me­n­te los programas de RHEL se ejecutan en su homólogo libre, es común que carezca de las ce­r­ti­fi­ca­cio­nes y el apoyo pro­po­r­cio­na­do por el fa­bri­ca­n­te y, por lo tanto, no se garantiza su correcto fu­n­cio­na­mie­n­to con CentOS.

CentOS: ¿cuáles son los re­qui­si­tos del sistema para la di­s­tri­bu­ción?

Ló­gi­ca­me­n­te, de­pe­n­die­n­do de la versión de CentOS, los re­qui­si­tos de hardware pueden ser muy di­fe­re­n­tes: 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. Adi­cio­na­l­me­n­te se re­co­mie­n­dan 5 GB de memoria (o al menos 1GB). Para co­n­tro­lar­lo en la interfaz de línea de comandos, que ya no está incluida como opción in­de­pe­n­die­n­te en CentOS 7, la versión 6 demanda 392 MB y, en ar­qui­te­c­tu­ras que no pe­r­te­ne­cen a la familia x86, 1 GB de al­ma­ce­na­mie­n­to. Por defecto, la an­te­rio­r­me­n­te me­n­cio­na­da versión 7 de la di­s­tri­bu­ción de Linux utiliza 1 GB de RAM y 20 GB (o al menos 10 GB) de espacio en disco duro.

Los di­fe­re­n­tes la­n­za­mie­n­tos de la de­s­ce­n­de­n­cia RHEL también difieren en cuanto a las ar­qui­te­c­tu­ras de hardware co­m­pa­ti­bles. Muchos de los puertos para la versión 7 fueron creados y añadidos po­s­te­rio­r­me­n­te por el grupo de trabajo “Al­te­r­na­ti­ve Ar­chi­te­c­tu­re Special Interest Group” (AltArch SIG). En la siguiente tabla echamos un vistazo a las posibles ar­qui­te­c­tu­ras de los sistemas:

Ar­qui­te­c­tu­ra 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 (Pro­ce­sa­do­res Sun SPARC) Sí No No No
Sistemas Alpha (Pro­ce­sa­do­res DEC Alpha) Sí No No No
Sistemas armhfp (arm32) No No No Sí
Sistemas aarch64 (arm64) No No No Sí

Ca­ra­c­te­rí­s­ti­cas de CentOS

La actual versión 7.0 de CentOS (enero 2017) se basa en el núcleo de Linux 3.10.0, in­clu­ye­n­do la extensión de seguridad me­n­cio­na­da an­te­rio­r­me­n­te SELinux, y ha im­ple­me­n­ta­do GCC (GNU Compiler Co­lle­c­tion). Esta colección contiene el co­m­pi­la­dor para los lenguajes de pro­gra­ma­ción más im­po­r­ta­n­tes, como por ejemplo C, C++ y Java. Esta di­s­tri­bu­ción de Linux también es co­m­pa­ti­ble con Hy­pe­r­th­rea­di­ng (la división de un pro­ce­sa­dor en dos pro­ce­sa­do­res virtuales para aumentar el re­n­di­mie­n­to), Plug and Play, Bluetooth y la sexta versión del protocolo de Internet (IPv6). Para las versiones an­te­rio­res de CentOS 5 y 6 existen bi­blio­te­cas de co­m­pa­ti­bi­li­dad. El paquete estándar de la di­s­tri­bu­ción también incluye los si­guie­n­tes co­m­po­ne­n­tes de software:

  • Servidor web: httpd 2.4.6 (Apache)
  • LAN Manager: Samba-4.1.x
  • Base de datos: MariaDB 5.5.x, Po­s­t­gre­S­QL 9.2.x
  • Lenguaje de script: PHP 5.4, Python 2.7, Perl 5.16.3
  • Interfaz de es­cri­to­rio: Gnome 3.14, KDE 4.14
  • Servidor de pantalla: X.org 7.7
  • Cliente de correo ele­c­tró­ni­co: Evolution 3.12, Thu­n­de­r­bi­rd 45
  • Navegador web: Firefox 45
  • Office Suite: Li­breO­f­fi­ce 4.3.7

Special Interest Groups: los grupos de trabajo de la comunidad CentOS

Con el es­ta­ble­ci­mie­n­to de la Governing Board se es­tru­c­tu­ró el de­sa­rro­llo ulterior del sistema Linux. Desde entonces, di­fe­re­n­tes equipos de trabajo (co­m­pue­s­tos por diversos miembros de la comunidad) se han co­n­ce­n­tra­do en el propósito de ampliar la di­s­tri­bu­ción o de optimizar aspectos fu­n­cio­na­les del proyecto CentOS (in­frae­s­tru­c­tu­ra, do­cu­me­n­ta­ció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 in­di­vi­dua­les gozan de un alto grado de autonomía y son los pri­n­ci­pa­les re­s­po­n­sa­bles del proceso de de­sa­rro­llo. Antes de que el resultado se reconozca y publique como producto oficial de CentOS, se necesita la apro­ba­ción de la junta de gobierno.

Los tres tipos oficiales de Special Interest Groups son:

  1. Core SIG: este se encarga de de­sa­rro­llar co­n­te­ni­dos re­le­va­n­tes para la versión principal de la di­s­tri­bu­ción de Linux. Adi­cio­na­l­me­n­te, coordinan el proceso de de­sa­rro­llo de cualquier ac­tua­li­za­ción de RHEL en­ca­r­gá­n­do­se, a la vez, de su firma y pu­bli­ca­ción. También se ocupan de elaborar di­re­c­tri­ces a través de Git para su pu­bli­ca­ción.
  2. Variant SIG: este es el grupo de trabajo in­vo­lu­cra­do si, como co­n­se­cue­n­cia de una nueva pu­bli­ca­ción, se quiere modificar el núcleo de CentOS o extender in­de­pe­n­die­n­te­me­n­te del la­n­za­mie­n­to oficial de una serie. El requisito para esto es que el nuevo proyecto re­pre­se­n­te un beneficio concreto para uno de los grupos de la comunidad. Todos los paquetes de software uti­li­za­dos adi­cio­na­l­me­n­te deben sumarse a las licencias del proyecto CentOS, así como extraerse y emitirse según los es­tá­n­da­res. Otra de las tareas del grupo es la de su­pe­r­vi­sar el código escrito por otros usuarios y publicado en el re­po­si­to­rio Git.
  3. Fu­n­c­tio­nal SIG: este grupo tiene la tarea de crear y gestionar co­m­po­ne­n­tes im­po­r­ta­n­tes del proyecto CentOS. El objetivo de estos grupos de trabajo es facilitar al máximo la pa­r­ti­ci­pa­ción de los usuarios in­te­re­sa­dos en el de­sa­rro­llo. Además, el propósito de este SIG radica en el fo­r­ta­le­ci­mie­n­to de la comunidad, en la medida en la que las re­s­po­n­sa­bi­li­da­des y la carga de trabajo se di­s­tri­bu­ye se­le­c­ti­va­me­n­te y de acuerdo con las re­s­pe­c­ti­vas ca­pa­ci­da­des de los miembros activos.

Uno de los pri­n­ci­pa­les grupos de trabajo es el ya me­n­cio­na­do 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 co­n­s­tru­c­to del núcleo y está diseñada es­pe­cí­fi­ca­me­n­te para el uso de co­n­te­ne­do­res Docker. Algunos de los proyectos que se en­cue­n­tran en su pla­ni­fi­ca­ción o de­sa­rro­llo son, entre otros:

  • Public CI: in­frae­s­tru­c­tu­ra para pruebas públicas
  • Hardening: variante con un enfoque en el núcleo en­du­re­ci­do del sistema y del código fuente
  • Cloud Instance: di­s­tri­bu­ción op­ti­mi­za­da por CentOS Linux para nubes públicas o privadas
  • PaaS: Platform-as-a-Service sobre la base de CentOS
  • NFV: Network Functions Vi­r­tua­li­za­tion pro­po­r­cio­na un conjunto de software que sirve como marco básico para la di­s­tri­bu­ción y ve­ri­fi­ca­ció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 co­rre­s­po­n­die­n­te desde el Download Center de CentOS Wiki, el centro oficial de descargas. Además de la versión actual, aquí también en­cue­n­tras archivos de in­s­ta­la­ción y re­po­si­to­rios con versiones an­te­rio­res de CentOS. Después de de­s­ca­r­gar­las en CD, DVD u otro medio de al­ma­ce­na­mie­n­to, las imágenes se tra­n­s­fie­ren a una unidad flash USB, en algunos casos tienes a tu di­s­po­si­ción 3 variantes adi­cio­na­les además de la in­s­ta­la­ción estándar:

  • LiveCD: este tipo de imágenes de arranque pro­po­r­cio­nan un entorno de ejecución que se inicia di­re­c­ta­me­n­te desde el medio de al­ma­ce­na­mie­n­to sin que sea necesaria ninguna in­s­ta­la­ción.
  • ServerCD: con esta imagen tendrás una versión in­s­ta­la­ble a mano, equipada con un paquete de alcance limitado para in­s­ta­la­cio­nes del servidor.
  • Ne­tI­n­s­ta­ll: en algunos casos, estas imágenes suelen estar cla­si­fi­ca­das como “minimal” en el resumen de descargas, pri­n­ci­pa­l­me­n­te debido a que permiten una in­s­ta­la­ción reducida de red que está enlazada a la versión actual. Con el Ne­tI­n­s­ta­ll 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 in­s­ta­la­ción de CentOS. Para ello, solo tienes que se­le­c­cio­nar el botón “Install CentOS” y confirmar la selección con la tecla [Enter]. A co­n­ti­nua­ción, en la variante mínima Ne­tI­n­s­ta­ll serás guiado en los si­guie­n­tes pasos por el asistente gráfico de in­s­ta­la­ción. Por defecto, el idioma pre­de­te­r­mi­na­do es el inglés, aunque puedes cambiarlo po­s­te­rio­r­me­n­te.

CentOS Linux: co­n­clu­sio­nes

CentOS no suele co­n­si­de­rar­se como una de las primeras opciones dentro de los sucesores más potentes de Linux. Sin embargo, esta di­s­tri­bu­ción cuenta con todo lo necesario para suplir las ne­ce­si­da­des de su sector objetivo: el co­r­po­ra­ti­vo y de los se­r­vi­do­res. Así, quien esté buscando un sistema estable para usarlo durante un tiempo pro­lo­n­ga­do, no se equi­vo­ca­rá al de­ca­n­tar­se por esta mo­di­fi­ca­ción de RHEL. CentOS no ofrece el apoyo exclusivo de otras ofertas co­me­r­cia­les y tampoco cuenta con la ce­r­ti­fi­ca­ción de ningún software, como es el caso del sistema Red Hat. Ahora bien, gracias a su co­m­pa­ti­bi­li­dad binaria, este sistema de código abierto hace posible que di­fe­re­n­tes apli­ca­cio­nes y ca­ra­c­te­rí­s­ti­cas de seguridad funcionen sin ningún problema, gozando, además, de la ventaja de ser to­ta­l­me­n­te gratuito.

Ir al menú principal