EITC/IS/LSA Linux System Administration es el programa europeo de certificación de TI sobre administración y gestión de seguridad en Linux, un sistema operativo de red de código abierto que se utiliza a menudo en servidores con una posición de liderazgo mundial.
El plan de estudios de la Administración del sistema Linux EITC/IS/LSA se centra en el conocimiento y las habilidades prácticas en administración y gestión de la seguridad en Linux organizados dentro de la siguiente estructura, que abarca contenido didáctico integral en video como referencia para esta Certificación EITC.
Linux es una colección de sistemas operativos de código abierto similares a Unix, que generalmente se aceptan como un estándar líder para los sistemas operativos de servidores de red, basados en el kernel de Linux de Linus Torvalds, que se lanzó inicialmente en 1991. El kernel de Linux, así como el software y las bibliotecas del sistema que lo acompañan, comúnmente se incluyen en una distribución de Linux, y muchos de ellos tienen licencia bajo el Proyecto GNU. Aunque muchas distribuciones de Linux usan el término “Linux”, la Free Software Foundation prefiere el término “GNU/Linux” para subrayar la importancia del software GNU.
Debian, Fedora y Ubuntu son todas distribuciones populares de Linux. Red Hat Enterprise Linux y SUSE Linux Enterprise Server son dos distribuciones comerciales. Un sistema de ventanas como X11 o Wayland, así como un entorno de escritorio como GNOME o KDE Plasma, se incluyen en las distribuciones de escritorio de Linux. Las distribuciones de servidor pueden o no incluir gráficos, o pueden incluir una pila de soluciones como LAMP. Cualquiera puede producir una distribución para cualquier propósito porque Linux es un software de código abierto redistribuible libremente.
Linux se creó para las computadoras personales basadas en la arquitectura x86 de Intel, pero posteriormente se trasladó a más plataformas que cualquier otro sistema operativo. Linux tiene la mayor base instalada de todos los sistemas operativos de propósito general debido al dominio de Android basado en Linux en los teléfonos inteligentes. A pesar de que solo el 2.3 % de las computadoras de escritorio utilizan Linux, la Chromebook, que ejecuta el Chrome OS basado en el kernel de Linux, domina el mercado de la educación K–12 de EE. . Linux es el sistema operativo más popular para servidores (alrededor del 20 por ciento del millón de servidores web principales ejecutan Linux), así como otros grandes sistemas de hierro como computadoras centrales y supercomputadoras TOP300 (desde noviembre de 96.4, habiendo eliminado gradualmente a todos los competidores).
Linux también está disponible para sistemas integrados, que son dispositivos cuyo sistema operativo a menudo se incorpora en el firmware y está altamente personalizado para el sistema. Enrutadores, controles de automatización, tecnología para el hogar inteligente, televisores (los televisores inteligentes Samsung y LG usan Tizen y WebOS, respectivamente), automóviles (Tesla, Audi, Mercedes-Benz, Hyundai y Toyota usan Linux), grabadoras de video digital, consolas de videojuegos y los relojes inteligentes son todos ejemplos de dispositivos basados en Linux. La aviónica de Falcon 9 y Dragon 2 se basa en una versión personalizada de Linux.
Linux es uno de los ejemplos más reconocidos de colaboración de software libre y de código abierto. Bajo las reglas de sus licencias individuales, como la Licencia Pública General GNU, el código fuente puede ser usado, actualizado y distribuido comercial o no comercialmente por cualquier persona.
El kernel de Linux no fue diseñado, sino que evolucionó a través de la selección natural, según varios desarrolladores de código abierto. Aunque la arquitectura de Unix actuó como un andamiaje, Torvalds cree que "Linux evolucionó con muchas mutaciones, y debido a que las mutaciones no fueron aleatorias, fueron más rápidas y más dirigidas que las partículas alfa en el ADN". Las características revolucionarias de Linux, según Eric S. Raymond, son más sociales que técnicas: antes de Linux, pequeños grupos creaban minuciosamente software sofisticado, pero “Linux creció de una manera muy diferente. Fue pirateado casi sin darse cuenta desde el principio por grandes grupos de voluntarios que se comunicaban únicamente a través de Internet. La técnica estúpidamente simple de publicar todas las semanas y recibir aportes de cientos de usuarios en cuestión de días, generando una forma de selección darwiniana rápida sobre las mutaciones traídas por los desarrolladores, en lugar de estándares rigurosos o dictadura, se utilizó para preservar la calidad”. “Linux no fue diseñado, evolucionó”, dice Bryan Cantrill, ingeniero de un sistema operativo de la competencia, pero él ve esto como una limitación, afirmando que algunas características, particularmente las relacionadas con la seguridad, no pueden evolucionar, porque “esto es Al final del día, no es un sistema biológico, es un sistema de software”. Un sistema basado en Linux es un sistema operativo modular similar a Unix que extrae gran parte de su inspiración arquitectónica de los principios de Unix desarrollados en las décadas de 1970 y 1980. Un kernel monolítico, el kernel de Linux, se usa en un sistema de este tipo para manejar el control de procesos, las redes, el acceso periférico y los sistemas de archivos. Los controladores de dispositivos se integran directamente en el kernel o se agregan como módulos que se cargan mientras se ejecuta el sistema.
El espacio de usuario de GNU es una característica importante de la mayoría de los sistemas basados en Linux, siendo Android una excepción. La cadena de herramientas es una amplia colección de herramientas de programación vitales para el desarrollo de Linux (incluidos los compiladores utilizados para construir el propio kernel de Linux), y los coreutils implementan muchas herramientas básicas de Unix. La implementación del Proyecto de la biblioteca C funciona como un envoltorio para las llamadas al sistema del kernel de Linux necesarias para la interfaz kernel-espacio de usuario, la cadena de herramientas es una amplia colección de herramientas de programación vitales para el desarrollo de Linux (incluidos los compiladores utilizados para construir el propio kernel de Linux) , y los coreutils implementan muchas herramientas básicas de Unix. Bash, un popular shell CLI, también se desarrolla como parte del proyecto. La interfaz gráfica de usuario (o GUI) de la mayoría de los sistemas Linux se basa en una implementación del sistema X Window. Más recientemente, la comunidad de Linux ha estado trabajando para reemplazar X11 con Wayland como protocolo de servidor de pantalla de reemplazo. Los sistemas Linux se benefician de varias otras iniciativas de software de código abierto.
Los componentes instalados de un sistema Linux incluyen lo siguiente:
- GNU GRUB, LILO, SYSLINUX o Gummiboot son ejemplos de gestores de arranque. Este es un software que se ejecuta cuando la computadora está encendida y después de la inicialización del firmware para cargar el kernel de Linux en la memoria principal de la computadora.
- Un programa de inicio, como sysvinit o el más reciente systemd, OpenRC o Upstart. Este es el proceso inicial iniciado por el kernel de Linux y se encuentra en la parte superior del árbol de procesos; en otras palabras, init es donde comienzan todos los demás procesos. Inicia tareas como servicios del sistema y avisos de inicio de sesión (ya sea gráfico o en modo terminal).
- Las bibliotecas de software son colecciones de código que pueden ser utilizadas por otros programas. El enlazador dinámico que maneja el uso de bibliotecas dinámicas en sistemas Linux que emplean archivos ejecutables en formato ELF se conoce como ld-linux.so. Si el sistema está configurado para que el usuario pueda generar aplicaciones por sí mismo, se incluirán archivos de encabezado para describir la interfaz de las bibliotecas instaladas. Además de GNU C Library (glibc), que es la biblioteca de software más utilizada en los sistemas Linux, existen otras bibliotecas más, como SDL y Mesa.
- La biblioteca GNU C es la biblioteca estándar C estándar, que se requiere para ejecutar programas C en un sistema informático. Se han desarrollado alternativas para sistemas integrados, incluidos musl, EGLIBC (un clon de glibc utilizado originalmente por Debian) y uClibc (construido para uClinux); sin embargo, los dos últimos ya no se mantienen. Se utiliza Bionic, la propia biblioteca C de Android.
- GNU coreutils es la implementación estándar de los comandos básicos de Unix. Para dispositivos integrados, existen alternativas como BusyBox con copyleft y Toybox con licencia BSD.
- Los kits de herramientas de widgets son bibliotecas para crear interfaces gráficas de usuario (GUI) de aplicaciones de software. GTK y Clutter, creados por el proyecto GNOME, Qt, desarrollado por Qt Project y dirigido por The Qt Company, y Enlightenment Foundation Libraries (EFL), mantenidos principalmente por el equipo de Enlightenment, se encuentran entre los kits de herramientas de widgets disponibles.
- Se utiliza un sistema de gestión de paquetes, como dpkg o RPM, para gestionar los paquetes. Los paquetes también se pueden crear a partir de archivos tar de código fuente o archivos tar binarios.
- Los shells de comandos y los entornos de ventanas son ejemplos de programas de interfaz de usuario.
La interfaz de usuario, a menudo conocida como shell, suele ser una interfaz de línea de comandos (CLI), una interfaz gráfica de usuario (GUI) o controles acoplados al hardware que lo acompaña. La interfaz de usuario típica en las PC de escritorio suele ser gráfica, mientras que la CLI se puede acceder con frecuencia a través de ventanas de emulador de terminal o una consola virtual separada.
Las interfaces de usuario basadas en texto, o shells CLI, emplean texto tanto para la entrada como para la salida. Bourne-Again Shell (bash), que fue creado para el proyecto GNU, es el shell más utilizado bajo Linux. La CLI es utilizada en su totalidad por la mayoría de los componentes de Linux de bajo nivel, incluidas varias secciones de la zona de usuario. La CLI es especialmente adecuada para automatizar operaciones repetidas o retrasadas, y permite una comunicación entre procesos relativamente fácil.
Los shells de GUI, repletos de entornos de escritorio completos como KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon y Xfce, son las interfaces de usuario más populares en los sistemas de escritorio, mientras que existen otras interfaces de usuario. El sistema X Window, también conocido como "X", es la base de la mayoría de las interfaces de usuario populares. Permite la transparencia de la red al permitir que una aplicación gráfica que opera en una máquina se muestre en otra, donde un usuario puede interactuar con ella; sin embargo, algunas extensiones del sistema X Window no pueden funcionar en la red. Hay varios servidores de pantalla X, el más popular de los cuales es X.Org Server, que es la implementación de referencia.
Las distribuciones de servidor pueden proporcionar una interfaz de línea de comandos para desarrolladores y administradores, pero también pueden incluir una interfaz personalizada para usuarios finales que se adapta al caso de uso del sistema. Se accede a esta interfaz personalizada a través de un cliente que se ejecuta en un sistema diferente que no está necesariamente basado en Linux.
Para X11, existen varios tipos de administradores de ventanas, incluidos mosaico, dinámico, apilamiento y composición. Los administradores de ventanas interactúan con el sistema X Window y le permiten controlar la ubicación y apariencia de las ventanas de aplicaciones individuales. Los administradores de ventanas X más simples como dwm, ratpoison, i3wm o herbstluftwm tienen una interfaz minimalista, mientras que los administradores de ventanas más complejos como FVWM, Enlightenment o Window Maker incluyen características adicionales como una barra de tareas y temas incorporados, pero aún son livianos en comparación con entornos de escritorio. Los administradores de ventanas como Mutter (GNOME), KWin (KDE) y Xfwm (xfce) se incluyen en la mayoría de las instalaciones básicas de los entornos de escritorio, pero los usuarios pueden elegir usar un administrador de ventanas diferente si lo prefieren.
Wayland es un protocolo de servidor de visualización que se diseñó para reemplazar el protocolo X11; sin embargo, aún no se ha generalizado a partir de 2014. Wayland, a diferencia de X11, no requiere un administrador de ventanas externo o un administrador de composición. Como resultado, un compositor de Wayland sirve como servidor de visualización, administrador de ventanas y administrador de composición, todo en uno. La implementación de referencia de Wayland es Weston, aunque Mutter y KWin de GNOME y KDE se están convirtiendo a Wayland como servidores de visualización independientes. Desde la versión 19, Enlightenment se ha portado con éxito.
Para familiarizarse en detalle con el plan de estudios de certificación, puede ampliar y analizar la tabla a continuación.
El plan de estudios de certificación de administración del sistema Linux EITC/IS/LSA hace referencia a materiales didácticos de acceso abierto en forma de video. El proceso de aprendizaje se divide en una estructura paso a paso (programas -> lecciones -> temas) que cubre partes relevantes del plan de estudios. También se proporciona consultoría ilimitada con expertos en dominios.
Para obtener más información sobre el procedimiento de certificación, consulte ¿Cómo funciona?.
Descargue los materiales preparatorios completos de autoaprendizaje fuera de línea para el programa de administración de sistemas Linux EITC/IS/LSA en un archivo PDF
Materiales preparatorios para EITC/IS/LSA – versión estándar
Materiales preparatorios del EITC/IS/LSA – versión ampliada con preguntas de repaso