• GNU/Linux en el mundo

  • GNU/Linux para equipos de escritorio

    GNU/Linux para equipos de escritorio

    Detalles
  • Administración de Servidores GNU/Linux

    Administración de Servidores GNU/Linux

    Detalles

Ing. Rubén Bernardo Guzmán Mercado


En mi carrera en tecnologías de la información, he tenido la oportunidad durante 19 años de observar la evolución de los distintos sistemas operativos tanto para equipos de escritorio, como para servidores, de igual manera con los sistemas distribuidos de red, en su mayoría trabajando con Microsoft Windows, Linux y MacOS.

En lo que respecta al sistema operativo GNU/Linux, puedo decir que es uno de los mejores sistemas operativos para servidor que he utilizado, principalmente por su estabilidad, seguridad y un inteligente uso de los recursos, así como por su licenciamiento, que permite utilizarlo de manera libre.

Decidí realizar este sitio dedicado al sistema operativo GNU/Linux como resultado al esfuerzo obtenido durante los últimos años de aprendizaje de este excelente sistema operativo y aplicaciones Open Source, ya que es importante para mí, él compartir los conocimientos y experiencias obtenidas durante este tiempo.

siguente

Opciones

          

GNU/Linux

Comandos

El trabajar en la línea de comando del sistema operativo GNU/Linux es la forma más ágil y poderosa para configurarlo conforme a los requerimientos y necesidades de acuerdo al contexto en que será utilizado.

Detalles

Herramientas

Las herramientas con las que cuenta GNU/Linux es interminable, tenemos las propias que se incluyen con el sistema operativo y por supuesto las aplicaciones Open Source que por sus bondades de licenciamiento hace posible que encontremos mucha variedad, sin restricciones de uso, recordemos siempre habrá una solución o alternativa.

Efectividad

La optimización de infraestructura y lo eficiente de las soluciones GNU/Linux, tienen un impacto inminente en la economía de las empresas con servidores de alta disponibilidad, así como en el recurso humano y por supuesto; el considerable ahorro monetario en licenciamiento comercial frente al software libre.


Conceptos Iniciales

¿Qué es GNU/Linux?

Iniciamos definiendo que Linux es un sistema operativo, un conjunto de programas que le permiten interactuar con su equipo de cómputo.

Entonces, un sistema operativo consiste en varios programas fundamentales que necesita el equipo de cómputo para poder comunicar y recibir instrucciones de los usuarios; tales como leer y escribir datos en el disco duro, por ejemplo; controlar el uso de la memoria; y ejecutar otros programas.


La parte más importante de un sistema operativo es el núcleo, para un sistema GNU/Linux, Linux es el núcleo.

El resto del sistema consiste en otros programas, muchos de los cuales fueron escritos por o para el proyecto GNU, de acuerdo a la filosofía de la corriente, dado que el núcleo de Linux en sí mismo no forma un sistema operativo funcional, la forma más correcta es utilizar el término “GNU/Linux”, sin embargo la mayor parte de las personas, lo llaman de manera informal “Linux”.

Debemos considerar que el origen de Linux está modelado como un sistema operativo tipo Unix, se diseñó para que fuera un sistema multitarea y multiusuario, dichas particulares son suficientes para diferenciar a Linux de otros sistemas operativos más conocidos, sin embargo, Linux es más diferente de lo que se pueda imaginar:

  • Nadie es dueño de Linux, a diferencia de otros sistemas operativos.
  • Gran parte de su desarrollo lo realizan voluntarios de forma altruista.
  • No es necesario comprar una licencia para instalarlo y utilizarlo en un equipo informático.
  • Compatible con UNIX
  • Proporciona una interfaz de comando y una interfaz gráfica, que lo convierte en un sistema muy atractivo.

Resumen Historia

En 1984 comenzó el desarrollo de lo que más tarde sería GNU/Linux cuando la Free Software Foundation, comenzó a desarrollar un sistema operativo libre de tipo Unix, llamado GNU, mismo que ha desarrollado un conjunto de herramientas de software libre para ser utilizados por Unix™ y sistemas operativos tipo Unix como Linux, estas herramientas permiten a los usuarios desarrollar tareas que van desde lo más elemental, como copiar o eliminar archivos del sistema, hasta los niveles avanzados, como escribir y compilar programas o hacer edición sofisticada en una gran variedad de formatos de documento, monitoreo y administración de funciones.

El establecimiento de un marco de referencia moral, político y legal para el software libre, como un modelo de desarrollo y distribución alternativo al software privativo, es impulsado por Richard Stallman, tambíen es inventor del concepto de copyleft, aun cuando no del término, consiste en un método para licenciar obras contempladas por el derecho de autor, de tal forma que su uso y modificación así como de sus derivados permanezcan siempre permitidos.

Aun cuando hay muchos grupos e individuos que han contribuido a Linux, la Free Software Foundation ha sido quien más ha contribuido, no sólo creó la mayor parte de las herramientas que se utilizan en Linux sino también la filosofía y comunidad que hizo que Linux fuera posible.

El núcleo Linux apareció por primera vez en 1991, cuando un estudiante de informática finlandés llamado Linus Torvalds anunció en el grupo de noticias de USENET comp.os.minix, una primera versión de un núcleo de reemplazo para Minix.

El nombre de Linux proviene del nombre de su autor Linus y del sistema operativo UNIX. No obstante, su verdadero nombre es GNU/Linux, ya que el sistema se distribuye bajo licencia GNU GPL (General Public License).

Linus Torvalds sigue coordinando el trabajo de varios cientos de desarrolladores con la ayuda de cierto número de responsables de subsistemas, también existe una página oficial del núcleo Linux, ahí se puede encontrar un excelente resumen semanal de las discusiones en la lista de correo linux-kernel en Kernel Traffic.


Para más referencias consulte la página de Linux Foundation.

¿Se puede confiar en Linux?

Este es un nuevo dogma, la seguridad no nos permite implementarla para luego simplemente olvidarnos de ella, debe ser parte integrante de cualquier empresa y de cualquier estrategia de implementación, en cualquier ambiente, no importa si es Linux, Windows, DB4, Unix, etc.


La mejor seguridad se implementa en capas.

Como administradores de IT, debemos tener presente que la seguridad no es una función, la seguridad es integral, por lo que cuando se trata de la seguridad de la IT, el sistema operativo desempeña una función en un panorama más amplio, que comprende desde el Hardware físico hasta las personas con acceso a ese Hardware, así como las aplicaciones implementadas en él, es muy importante contar con una perspectiva más amplia de la seguridad, también tiene en cuenta la gestión de riesgos, el cumplimiento y el control, cuidado, no basta con proteger un solo aspecto; se debe abordar todos.

Hablando de la plataforma Linux, es importante saber que Linux es modular, su seguridad se puede administrar más fácilmente, ya que cada una de las partes que conforman el sistema operativo Linux tiene la capacidad de ser auditada, supervisada y protegida, cuenta con herramientas y módulos incorporados, como SELinux, que permiten bloquear, supervisar, informar y solucionar los problemas de seguridad.

Una de las banderas de la seguridad en este sistema es que hay un esfuerzo conjunto dentro de Linux para separar el espacio del usuario del espacio del kernel; esto significa que los procesos que se ejecutan en el sistema no son todos necesariamente accesibles para los usuarios, depende de los privilegios por función y de la misma manera, los procesos del usuario no están disponibles para el sistema en su totalidad, este es el concepto fundamental que permite a tecnologías como los contenedores y la virtualización, requieran cargas de trabajo y permisos diferentes, independientes y seguros.

Su sistema de seguridad cuenta con un programa que aísla al usuario del núcleo, conocido como Shell o intérprete de comando, su función es interpretar las órdenes o aplicaciones que el usuario mande al sistema, desde una terminal en modo texto o desde un entorno gráfico, y traducirlas a instrucciones que el sistema operativo entienda.

Es menos probable que un sistema Linux se colapse, además tiene mejor capacidad para ejecutar múltiples programas al mismo tiempo y es más seguro que muchos otros sistemas operativos, siendo estas muchas de las ventajas de tener un sistema operativo Linux y debido a estas ventajas, Linux es el sistema operativo que ha experimentado mayor crecimiento en el mercado de los servidores.

Por supuesto, no existe un sistema operativo perfectamente seguro, pero hay medidas que podemos implementar y obtener las ventajas que Linux ofrece para estar protegido.

¿Qué se puede hacer con Linux?

En la actualidad Linux, tiene una gran presencia, ya que puede servir como base para casi todos los tipos de iniciativas de TI, incluidos los contenedores, las aplicaciones nativas de la nube y la seguridad, el campo de acción es la base de algunos de los sectores y empresas más grandes del mundo, desde los sitios web que comparten conocimientos, como Wikipedia y New York Stock Exchange, hasta los dispositivos móviles que utilizan Android, que es una distribución de uso específico del kernel de Linux con software complementario.

Con el transcurso de los años, Linux se ha convertido en el estándar para las cargas de trabajo fundamentales, de alta disponibilidad y confiabilidad en los centros de datos y las implementaciones de la nube, con sus distribuciones, sistemas objetivo, dispositivos y capacidades, todo se basa en las necesidades del usuario y las cargas de trabajo.

Considerando a la empresa privativa Microsoft, paulatinamente ha adoptado a Linux y Open Source, con otro perfil; creó un SQL Server para Linux y adaptó su marco .NET (.NET Core/Mono) al open source, de tal forma que cualquier plataforma lo pueda ejecutar, y así permitir que los desarrolladores que usan Linux creen aplicaciones con ese ambiente, considero esto más como una acción comercial, que un aporte a la comunidad

Se maneja que para el año 2025, todos los clientes de SAP migrarán a SAP HANA, un sistema de gestión de bases de datos relacionales en memoria que solo se ejecuta en Linux, anterior a 2019, el 50% del mercado SAP eran clientes de Windows.

En el caso de la nube, incluso en Azure de Microsoft, más del 60% de las imágenes en el mercado de Azure y casi un tercio de las máquinas virtuales se basan en Linux, por otro lado, Amazon Web Services y Google Cloud Platform ofrecen múltiples distribuciones de Linux en sus imágenes disponibles de forma pública.

No dejemos de lado que Linux sigue siendo el sistema operativo del futuro, y cada vez más sistemas dependen de su estabilidad y capacidad de ampliación.

Los usuarios de Linux tienen una gran libertad al elegir sus programas, por ejemplo, un usuario de Linux puede elegir entre docenas de distintos intérpretes de línea de comando y entre distintos entornos de escritorio, sin embargo, tantas opciones confunden a veces a los usuarios de otros sistemas operativos que no están acostumbrados a poder modificar el intérprete de línea de comando o el entorno de escritorio.

La estructura del Linux está basada en un micronúcleo híbrido que ejecuta los servicios más básicos del sistema operativo, como se mencionó el Kernel es el núcleo del sistema; es la parte que interactúa directamente con el Hardware, administrando todos los recursos de éste, como la memoria, el microprocesador, los periféricos, etc.

Una TI eficaz y eficiente necesita una plataforma solida y Ágil

Puede que te encuentres con diferentes necesidades contrapuestas habitualmente en tu empresa o centro de datos, es posible que esté planteándose la instalación de contenedores de microservicios que provean a sus equipos DevOps con herramientas y aplicaciones basadas en código abierto o la implantación de las aplicaciones en la nube.

En caso de que estés implementando contenedores o aplicaciones de ERP/SAP complejas, los servidores Linux corporativos proporcionan una base sólida para satisfacer todas las necesidades de su empresa, sin olvidar que las aplicaciones de ERP/SAP pueden ser bastante complejas, requieren sistemas operativos probados respaldados por la asistencia global y la compatibilidad con una amplia gama de plataformas de Hardware, sin embargo a lo largo de los años, los servidores Linux corporativos se han convertido en la opción estándar para implementar las aplicaciones de SAP.

¿Qué es una distribución de Linux?

Una distribución Linux, coloquialmente llamada distro, es una distribución de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para servidores. Por lo general están compuestas, total o mayoritariamente, de software libre, aunque a menudo incorporan aplicaciones o controladores propietarios.

Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas del proyecto GNU y el sistema de ventanas X Window System. Dependiendo del tipo de usuarios a los que la distribución esté dirigida se incluye también otro tipo de software como procesadores de texto, hoja de cálculo, reproductores multimedia, herramientas administrativas, etc. En el caso de incluir paquetes de código del proyecto GNU, se denomina distribución GNU/Linux.

Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), openSUSE (Novell), Ubuntu (Canonical Ltd.) y Mandriva; distribuciones mantenidas por la comunidad, como Debian y Gentoo; y distribuciones que no están relacionadas con ninguna empresa o comunidad, como es el caso de Slackware.

Fuente: Wikipedia

En el mundo del software libre, al producto acabado se le denomina distribución o informalmente distro, son recopilaciones organizadas que incluyen un kernel, programas, aplicaciones y utilidades, preparados para ser instalados de forma sencilla y listas para funcionar.

Tipos de Distribuciones

En general, las distribuciones Linux pueden ser:

  • Comerciales o no comerciales.
  • Ser completamente libres o incluir software privativo.
  • Diseñadas para uso en el hogar o en las empresas.
  • Diseñadas para servidores, escritorios o dispositivos empotrados.
  • Orientadas a usuarios regulares o usuarios avanzados.
  • De uso general o para dispositivos altamente especializados, como un cortafuegos, un enrutador o un clúster computacional.
  • Diseñadas e incluso certificadas para un Hardware o arquitectura específicos.
  • Orientadas hacia grupos en específico, por ejemplo a través de la internacionalización y localización del lenguaje, o por la inclusión de varios paquetes para la producción musical o para computación científica.
  • Configuradas especialmente para ser más seguras, completas, portables o fáciles de usar.
  • Soportadas bajo distintos tipos de Hardware.

Clasificación de distribuciones

Las distribuciones están divididas o clasificadas en «paquetes», cada paquete contiene una aplicación específica o un servicio, por ejemplo: Algunos paquetes son una biblioteca para manejar el formato de imagen PNG, una colección de tipografías o un navegador web.

El paquete es generalmente distribuido en su versión compilada y la instalación y desinstalación de los paquetes es controlada por un sistema de gestión de paquetes en lugar de un simple gestor de archivos, en este caso cada paquete elaborado para ese sistema de paquetes contiene meta-información tal como fecha de creación, descripción del paquete y sus dependencias, entonces el sistema de paquetes analiza esta información para permitir la búsqueda de paquetes, actualizar las librerías y aplicaciones instaladas, revisar que todas las dependencias se cumplan y obtenerlas si no se cuenta con ellas de manera automática.

Algunos de los sistemas de paquetes más usados son:

RPMCreado por Red Hat y usado por un gran número de distribuciones de Linux, es el formato de paquetes del Linux Standard Base, originalmente introducido por Red Hat, pero ahora se usa en muchas distribuciones, como por ejemplo CentOS, Mandriva.
DebPaquetes Debian, originalmente introducidos por Debian, pero también utilizados por otros como Knoppix y Ubuntu.
.tgzUsado por Slackware, empaqueta el software usando tar y gzip. Pero, además, hay algunas herramientas de más alto nivel para tratar con este formato: slapt-get, slackpkg y swaret.
EbuildsArchivo que contiene información acerca de cómo obtener, compilar e instalar un paquete en el sistema Portage de Gentoo Linux con el comando emerge. Generalmente, estas instalaciones se basan en la compilación de fuentes, aunque algunos paquetes binarios se pueden instalar de esta manera.
PacmanPara Arch Linux, usa binarios precompilados distribuidos en un fichero .pkg.tar.gz ó .pkg.tar.xz.
PETUtilizado por Puppy Linux, sus derivados y Quirky, su proyecto hermano.

Aunque las distribuciones casi siempre vienen con mucha mayor cantidad de software que los sistemas propietarios, en ocasiones algunos usuarios pueden instalar software que no fue incluido en la distribución, un ejemplo podría ser el instalar una versión experimental de alguna de las aplicaciones de la distribución o alguna alternativa, como podría ser utilizar una aplicación de KDE dentro de GNOME o viceversa, por lo que si el software, es distribuido solo en forma de código fuente, requerirá ser compilado por el equipo de cómputo, sin embargo, si el programa es compilado, el paquete no será registrado por el gestor de paquetes y por lo tanto no podrá ser controlado por él, esto significa que el administrador del equipo tendrá que tomar medidas adicionales para mantener el software actualizado, la razón es que el gestor de paquetes no lo podrá hacer automáticamente.

La mayor parte de las distribuciones instalan los paquetes, incluyendo el núcleo Linux y otras piezas fundamentales del sistema operativo con una configuración preestablecida, por supuesto, esto hace la instalación más sencilla, especialmente para los usuarios nuevos, pero no es siempre aceptable, pues hay programas que deben de ser cuidadosamente configurados para que sean funcionales, para que operen correctamente con otra aplicación o para que su seguridad sea robusta, los administradores estar obligados a invertir tiempo reconfigurando y revisando software soportado por la distribución.

En otras distribuciones la instalación puede llegar a ser muy lenta, pues es posible ajustar y configurar la mayor parte o la totalidad del software incluido en la distribución, no todas lo hacen, algunas ofrecen herramientas de configuración para ayudar en el proceso.

Es también posible armar un sistema a la medida en su totalidad, descartando incluso el uso de una distribución, lo primero que hay que hacer es generar un sistema base que permita conseguir, compilar, configurar e instalar el código fuente, generar los binarios de este sistema base requerirá de otra máquina que sea capaz de generar los binarios para el dispositivo deseado, esto puede ser alcanzado por medio de una compilación cruzada.


Ejemplo Linux from Scratch.

¿Quién produce las Distribuciones Linux?

En general, suelen ser producidas por comunidades de colaboradores, programadores avanzados usualmente u organizaciones, compañías privadas o instituciones públicas, aunque incluso nosotros mismos podríamos crear nuestra propia distro, partiendo de una ya existente y añadiendo o eliminando determinadas aplicaciones.

En cualquier caso, hay cientos de distribuciones de Linux generadas, aunque lógicamente son menos las que son conocidas y cuentan con un respaldo y mantenimiento amplio y activo, pueden ser gratuitas o de pago y obtenerse a través de Internet, o mediante un CD.

Como ejemplos de distribuciones soportadas por compañías privadas, tenemos a Red Hat o Suse (Novell)

En el ámbito de las impulsadas y soportadas por una comunidad, un ejemplo destacado es Debian, que en el año 94 ya empezó a distribuirse tanto en CDs como por Internet.

Debian ha tenido habitualmente fama de ser una distribución difícil; por ello, a partir de ella se creó Ubuntu, con la idea de hacer accesible Linux al público en general, el sudafricano Mark Shuttleworth, promotor del proyecto, lo calificó como “Linux para seres humanos”, con un procedimiento de instalación fácil, una gama muy amplia de módulos para que funcionen todos los equipo de cómputo y los dispositivos conectados a él, utilizó una estrategia comercial bastante dinámica, enviando CDs a quien lo solicitara, se convirtió en poco tiempo en una de las distribuciones más populares, ahora Ubuntu está disponible en diversas versiones para equipo de cómputo es pequeños Netbook, para sobremesa Desktop, para Servidores.

También algunos Gobiernos y Organismos oficiales impulsan la utilización de Linux como herramienta de trabajo, por ejemplo, en España, a partir del año 2000, comienza el proyecto GnuLinEx apoyado por la Junta de Extremadura y basado en Debian, del cual derivó el Guadalinex de la Junta de Andalucía o el Molinux de la Junta de Castilla-La Mancha, basados en Ubuntu, su idea era dotar a los colegios, organismos oficiales y en general a cualquier ciudadano que lo deseara, de un sistema operativo y aplicaciones libres, con navegador de Internet, cliente de correo, aplicaciones ofimáticas y otros programas de gran utilización, espero en un futuro no muy largo, esto se implemente en México, donde hay mucha necesidad de Implementación tecnológica de vanguardia a cualquier nivel empresarial o personal.

Una particularidad de las distribuciones generadas por comunidades, es la multiplicidad de versiones a las que podemos acceder en función de su grado de desarrollo, por ejemplo: las experimentales, en pruebas, estables o de las características de licencia que pueden tener algunas aplicaciones y componentes que incorporan, libres, restringidas.

En general, las distribuciones que no son soportadas por ninguna compañía mejoran y avanzan en base a las contribuciones de los voluntarios del proyecto y a un sistema de reporte de fallos (bugs) que alimentan los propios usuarios, una gran comunidad puede hacer que este dinamismo sea grande y competir o incluso superar en eficiencia a productos de código cerrado y privativos.

A partir de 2004 el proceso de desarrollar distribuciones Linux por parte de usuarios o grupos de usuarios se vuelve un trabajo relativamente simple, de hecho cada mes nacen nuevas distribuciones con características muy diversas, desarrolladas varios idiomas, basadas en las 6 ramas principales: Debian y sus variantes Knoppix y Ubuntu, Fedora, Mandriva, OpenSuSe, Slackware y Gentoo, con áreas de aplicación que van desde consolas de videojuegos, firewalls, recuperación de sistemas, servicios a redes, audio y multimedia, sistemas incrustados, rescate de equipos obsoletos, servidores de todo tipo, como Bases de Datos, WEB, Desarrollo, científicas, Sistemas Geográficos de Información, Matemáticas numéricas y simbólicas, clusters, enfocadas a niños, a personas con capacidades diferentes, a escuelas y un gran etc.

Distribuciones Linux más conocidas

Dependiendo de su versión este sistema operativo se utiliza en supercomputadoras, servidores y computadoras personales.

Las diferentes variantes del Linux se denominan distribuciones, para el caso de servidores, estas son las más conocidas:

Cada distribución de Linux distribuye el núcleo mediante las actualizaciones del sistema operativo, cada versión del núcleo se puede distinguir por 3 o 4 números separados por puntos.

El significado de cada número es el siguiente:

  1. Versión del núcleo; varía si hay una gran modificación en el código del núcleo.
  2. Principal revisión del núcleo.
  3. Revisión menor, como la inclusión de nuevos drivers o algunas características nuevas.
  4. Correcciones de errores o fallos de seguridad dentro de una misma revisión.

Linux ha avanzado mucho en los últimos años, añadiendo mejoras en las interfaces gráficas de usuario, y en el reconocimiento y utilización de los recursos Hardware, es una realidad que va ganándole terreno a Windows, Unix, Apple, se ha convertido en el favorito de los usuarios de computadoras y de negocios expertos, empresas como IBM o Hewlett-Packard lo consideran una alternativa robusta y de bajo costo en comparación con los otros sistemas operativos y prestan el soporte técnico correspondiente, normalmente como parte de los sistemas en los servidores.




Conclusiones:

La diversidad de las distribuciones Linux es debido a cuestiones técnicas en primer instancia, muchas veces por la organización y de puntos de vista diferentes entre usuarios y proveedores, el modo de licenciamiento del software libre permite que cualquier usuario con los conocimientos e interés suficiente pueda adaptar o diseñar una distribución de acuerdo a sus necesidades.

Las versiones domésticas son las que podemos usar en una computadora personal o Laptop y que nos sirve a todos los usuarios comunes, principiantes o avanzados, pero que se enfocan en aplicaciones de escritorio, como navegar en Internet, leer correo, administrar archivos y pueden por ejemplo incluir escritorio gráfico de primer nivel para manejar nuestras redes sociales, escuchar audio y ver compartir video en Internet, etc.

Las versiones para servidores están pensadas para ser instaladas en equipos robustos y de alto desempeño que generalmente están encendidos las 24 horas del día, 7 días de la semana y proveen por ejemplo: servidores de correo electrónico, servidores web, resolución de nombre de dominio, proceso de datos y un gran etc., dicho sistema operativo generalmente no se instalan con ningún entorno gráfico, aunque lo pueden tener, pues se busca sean eficientes y veloces.

Las versiones empresariales generalmente son versiones de paga que tiene características y desempeño muy especializado dedicadas especialmente a cierto tipo de servidores y servicios a gran escala, una de las ventajas es que incluyen servicios empresariales de soporte.

Si te das cuenta Linux es muy versátil, en general puedes instalar y manejar cualquier distribución con los mismos principios, comandos y programas, en este sitio, podrás aprender como instalar Linux de cualquier tipo de distro.



Cada distribución Linux tiene un objetivo, que justifica su existencia.


Distribución GNU/Linux = Núcleo Linux + Sistema de Inicio + Paquetes de Software Libre


   Ing. Rubén Bernardo Guzmán Mercado                
RBerny ©