La suite ELK para monitorización de salud y rendimiento de nuestras aplicaciones
La monitorización es otra de las piezas fundamentales en el desarrollo de software, nos ayuda a …
leer másLinux es un sistema operativo de código abierto, lo que significa que su código fuente está disponible de forma gratuita para el público. Fue creado en 1991 por Linus Torvalds mientras estudiaba en la Universidad de Helsinki. A diferencia de sistemas operativos como Windows o macOS, Linux no pertenece a ninguna empresa, sino que es desarrollado por una comunidad global de voluntarios y organizaciones que contribuyen a su mejora continua.
El núcleo de Linux, conocido simplemente como el `kernel, es la parte del sistema operativo que se comunica directamente con el hardware del equipo. Alrededor de este núcleo, hay una variedad de software y utilidades que conforman una distribución de Linux completa.
Se utiliza frecuentemente en millones de servidores y dispositivos de todo el mundo, desde servidores web a supercomputadoras hasta relojes inteligentes. Debido a su estabilidad, flexibilidad y seguridad, Linux es la solución preferida para muchos desarrolladores y empresas de alojamiento.
Libertad y Código Abierto: Puedes personalizar, modificar y distribuir Linux como desees, siempre que sigas las licencias de software libre. Esto brinda una gran flexibilidad y permite a los usuarios y organizaciones adaptar el sistema a sus necesidades específicas.
Seguridad: Linux es conocido por ser uno de los sistemas operativos más seguros. Sus permisos de usuario y su arquitectura modular lo hacen menos vulnerable a virus y malware en comparación con otros sistemas operativos.
Costo: La mayoría de las distribuciones de Linux son gratuitas, lo que significa que no hay costos de licencia. Además, muchas aplicaciones de software libre están disponibles para Linux, lo que puede reducir los costos de software en general.
Versatilidad: Se puede instalar en una amplia variedad de hardware, microcomputadoras, relojes inteligentes, teléfonos móviles y mucho más.
Comunidad: Una de las grandes ventajas de Linux es su comunidad. Hay foros, grupos y comunidades dedicadas en línea donde puedes hacer preguntas, aprender y colaborar en proyectos.
Actualizaciones frecuentes: Dado que es mantenido por una amplia comunidad de desarrolladores, las actualizaciones y parches se lanzan con regularidad, asegurando que siempre tengas acceso a las últimas mejoras y correcciones de seguridad.
Efectividad en Recursos: Linux puede ser especialmente útil en equipos antiguos ya que tiende a ser menos demandante en recursos comparado con otros sistemas operativos.
A pesar de las numerosas ventajas que Linux puede ofrecer, hay ciertas circunstancias o preferencias que podrían hacer que algunos usuarios decidan no adoptarlo como su sistema operativo principal:
Compatibilidad de software: Si bien la mayoría de las aplicaciones populares tienen versiones para Linux o alternativas equivalentes, hay software específico, especialmente en el mundo profesional (como Adobe Creative Suite), que no tiene un soporte nativo en Linux. Los usuarios que dependen de estas aplicaciones específicas pueden encontrar inconveniente migrar a Linux.
Juegos: Aunque la situación ha mejorado drásticamente en los últimos años con la introducción de Steam para Linux y Proton, aún hay muchos títulos AAA que no están disponibles para Linux o que no funcionan tan eficientemente como en Windows.
Curva de aprendizaje: Aunque muchas distribuciones de Linux son amigables para el usuario, puede haber una curva de aprendizaje asociada, especialmente si el usuario desea profundizar en la configuración del sistema o resolver problemas específicos.
Soporte de hardware: Aunque Linux soporta una amplia variedad de hardware, algunas piezas específicas o más nuevas podrían no ser reconocidas de inmediato o requerir configuración adicional. Esta situación ha mejorado con el tiempo, pero todavía hay pequeñas excepciones.
Soporte técnico: Mientras que la comunidad de Linux es vasta y generalmente muy dispuesta a ayudar, algunas personas prefieren tener un soporte técnico oficial o directo al que puedan recurrir, algo que no todas las distribuciones de Linux ofrecen.
Interfaz y experiencia del usuario: Algunos usuarios pueden estar acostumbrados a la interfaz y experiencia de otros sistemas operativos y podrían no sentirse cómodos con el cambio. Aunque Linux ofrece una variedad de entornos de escritorio, el cambio puede no ser del gusto de todos.
Linux ofrece una variedad de distribuciones
, conocidas coloquialmente como `distros que adaptan y personalizan el sistema operativo según diferentes necesidades y públicos objetivos. A continuación, presentamos cinco distribuciones destacadas, sus grados de dificultad y los usos típicos:
La elección de una distribución de Linux depende de las necesidades y experiencia del usuario. Desde sistemas optimizados para el escritorio hasta opciones robustas para servidores, hay una `distro adecuada para todos. El mundo de Linux celebra la diversidad y la libertad de elección, permitiendo a los usuarios encontrar o incluso crear la solución perfecta para sus necesidades.
Ubuntu es una de las distribuciones Linux más populares y es conocida por su facilidad de uso, especialmente para los principiantes, instalarlo es un proceso bastante directo, al estilo Windows. Una pequeña guía del proceso:
Para instalar Ubuntu, necesitas crear un USB de arranque si no quieres sobreescribir la instalación actual:
Flash from file
. Selecciona el archivo ISO de Ubuntu descargado anteriormente.Select target
y elige tu USB.Ubuntu nos permite ejecutar el sistema operativo desde el USB o desde Windows sin instalarlo, útil para probarlo antes de realizar la instalación, para ello simplemente reinicia tu computadora con el USB insertado y selecciona `Try Ubuntu en el menú.
Si quieres instalarlo has de tener en cuenta que será necesario formatear el disco duro de tu PC, por lo que es recomendable hacer una copia de seguridad de tus archivos antes de continuar. Si tienes espacio libre en otra partición o disco puedes instalar Ubuntu junto a tu sistema operativo actual para conservar tus datos.
Boot o
Arranque` y configura el USB como la primera opción de arranque.Ahora deberías tener Ubuntu instalado en tu computadora. El proceso de instalación es amigable y, en la mayoría de los casos, deberías poder seguirlo sin problemas. Sin embargo, siempre es una buena idea tener copias de seguridad de tus datos antes de instalar un nuevo sistema operativo.
Un entorno de escritorio es el conjunto de programas y bibliotecas que proporcionan una interfaz gráfica para los usuarios. Este entorno incluye ventanas, paneles, menús, widgets y todo lo que ves y con lo que interactúas en la pantalla cuando usas Linux. Es el equivalente a lo que proporcionan Windows o macOS como experiencia visual, pero en Linux, tienes la libertad de elegir entre múltiples entornos.
Los servidores gráficos son esenciales para ofrecer la experiencia visual de Linux. Actúan como intermediarios entre el hardware gráfico y el software que muestra contenido en la pantalla.
X.org (o simplemente X): Ha sido el servidor gráfico estándar durante décadas. Es conocido por su flexibilidad y soporte amplio, pero también tiene una arquitectura antigua que ha sido criticada por ser compleja y menos segura.
Wayland: Es el sucesor moderno de X. Proporciona una arquitectura más simple y eficiente, con mejor integración con las GPUs modernas y mejoras en la seguridad. Aunque aún no es universal, muchos entornos de escritorio están adoptando Wayland como su servidor gráfico predeterminado.
GNOME: Es el entorno de escritorio predeterminado para muchas distribuciones populares. Ubuntu utiliza una variante que muestra una barra lateral fija por defecto entre otras pequeñas modificaciones. Se enfoca en la simplicidad y la eficiencia, ha adoptado Wayland de manera progresiva. Su diseño es moderno y minimalista, proporcionando una experiencia fluida y coherente.
KDE Plasma: KDE es conocido por su flexibilidad y personalización. Plasma es su entorno de escritorio, que ofrece una experiencia rica en características con muchas opciones y widgets. Aunque tradicionalmente ha utilizado X, también ha estado trabajando en la compatibilidad con Wayland.
XFCE: XFCE es un entorno de escritorio ligero y rápido, ideal para computadoras más antiguas o con recursos limitados. Ofrece una experiencia más tradicional, inspirada en los antiguos entornos de GNOME 2, pero con un toque renovado.
La belleza de Linux radica en su capacidad de elección. Puedes optar por una experiencia visual moderna, minimalista o altamente personalizable, según tus preferencias. Esta flexibilidad, junto con los avances en los servidores gráficos, garantiza que Linux siga siendo una opción atractiva para una amplia variedad de usuarios.
Cuando instalas un sistema Linux con un entorno de escritorio específico obtienes un conjunto de aplicaciones preinstaladas. Estas aplicaciones varían según el entorno de escritorio, y están diseñadas para integrarse perfectamente con su respectiva interfaz.
Nautilus (Archivos): El administrador de archivos de GNOME. Permite navegar, organizar y buscar tus archivos.
Web (Epiphany): El navegador web de GNOME. Es ligero y está integrado con el escritorio.
Gedit: El editor de texto por defecto. Es simple pero potente, ideal para tomar notas o editar código.
Evolution: Una aplicación de correo electrónico y calendario que soporta múltiples cuentas y calendarios.
Rhythmbox: El reproductor de música predeterminado. Puedes organizar y reproducir tu música, además de escuchar emisoras de radio por internet.
GNOME Photos: Una aplicación para ver, organizar y editar tus fotos.
Dolphin: El administrador de archivos de KDE. Es muy configurable y ofrece una serie de características poderosas.
Konqueror: Un navegador web y administrador de archivos, aunque Firefox o Chrome suelen ser las alternativas más populares en las distribuciones que usan KDE.
Kate: Un editor de texto avanzado con soporte para múltiples pestañas y resaltado de sintaxis para programación.
KMail: Parte del paquete Kontact, es el cliente de correo electrónico de KDE.
Amarok o Elisa: Reproductores de música con una rica interfaz y muchas características.
Gwenview: Un visor de imágenes que también permite una edición básica.
KOrganizer: Parte de Kontact, es una aplicación de calendario y planificación.
Thunar: El administrador de archivos de XFCE. Aunque es más ligero que Nautilus o Dolphin, sigue ofreciendo todas las características esenciales que esperarías de un administrador de archivos.
Midori: Aunque no siempre viene instalado por defecto, es un navegador web ligero y rápido que se integra bien con el entorno XFCE.
Mousepad: El editor de texto de XFCE. Es rápido y simple, perfecto para editar archivos de texto o tomar notas rápidamente.
Parole: El reproductor multimedia de XFCE. Diseñado para ser ligero y fácil de usar.
Ristretto: Un visor de imágenes rápido y sencillo, perfecto para ver y navegar por tus fotos.
Orage: Calendario y agenda que proporciona alertas y es integrable con otros programas.
Xfburn: Una herramienta para grabar CDs y DVDs. Aunque las unidades ópticas son menos comunes hoy en día, Xfburn es útil para quienes aún las necesitan.
Tanto GNOME como KDE ofrecen un conjunto completo de aplicaciones con interfaz gráfica diseñadas para satisfacer las necesidades básicas de los usuarios. La elección entre uno u otro a menudo se reduce a preferencias personales en cuanto a diseño y usabilidad. Si estás empezando en Linux, te recomiendo probar ambos para descubrir cuál se adapta mejor a ti. Al igual que GNOME y KDE, XFCE ofrece una serie de aplicaciones predeterminadas que satisfacen las necesidades básicas de los usuarios en un entorno de escritorio. Su ventaja es la ligereza, lo que lo hace ideal para hardware más antiguo o sistemas que desean conservar recursos. Sin embargo, no sacrifica funcionalidad por velocidad y sigue siendo un entorno muy capaz.
La terminal
, también conocida como consola
o línea de comandos
, es una interfaz que permite a los usuarios interactuar con el sistema operativo mediante comandos escritos en lugar de utilizar una interfaz gráfica. Es una herramienta poderosa que ofrece una gran flexibilidad y control sobre el sistema.
Administración del sistema: Desde la terminal puedes realizar tareas administrativas como instalar o desinstalar software, gestionar servicios, administrar usuarios y más.
Programación y desarrollo: Los desarrolladores a menudo usan la terminal para compilar código, gestionar versiones, interactuar con bases de datos, entre otras tareas.
Navegación y gestión de archivos: Aunque existen gestores de archivos gráficos, la terminal puede ser más rápida y versátil para ciertas tareas de gestión.
Aprender y solucionar problemas: Puede ofrecer información detallada sobre el sistema y es una herramienta esencial para solucionar problemas y depurar errores.
Terminal (gnome-terminal): Es el emulador de terminal predeterminado en muchos entornos de escritorio GNOME, como Ubuntu y Fedora. Es fácil de usar y viene con características útiles como pestañas, perfiles y personalización.
Konsole: Es el emulador de terminal para el entorno de escritorio KDE. Ofrece características similares al gnome-terminal pero está optimizado para integrarse con KDE.
XFCE Terminal: Diseñado para el entorno de escritorio XFCE, es ligero y funcional, ideal para sistemas con recursos limitados.
Terminator: Es un emulador de terminal avanzado que permite dividir su ventana en varias terminales, lo que es útil para el monitoreo y desarrollo simultáneo.
Alacritty: Un emulador de terminal enfocado en la simplicidad y el rendimiento. Es considerado el terminal más rápido gracias a su renderización con GPU.
Tilix: Es un emulador de terminal que permite dividir la ventana en paneles verticales y horizontales. Es especialmente útil para multitareas.
La terminal es una herramienta indispensable para cualquier usuario de Linux que quiera tener un control completo sobre su sistema. Aunque puede parecer intimidante al principio, con práctica y familiaridad se convierte en un valioso aliado que puede hacer la vida más eficiente y productiva, más fácil. Ya sea que estés utilizando Linux para el desarrollo, la administración del sistema o simplemente por curiosidad, dominar la terminal te abrirá un mundo de posibilidades.
Antes de adentrarnos en la gestión de paquetes es útil conocer algunos comandos fundamentales que te permitirán navegar y trabajar en la terminal de Linux:
pwd
: Muestra el directorio actual en el que te encuentras.ls
: Lista los archivos y directorios en el directorio actual.cd [directorio]
: Cambia al directorio especificado.mkdir [nombre]
: Crea un nuevo directorio con el nombre especificado.rm [archivo]
: Elimina el archivo especificado.rmdir [directorio]
: Elimina un directorio vacío. Para directorios con contenido, puedes usar rm -r [directorio]
.man [comando]
: Muestra el manual del comando especificado, útil para obtener detalles sobre cómo funciona un comando.echo [texto]
: Imprime el texto especificado en la pantalla.clear
: Limpia la terminal.sudo [comando]
: Ejecuta el comando especificado como superusuario. Es una forma de obtener permisos elevados para operaciones que un usuario normal no puede realizar, normalmente para tareas de administración.su
: Cambia al usuario root
o a otro usuario. Si se utiliza sin argumentos, te solicitará la contraseña del superusuario. Para cambiar a otro usuario simplemente añade el nombre del usuario después del comando, como su [nombre_usuario]
.cat [archivo]
: Muestra el contenido del archivo de texto especificado en la terminal.nano [archivo]
: Abre el archivo especificado en el editor de texto Nano, un editor sencillo y fácil de usar en la terminal.cp [archivo_origen] [archivo_destino]
: Copia un archivo del origen al destino.mv [archivo_origen] [archivo_destino]
: Mueve o renombra un archivo o directorio.Ubuntu utiliza el sistema APT
(Advanced Package Tool) para gestionar paquetes. Estos son algunos de los comandos esenciales que necesitarás para gestionar paquetes en Ubuntu:
sudo apt update
: Actualiza la lista de paquetes disponibles y sus versiones, pero no instala ni actualiza paquetes.sudo apt upgrade
: Actualiza los paquetes instalados a sus últimas versiones.sudo apt install [paquete]
: Instala el paquete especificado.sudo apt remove [paquete]
: Desinstala el paquete especificado pero mantiene los archivos de configuración.sudo apt purge [paquete]
: Desinstala el paquete especificado y también elimina sus archivos de configuración.sudo apt autoremove
: Elimina paquetes que fueron instalados como dependencias y que ya no son necesarios.sudo apt search [termino]
: Busca en los repositorios un paquete que coincida con el término especificado.sudo apt show [paquete]
: Muestra detalles del paquete especificado, como su descripción, versión y dependencias.Dominar la terminal y entender la gestión de paquetes es esencial para tener una experiencia completa en Ubuntu en particular y Linux en general. Con el tiempo, estos comandos se convertirán en una segunda naturaleza y te permitirán mantener tu sistema actualizado y personalizado según tus necesidades. Si quieres ver una lista más completa de comandos en mi página personal hay un artículo hablando de ello.
En el próximo capítulo profundizaremos y aprenderemos sobre su arquitectura, cómo se organiza y cómo configurarlo. Aprenderemos también sobre usuarios, permisos, y cómo gestionarlos.
Quizá te puedan interesar
La monitorización es otra de las piezas fundamentales en el desarrollo de software, nos ayuda a …
leer másFlutter es un framework de desarrollo de aplicaciones móviles creado por Google, utiliza el motor de …
leer másPublicar una aplicación en la App Store de Apple puede parecer un proceso complicado, pero con esta …
leer másDe concepto a realidad