LFCA: Comprensión del sistema operativo Linux - Parte 1


Linux Foundation ha presentado una nueva certificación de TI preprofesional conocida como Linux Foundation Certified IT Associate (LFCA). Esta es una nueva certificación de nivel de entrada que se enfoca en probar conceptos fundamentales de TI, como comandos de administración de sistemas básicos, computación en la nube, seguridad y DevOps.

LFCA: descripción general y esquema del curso

A continuación, se muestra un resumen de las competencias y los dominios que LFCA buscará probar:

  • Sistema operativo Linux - Parte 1
  • Comandos de administración de archivos: parte 2
  • Comandos del sistema Linux - Parte 3
  • Comandos generales de red: parte 4

  • Administración de usuarios de Linux - Parte 5
  • Administrar la fecha y la hora en Linux - Parte 6
  • Administrar software en Linux - Parte 7
  • Supervisar las métricas básicas de Linux: parte 8
  • Redes básicas de Linux - Parte 9
  • Números binarios y decimales de Linux - Parte 10
  • LFCA: Aprenda las clases de rango de direcciones IP de red - Parte 11
  • LFCA: Aprenda consejos básicos para la resolución de problemas de red - Parte 12

  • Aprenda los fundamentos de la computación en la nube - Parte 13
  • Aprenda la disponibilidad, el rendimiento y la escalabilidad de la nube - Parte 14
  • LFCA: Aprenda informática sin servidor, beneficios y dificultades - Parte 15
  • LFCA: Aprenda los costos y el presupuesto de la nube - Parte 16

  • Consejos básicos de seguridad para proteger el sistema Linux - Parte 17
  • Consejos útiles para proteger los datos y Linux - Parte 18
  • Cómo mejorar la seguridad de la red Linux - Parte 19

Descripción general de la certificación LFCA

La certificación LFCA imparte conocimientos fundamentales sobre comandos básicos de administración de archivos y sistemas, comandos de red y resolución de problemas, conceptos de computación en la nube, seguridad de datos que incluye seguridad de sistemas y redes, y conceptos básicos de DevOps.

Una vez que domine bien los conceptos fundamentales y apruebe el examen LFCA, podrá comenzar a trabajar con LFCE (Linux Foundation Certified Engineer).

El examen LFCA es un examen de opción múltiple y cuesta $200. Se lleva a cabo en línea con un supervisor remoto que lo vigila a través de una cámara web durante toda la sesión. Al aprobar el examen, se le otorgará una insignia y un certificado LFCA que es válido por 3 años.

Fundamentos de Linux

En esta sección inaugural, cubriremos los siguientes capítulos:

  • Sistema operativo Linux - Parte 1
  • Comandos de administración de archivos: parte 2
  • Comandos del sistema Linux - Parte 3
  • Comandos generales de red: parte 4

Sin más preámbulos, empecemos.

Este artículo es la Parte 1 de la serie LFCA, que cubrirá los dominios y competencias necesarios que se requieren para el examen de certificación LFCA.

Comprensión del sistema operativo Linux

Al comenzar, suponemos que puede haber interactuado con Windows o macOS o con ambos al realizar sus tareas informáticas diarias. Ambos son sistemas operativos y le permiten interactuar con los componentes de hardware y software de una computadora y ejecutar una multitud de tareas que incluyen navegación, juegos, transmisión de música y video y desarrollo de software, por mencionar solo algunas.

Windows es un sistema operativo común y cuenta con una participación de mercado sustancial entre los usuarios de escritorio. Es fácil de usar y aprender, y suele ser una puerta de entrada para los alumnos que dan pequeños pasos para aprender a interactuar con las computadoras.

A pesar de su facilidad de uso y soporte para una amplia gama de dispositivos de hardware, Windows tiene una buena cantidad de inconvenientes. En primer lugar, Windows es un sistema operativo propietario de Microsoft, y la mayoría de las aplicaciones de software, como la suite Microsoft Office, se pagan. Esto bloquea a muchos que no tienen la capacidad financiera para adquirir una licencia para el producto.

Lo mismo ocurre con macOS de Apple que, a pesar de su elegancia y seguridad encomiable, viene con una etiqueta de precio considerable. De hecho, algunas aplicaciones para AppStore se suelen pagar. Los usuarios a menudo han criticado el pago de suscripciones furtivas para aplicaciones que de otro modo serían gratuitas en otras plataformas.

Además, Windows es bastante inestable y a menudo es vulnerable a ataques de malware como virus y troyanos. Podría gastar cientos de dólares en la protección de programas antivirus robustos para protegerse de ataques e infracciones, o pagar una fortuna pagando a un profesional para que diagnostique y elimine el virus.

Además, la aplicación de parches de seguridad y actualizaciones de funciones suele ser un proceso largo. En su mayor parte, la actualización de su sistema puede durar entre treinta minutos y una hora, dependiendo del tamaño de la actualización, y esto a menudo se debe a una serie de reinicios del sistema.

Linux, al igual que Windows y macOS, es otro sistema operativo que se ha apoderado de la industria de TI por asalto. Linux es omnipresente y miles de usuarios lo utilizan a diario.

El popular sistema operativo Android que alimenta a millones de dispositivos inteligentes se basa en el kernel de Linux. Su teléfono inteligente Android favorito o el televisor inteligente en su sala de estar funciona con Linux. Lo más importante es que Linux es el sistema predominante en Internet, ocupando una gran parte de las plataformas de alojamiento web y los servidores de Internet. Aproximadamente el 90% de la nube pública y el 99% de la cuota de mercado de supercomputadoras están respaldados por Linux.

Entonces, ¿cómo surgió Linux?

En esta coyuntura, será prudente retroceder en el tiempo y echar un vistazo a la génesis de uno de los sistemas operativos más utilizados.

La historia de Linux se remonta a la década de 1960 en AT&T Bell Labs, donde Dennis Ritchie, el padre del lenguaje de programación C y KenThompson, un científico informático estadounidense, junto con otros desarrolladores, estaban trabajando en el proyecto Multics. Multics era un sistema operativo que alimentaba los sistemas informáticos de mainframe.

Los dos informáticos buscaban construir un sistema operativo multiusuario y multitarea con un sistema de archivos jerárquico. Inicialmente, Multics era un proyecto de investigación, pero rápidamente se convirtió en un producto comercial. No impresionados con la dirección que estaba tomando Multics, los dos desarrolladores principales trazaron su propio curso y se propusieron desarrollar otro sistema basado en Multics llamado UNICS, que luego se transformó en UNIX.

En las décadas de 1970 y 1980, UNIX se hizo cada vez más popular, especialmente en los círculos académicos. Esto vio su adopción por varias instituciones, entre ellas la Universidad de Berkley California, que luego cambió su trayectoria. Los desarrolladores de la Universidad trabajaron más en el código UNIX y crearon BSD, un acrónimo de Berkeley Software Development. Posteriormente, BSD inspiró múltiples sistemas operativos, algunos de los cuales todavía se utilizan hoy en día, como FreeBSD y NetBSD.

En Bells Labs, continuó la investigación y el desarrollo en UNIX, dando lugar a otras variantes de UNIX que luego fueron adoptadas por proveedores comerciales. Sin embargo, BSD fue mucho más popular que las variantes comerciales de Bells Labs.

Mientras tanto, en 1991, Linus Torvalds, un graduado finlandés, estaba trabajando en una versión de UNIX llamada MINIX, pero estaba decepcionado con la licencia del proyecto. En una carta dirigida a su grupo de usuarios de MINIX, anunció que estaba trabajando en un nuevo kernel que luego se denominó kernel de Linux. Usó el código GNU, junto con el compilador GNU y bash para crear el primer kernel de Linux viable que luego fue licenciado bajo el modelo GNU/GPL.

El kernel de Linux sentó las bases para el desarrollo de cientos de distribuciones o versiones de Linux. Puede obtener una visión completa de las distribuciones populares de Linux en distrowatch.

Linux es un sistema operativo de código abierto. ¿Qué significa esto? Bueno, implica que puede ver el código fuente de Linux, modificarlo y redistribuirlo libremente sin ningún costo. Los usuarios expertos, como los desarrolladores, también pueden contribuir al código para hacerlo mejor y más interesante.

Por esta razón, existen cientos de distribuciones de Linux con diferentes sistemas de administración de paquetes, aplicaciones de software y atractivo visual. Una distribución de Linux, conocida coloquialmente como distribución, es una versión del sistema operativo Linux que viene empaquetada con programas, bibliotecas, herramientas de administración y otro software adicional. Todas las distribuciones se derivan del kernel de Linux.

Un buen número de RHEL (Red Hat Enterprise Linux) requieren una suscripción para soporte, seguridad y actualizaciones de funciones.

Hay 4 familias principales de distribuciones de Linux:

  • Sistemas de la familia Debian (por ejemplo, Ubuntu, Mint, Elementary y Zorin).
  • Sistemas de la familia Fedora (por ejemplo, CentOS, Red Hat 7 y Fedora).
  • Sistemas de la familia SUSE (por ejemplo, OpenSUSE y SLES).
  • Sistemas de arco (por ejemplo, Arch, Manjaro, ArchLabs y ArcoLinux).

Algunas de las distribuciones de Linux populares y ampliamente utilizadas incluyen:

  • Ubuntu
  • Debian
  • Linux Mint
  • Fedora
  • Deepin
  • Manjaro Linux
  • MX Linux
  • SO elemental
  • CentOS
  • OpenSUSE

Las distribuciones para principiantes que son altamente recomendadas para los principiantes en Linux incluyen Ubuntu, Mint, Zorin OS y Elementary OS. Esto se debe en gran parte a su facilidad de uso, su interfaz de usuario simple y ordenada y su alta personalización.

Algunas versiones, como Zorin OS, se parecen mucho a Windows 10, lo que las hace ideales para los usuarios de Windows que realizan la transición a Linux. Otros, como Elementary OS, imitan de cerca a macOS con un menú de base exclusivo.

Para usuarios intermedios o aquellos con un conocimiento relativamente bueno de Linux, serán suficientes CentOS, Debian y Fedora. Los usuarios experimentados que conocen los entresijos de la administración de sistemas Linux, generalmente se sentirían cómodos trabajando en sistemas Linux basados u200bu200ben Arch y Gentoo.

Cada distribución de Linux es única a su manera en términos de entorno de escritorio o interfaz gráfica de usuario (GUI) y aplicaciones predeterminadas. Sin embargo, la mayoría enviará aplicaciones listas para usar, como la suite LibreOffice, el cliente de correo Thunderbird, el editor de imágenes GIMP y aplicaciones multimedia para comenzar.

Las distribuciones de Linux que se utilizan ampliamente en entornos de servidor incluyen:

  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)
  • Servidor Ubuntu
  • Debian

Linux incluye los siguientes componentes principales.

En el núcleo de cualquier sistema Linux se encuentra el kernel de Linux. Escrito en C, el kernel interconecta los componentes de hardware con el software y los programas subyacentes. El kernel administra los procesos en ejecución y determina cuáles pueden usar la CPU y durante cuánto tiempo. También determina la cantidad de memoria que obtiene cada proceso. Además, administra controladores de dispositivos y recibe solicitudes de servicio de procesos en ejecución.

El cargador de arranque es el programa que maneja el proceso de arranque en un sistema Linux. Carga el sistema operativo desde el disco duro a la memoria principal. El gestor de arranque no es específico de Linux solo. También está presente en Windows y macOS. En Linux, el gestor de arranque se denomina GRUB. La última versión es GRUB2, que utilizan las distribuciones de systemd.

Init, una forma abreviada de inicialización, es el primer proceso que se ejecuta una vez que se enciende un sistema. Se le asigna un ID de proceso (PID) de 1 y genera todos los demás procesos en el sistema Linux, incluidos los demonios y otros procesos y servicios en segundo plano. Por tanto, se la bautiza como la madre de todos los procesos. Init se ejecuta en segundo plano hasta el momento en que se apaga el sistema.

Los primeros sistemas Init incluían System V Init (SysV) y Upstart. Estos han sido reemplazados por systemd init en los sistemas modernos.

Los demonios son procesos que se ejecutan silenciosamente en segundo plano desde el momento en que se inicia el sistema. Los demonios pueden ser controlados por el usuario en la línea de comandos. Se pueden detener, reiniciar, deshabilitar o habilitar en el momento del arranque. Los ejemplos de demonios incluyen sshd, que es el demonio SSH que controla las conexiones SSH remotas, y ntpd, que maneja la sincronización de la hora en los servidores.

El shell de Linux es una interfaz de línea de comandos, abreviada como CLI, donde se ejecutan o invocan comandos para llevar a cabo y automatizar tareas administrativas. Los shells populares incluyen bash shell (bash) y Z shell (zsh).

Un entorno de escritorio es lo que utiliza un usuario para interactuar con el sistema Linux. Proporciona una GUI (interfaz gráfica de usuario) que es posible gracias al software del sistema X windows. El sistema X windows (X11, también conocido como X) es un sistema que proporciona un marco de visualización o GUI y determina cómo los usuarios interactúan con las ventanas, el teclado, el mouse y el panel táctil.

Los entornos de escritorio comunes incluyen GNOME, MATE, XFCE, LXDE, Enlightenment, Cinnamon, Budgie y KDE Plasma. Los administradores de escritorio se envían con componentes gráficos como administradores de archivos, widgets de escritorio, fondos de pantalla, iconos y otros elementos gráficos.

El entorno de escritorio le brinda solo las aplicaciones básicas para comenzar. Al igual que Windows o macOS, puede instalar aplicaciones para el uso diario. Estos incluyen aplicaciones como Google Chrome, VLC media player, Skype, LibreOffice suite, DropBox, editor de imágenes GIMP, etc. Algunas distribuciones se envían con su propio Centro de software que actúa como una tienda desde donde puede descargar las aplicaciones que necesita.

En este punto, queda claro por qué Linux es el sistema operativo favorito de muchos usuarios y empresas. Resumamos brevemente algunas de las ventajas de usar Linux.

Como se señaló anteriormente, Linux es completamente de código abierto. Los usuarios expertos pueden ver el código, modificarlo sin restricciones para cualquier propósito que deseen y compartirlo con la comunidad. Además, la mayoría de las distribuciones, con la excepción de unas pocas, se pueden descargar y usar de forma gratuita sin pagar las licencias.

Windows es propietario y algunos de sus productos son bastante caros. Por el momento, el precio de la suite de Microsoft Office es de 430 dólares. Las licencias de Windows Server 2019 cuestan hasta $6,000. macOS es igualmente caro y una buena cantidad de aplicaciones de la tienda de aplicaciones se pagan mediante suscripción.

Una de las principales ventajas que ofrece Linux a sus usuarios es la posibilidad de personalizar prácticamente cualquier componente según sus preferencias. Puede modificar la apariencia, incluido el fondo de pantalla, la imagen de fondo, la combinación de colores, la apariencia del icono, etc. para mejorar su apariencia.

Los sistemas Linux tienen un grado admirable de estabilidad y seguridad. Linux es menos susceptible a los ataques y es mucho menos probable que sea víctima de malware como virus y troyanos si actualiza constantemente su sistema.

Gracias a su seguridad y estabilidad, Linux es la opción preferida para entornos de servidor en sitios web de alojamiento, bases de datos y aplicaciones. Solo se necesitan unos pocos comandos para poner en marcha un servidor web completo junto con otros componentes, como bases de datos y herramientas de secuencias de comandos. Un ejemplo clásico es el popular servidor LAMP, que es una agregación del servidor web Apache, la base de datos MySQL y el lenguaje de programación PHP.

Con la estabilidad que proporciona Linux, casi nunca necesitará reiniciar su servidor, excepto cuando necesite realizar una actualización del kernel. Esto garantiza el máximo tiempo de actividad para los servidores y una alta disponibilidad.

La mayoría de las distribuciones de Linux tienen la capacidad de ejecutarse en PC con especificaciones de sistema bajas, como CPU y RAM. De hecho, puede revivir algunas PC antiguas instalando algunas distribuciones ligeras de Linux como Linux Lite, Puppy Linux y AntiX.

Algunos pueden ejecutarse en un sistema con solo 1 GB de RAM, CPU de 512 MHZ y disco duro de 5 GB. Lo que es aún más impresionante es que incluso puede ejecutar estas distribuciones desde una memoria USB Live y aún así hacer algo de trabajo.

Las principales distribuciones de Linux, como Debian y Ubuntu, albergan miles de paquetes de software en sus repositorios. Ubuntu solo se jacta de tener más de 47.000 paquetes. Puede instalar aplicaciones fácilmente ejecutando algunos comandos en el terminal o usar los centros de aplicaciones que vienen incluidos en las distribuciones.

Además, puede obtener una variedad de aplicaciones que realizan tareas similares, como procesamiento de texto, intercambio de archivos, reproducción de audio/video, edición de fotos, diseño gráfico y mucho más. Simplemente tiene muchas opciones para elegir y puede optar por una variedad de aplicaciones para ejecutar una tarea.

El sistema operativo Linux es desarrollado y mantenido por una vibrante comunidad de desarrolladores que trabajan incansablemente las veinticuatro horas del día para garantizar que obtenga lo mejor en cuanto a aplicaciones de software, actualizaciones de seguridad y corrección de errores.

Las principales distribuciones como Ubuntu y Debian tienen una gran comunidad de desarrolladores y toneladas de foros que ofrecen asistencia y orientación a los usuarios, especialmente cuando encuentran dificultades o desafíos en el camino.

Esa fue una vista de pájaro del sistema operativo Linux y su lugar en un entorno informático en constante evolución. Es cierto que Linux es omnipresente y ha dejado una marca indeleble en el acelerado mundo tecnológico en el que vivimos. Por lo tanto, adquirir habilidades fundamentales de Linux es esencial para cualquier profesional de TI que desee escalar la escalera en la competitiva profesión de TI.

Aprender Linux abrirá las puertas a otros campos de TI avanzados, como DevOps, ciberseguridad y computación en la nube. En los temas siguientes, nos centraremos en los comandos básicos de Linux que debe tener al alcance de la mano a medida que avanzamos.