El Linux moderno es muy fácil de usar, pero para desbloquear todo su potencial, es necesario familiarizarse con algunos conceptos avanzados.
Echemos un vistazo a siete temas clave para elevarlo de un usuario ocasional de Linux a un usuario avanzado.
Un shell se define como un intérprete de línea de comandos. Es el programa que toma los comandos que escribes en una terminal/consola, los convierte en instrucciones que el kernel puede procesar y luego envía la salida a la terminal/consola.
La mayoría de los sistemas Linux usan Bash (Bourne Again SHell) como shell predeterminado porque es versátil y suficiente para uso casual. Sin embargo, hay otras conchas disponibles, como Zsh, Ksh, fish y Tcsh.
Para comprobar qué shell está ejecutando, escriba «echo $SHELL» en el terminal.
Ahora, un script de shell es un archivo que contiene una serie de comandos. Estos comandos se ejecutan en secuencia cuando se ejecuta el script desde el terminal.
Esta puede ser una poderosa herramienta de automatización en Linux, lo que le permite agrupar tareas complejas en un solo comando.
X11 ha sido el protocolo de sistema de ventanas predeterminado para Linux y sistemas operativos similares a Unix desde que se introdujo a mediados de los años 80. Utiliza un modelo cliente-servidor.
Las ventanas de aplicaciones con las que interactúa se denominan «clientes». El «servidor», también conocido como servidor X, procesa los eventos de entrada de estos clientes, por ejemplo, los movimientos de las ventanas, y luego muestra cómo debe responder el cliente.
X11 es el protocolo del sistema de ventanas que transporta la entrada del usuario desde el cliente hasta el servidor X y la salida de vuelta a los clientes.
Ahora, Wayland es un protocolo de servidor de visualización más moderno (desarrollado en 2008 por Red Hat). Simplifica la arquitectura cliente-servidor, mejorando la seguridad y el rendimiento.
Permite que la ventana de la aplicación se comunique directamente con el compositor (más sobre esto en la siguiente sección) lo que reduce la sobrecarga y la latencia. La arquitectura simplificada también está preparada para mejorar la seguridad.
Ahora, Wayland es un protocolo de servidor de visualización más moderno (desarrollado en 2008 por Red Hat). Simplifica la arquitectura cliente-servidor, mejorando la seguridad y el rendimiento.
Permite que la ventana de la aplicación se comunique directamente con el compositor (más sobre esto en la siguiente sección), lo que reduce la sobrecarga y la latencia. La arquitectura simplificada también está preparada para mejorar la seguridad.
Para comprobar si su sistema está utilizando Wayland o X11, introduzca el siguiente comando en su terminal:
echo $XDG_SESSION_TYPE
¿Alguna vez ha movido la ventana de una aplicación en Linux, solo para encontrar que los bordes de la ventana se mueven mientras el interior permanece vacío y tarda unos segundos en renderizarse?
Esto sucede cuando los bordes de la ventana se comportan según lo esperado, pero los objetos visuales dentro de la ventana tardan demasiado en representarse.
Verá, los bordes de la ventana y las imágenes dentro de la ventana se pueden controlar mediante dos sistemas separados, especialmente en los sistemas X11.
Para controlar la ubicación y la apariencia de las ventanas en la pantalla, tiene administradores de ventanas. Le permiten mover, cambiar el tamaño, minimizar y maximizar las ventanas, así como mostrar los bordes de las ventanas y las barras de título.
Por otro lado, tenemos a los compositores. Son responsables de renderizar el contenido dentro de cada ventana. Un comistor combina la imagen final renderizada de la aplicación con efectos gráficos como transparencias, sombras y animaciones para crear una sola imagen que se muestra dentro de las ventanas.
En los entornos X11 tradicionales, el gestor de ventanas y el compositor suelen ser componentes separados. Este enfoque modular ofrece flexibilidad, pero también puede conducir a una mayor complejidad y a una posible inestabilidad del sistema, como en el ejemplo que compartí anteriormente.
Para solucionar esto, Wayland combinó el administrador de ventanas y el compositor en un solo componente: El compositor de Wayland.
Esto simplifica la arquitectura, lo que puede conducir a un mejor rendimiento y seguridad. Algunos ejemplos de compositores de Wayland que vemos en las distribuciones regulares que ejecutan Wayland son:
A menudo nos referimos a Linux como un sistema operativo, pero en realidad es el nombre del kernel que alimenta el sistema operativo. Un kernel es básicamente el núcleo del sistema operativo que une el hardware y el software.
El kernel oficial de Linux es mantenido por Linux Torvalds y la comunidad Linux. Sin embargo, en el verdadero espíritu de Linux, la gente ha modificado el kernel oficial para incluir optimizaciones de rendimiento, soporte de hardware mejorado o características adicionales.
Potencialmente, puede reemplazar el kernel oficial de Linux en su sistema con uno de estos kernels personalizados para obtener un mejor rendimiento.
La mayoría de las distribuciones requieren que compiles manualmente el kernel personalizado y lo instales en tu distribución. Sin embargo, algunas distribuciones avanzadas como Manjaro y Garuda le brindan una aplicación GUI para reemplazar el kernel predeterminado por uno personalizado.
Estos son algunos de los kernels personalizados de Linux más populares:
Puede ser un proceso de prueba y error determinar qué kernel de Linux personalizado funciona mejor con su configuración de hardware específica. Es útil probar diferentes opciones y ver cómo funciona su sistema, quedándose con la que produce los mejores resultados.
Es posible que los kernels personalizados no reciban actualizaciones con tanta frecuencia como el kernel principal, lo que podría afectar la seguridad y la compatibilidad con el tiempo.
Cuando arranca su sistema Linux, el primer proceso que se inicia es el sistema de inicio, que tiene el ID de proceso (PID) de #1.
La mayoría de las distribuciones modernas de Linux utilizan principalmente uno de los dos sistemas de inicio: SystemD o SysV Init. Puedes comprobar qué sistema de inicio está utilizando tu distribución ejecutando este comando en tu terminal:
ps -p 1
Si la salida muestra «systemd», está utilizando SystemD. Mientras que, si muestra «init», está utilizando SysV Init.
SystemD es el sistema de inicio más nuevo y común utilizado por todas las distribuciones populares, incluidas Ubuntu, Fedora y Arch Linux.
Está diseñado para ser más rápido y eficiente. Mi sistema actual que ejecuta Garuda Linux, también usa SystemD. Sin embargo, tiene algunos problemas técnicos que lo hacen divisivo en la comunidad de Linux
Como resultado, algunas distribuciones de Linux evitan SystemD y utilizan un sistema de inicio más antiguo: SysV Init.
Otros sistemas de inicio populares incluyen runit, OpenRC y Upstart. Cada uno tiene su propio enfoque único para administrar los servicios y la inicialización del sistema.
Saber qué sistema de inicio está utilizando es crucial si desea iniciar (o detener) un servicio en particular durante el arranque del sistema. Por ejemplo, me encontré con un problema en el que UFW (Firewall sin complicaciones) se desactivaba automáticamente después de reiniciar.
Para resolver esto, necesité usar el sistema de inicio para iniciar automáticamente UFW durante el arranque del sistema. Como estaba usando SystemD, usé el comando systemctl.
Si estuviera usando SysV, habría necesitado el comando de servicio.
A medida que se familiarice con Linux, descubrirá que admite una amplia variedad de sistemas de archivos, a diferencia de Windows, que utiliza principalmente NTFS para su sistema de archivos principal y FAT o exFAT para el almacenamiento externo.
La mayoría de los sistemas Linux usan ext4 de forma predeterminada, pero hay otras opciones populares.
Linux también utiliza sistemas de archivos secundarios para fines específicos, como tmpfs para archivos temporales en memoria y vfat para particiones de arranque o compatibilidad con Windows.
Para verificar los sistemas de archivos que está utilizando su distribución de Linux, escriba df -T en una terminal y presione Enter.
Si desea cambiar los sistemas de archivos en un sistema Linux existente, deberá hacer una copia de seguridad de sus datos y luego formatear las particiones al tipo de sistema de archivos deseado.
Linux es famoso por su seguridad, pero no es invulnerable. Si tiene archivos y datos importantes en su PC con Linux, debe desempeñar un papel activo para asegurarse de que esté configurado para que sea lo más seguro posible. Para hacer esto, necesita aprender sobre SELinux y AppArmor.
Ambos son módulos de seguridad del kernel de Linux que agregan una capa adicional de seguridad al restringir lo que pueden hacer las aplicaciones, lo que reduce el riesgo de explotación de vulnerabilidades de seguridad.
SELinux se obtiene de forma predeterminada en Fedora y Red Hat Enterprise Linux (RHEL). Sin embargo, también puede instalarlo y configurarlo para que se ejecute en otra distribución.
Este modelo de seguridad del kernel fue desarrollado por la NSA y ofrece un control detallado sobre el acceso de las aplicaciones a los recursos mediante controles de acceso obligatorios (MAC). Es complejo, pero ofrece una seguridad integral, lo que lo hace adecuado para entornos de alta seguridad.
A continuación, tenemos AppArmor. Ofrece un enfoque de seguridad más sencillo y basado en rutas, lo que facilita su configuración y al mismo tiempo, proporciona una protección eficaz. AppArmor es el valor predeterminado en Ubuntu y SUSE Linux Enterprise Server (SLES).
Dicho esto, si está utilizando una distribución diferente, AppArmor está disponible en todos los principales repositorios de Linux y puede instalarlo fácilmente en cualquier distribución de Linux que desee.
Para utilizar estos módulos de seguridad de forma eficaz, deberá configurar políticas de seguridad que definan las acciones permitidas para las aplicaciones. Esta comparación de AppArmor y SELinux debería ayudarlo a decidir cuál es el adecuado para sus necesidades y requisitos.
Comprender estos conceptos avanzados de Linux es crucial para cualquiera que busque mejorar sus habilidades de un usuario ocasional a un usuario avanzado.
Al explorar las complejidades de los shells, los sistemas de ventanas, los kernels personalizados, la inicialización del sistema, los sistemas de archivos y los módulos de seguridad, obtendrá una apreciación más profunda de la flexibilidad y el poder de Linux.
Imagínate que cada mensaje que envías por WhatsApp, Signal o Telegram puede ser escaneado automáticamente…
Los juegos gratis de Amazon Prime Gaming representan un atractivo significativo para los suscriptores de…
Si eres un amante de los videojuegos, estás de suerte. Hasta el 20 de noviembre…
La computación cuántica acaba de dar un salto gigante. John M. Martinis, recién galardonado con…
La biografía más vendida del cofundador de Apple, Steve Jobs; escrita por uno de los…
Hubo un tiempo en el que la “seguridad en el hogar” significaba confiar en un…