Diccionario Linux: ¿Qué es SSH?

SSH probablemente no sea muy relevante si apenas usas GNU/Linux para hacer tareas de escritorio cotidianas. Sin embargo, si tienes varios ordenadores y además utilizas con frecuencia la terminal, entonces es un programa que te puede ser de ayuda incalculable. Sobre todo, si trabajas con servidores en la nube a menudo es tu única forma de interactuar con ellos.

SSH sirve para más cosas, además de la de conectarte de forma remota a la máquina. Por ejemplo, puedes usar SFTP para explorar de forma remota el sistema de archivos de otro ordenador y transferir archivos a tu máquina, o usar scp para copiarlos directamente. También se puede usar para fabricar túneles de red. Esto es algo que contaré otro día en un post aparte porque es complejo de describir aquí, pero te permite hacer cosas como tener servicios web privados en tu servidor web y conectarte a sus paneles de control desde tu ordenador, fabricar un proxy SOCKS, o permitir de forma rápida y chapucera que otras personas puedan visitar un servidor que estés corriendo en tu ordenador.

Sobre cómo puedes activar SSH, lo normal es que tu ordenador ya traiga un cliente SSH instalado. Haz la prueba abriendo la terminal y escribiendo ssh -V. Lo normal es que veas un mensaje que empiece por OpenSSH, ya que es el cliente SSH más popular que hay.

En cuanto al otro lado, es posible que la máquina a la que te quieras conectar ya traiga SSH activo, sobre todo si es un servidor. También puede que sea un ordenador doméstico pero que SSH ya esté activo, o al menos instalado. Para no alargar esta entrada de diccionario innecesariamente, te cuento en un futuro post cómo configurar de forma segura un servidor SSH y también te voy contando cómo activarlo en las principales distribuciones GNU/Linux y sistemas operativos UNIX.

Diccionario Linux: ¿qué es un repositorio de paquetes?

Si llegaste hace poco a GNU/Linux y te has encontrado con ese concepto (o con el del propio paquete, del cual ya hablé en una acepción anterior), te cuento hoy en qué consiste un repositorio.

Un repositorio de paquetes es un almacenamiento en la web desde el que puedes descargar paquetes en tu sistema. Por lo general, todas las distribuciones GNU/Linux montan su propio repositorio de paquetes en su página web o en un FTP para que puedas agregar paquetes en tu sistema con el centro de software o equivalente.

Esto es algo que hoy en día otros sistemas operativos también intentan ofrecer. Windows y macOS tienen sus tiendas de aplicaciones, con las que puedes descargar programas con un click desde un entorno central. GNU/Linux ya fue pionero en esto de evitarte andar metiéndote por páginas web extrañas, y ofreciéndote en su lugar una forma rápida de descargar programas en tu sistema desde un lugar común.

Es común que las distribuciones tengan al menos un repositorio oficial. Por ejemplo, en el caso de Ubuntu, el repositorio oficial es https://archive.ubuntu.com. Instalar software desde ahí aporta algunas ventajas.

Una de las más importantes es que los paquetes de un repositorio oficial están probados para asegurarse de que son compatibles con tu distribución. Con esto, te evitas dar pasos para que luego el programa ni siquiera abra. Por eso a veces hay paquetes, sobre todo entornos de escritorio, que tardan un par de días o semanas en llegar a los repositorios centrales de algunas distribuciones. Los están probando para asegurarse de que funcionan bien con la distro, y si no, están haciendo algunos ajustes para que se adapten bien.

Porque esa es otra ventaja. A veces los paquetes que hay en un repositorio han sido modificados ligeramente por gente que contribuye a la propia distribución, para asegurarse de que se integra bien con las normas. Uno de los ejemplos más claros es como muchas distribuciones modifican la versión de Mozilla Firefox que empaquetan en sus repositorios para desactivar a la fuerza la telemetría y otras características que podrían comprometer la privacidad de sus usuarios.

Algunas distribuciones, además de los repositorios oficiales, tienen otros repositorios adicionales, que pueden contener software extra que no forme parte del repositorio central. Estos son algunos ejemplos.

  • Debian tiene repositorios adicionales, como non-free o backports. El primero sirve para instalar paquetes que no son libres, por ejemplo, algunos drivers que tengan componentes privativos. El segundo contiene software que ha sido publicado posterior a la salida de la versión de Debian, para intentar acercar las funciones más recientes de esos programas a la versión en curso de Debian.
  • En Ubuntu, es común el uso de PPAs para agregar repositorios de código adicionales empaquetados por terceras personas. Por ejemplo, si un desarrollador independiente fabrica su propio programa, puede crear un PPA para distribuirlo a través de su propio repositorio, que se integra con el gestor de paquetes para controlar las instalaciones y las actualizaciones.
  • En Arch Linux existe el AUR, un repositorio de paquetes para Arch creado por los usuarios, que permite instalar miles de paquetes de todo tipo que, por otra parte, no han sido tan verificados como los que sí hay dentro del repositorio principal de Arch Linux.

Diccionario Linux: paquete

Si estás empezando a usar GNU/Linux, una de las palabras que te vas a encontrar y que se usa en la mayoría de distribuciones GNU/Linux es paquete. ¿Qué quiere decir esto exactamente?

Un paquete no es más que el archivo comprimido (piensa en un .zip o en un .tar) que permite instalar algo en tu ordenador. A menudo ese algo es un programa, pero los paquetes a veces también se usan para instalar manuales de usuario, archivos extra, fondos de pantalla o herramientas de desarrollo.

La ventaja de esto, sobre todo si vienes desde Microsoft Windows u otro sistema operativo donde cada programa se instale a su manera, es que esto da una forma única de instalar nuevo software en el sistema. Y como es única, también facilita que existan programas que hace más fácil instalar el programa.

Esto es algo en lo que GNU/Linux fue de los pioneros, pero que hoy en día otros sistemas han aprendido. Tanto Windows como macOS tienen una «tienda de aplicaciones» que permite instalar programas con un click, igual que en los móviles. Sin embargo, sigue siendo muy habitual que en Microsoft Windows, para instalar un reproductor de vídeo o un navegador web, tengas que descargar un programa ejecutable y seguir un asistente, que además a menudo es diferente entre un programa y otro.

Sin embargo, como en GNU/Linux cada paquete tiene la misma forma, sea lo que sea, existen los gestores de paquetes, que son los programas que se usan para instalar y borrar paquetes con el software de un sistema. Y ese gestor de paquetes es el que se ocupa de la instalación por nosotros, para que no tengamos que aprender a usar cada instalador.

Existen varios formatos de paquete, así que es normal que un programa se ofrezca en varios formatos, para que se pueda instalar en varias distribuciones GNU/Linux.

Por lo tanto, cuando en GNU/Linux quieres instalar un editor de vídeo, o un navegador web, o una hoja de cálculo, lo que haces es simplemente localizar su paquete en internet e instalarlo. Esto a menudo se puede hacer desde la terminal, pero también hay programas gráficos especializados, como el Centro de software, la aplicación Software de GNOME, o Discover de KDE, que te dejan navegar de forma gráfica por la lista e instalarlos pulsando un único botón.

El gestor de paquetes también permite desinstalar programas. Es más potente que en otros sistemas operativos, porque a la que instala un paquete lo analiza para saber qué está copiando sobre el disco exactamente, por lo que cuando vayas a borrar un paquete, conoce exactamente qué archivos forman parte del paquete para saber borrar todo lo que pueda borrarse. En conjunto, el gestor de paquetes forma un potente engranaje que permite clasificar de forma casi perfecta todos los programas que tienes en tu ordenador para que no te falte de nada. Pero eso es una definición para otro artículo.


Diccionario: ¿qué es una distro rolling release?

Una distribución GNU/Linux de tipo rolling release es una distro en la que las actualizaciones de paquetes y de la propia infraestructura de la distro entran todo el tiempo y a todas horas, así que siempre usas la última versión de los programas que trae.

Esto contrasta con las que no son rolling release. Ubuntu, Fedora, Debian, NixOS… son ejemplos de distros donde cada pocos meses o años, celebran con un jolgorio el lanzamiento de una nueva versión, como por ejemplo, Ubuntu 24.10 o Fedora 42. Una vez que esa versión sale, los paquetes que hay en los repositorios de esa versión únicamente reciben actualizaciones con correcciones de errores o seguridad, pero si sale una nueva versión de LibreOffice, por ejemplo, la versión de LibreOffice que trae el repositorio de APT de esa versión de Ubuntu no se actualiza; si acaso, lo hará el de la próxima versión que Ubuntu publique.

Esto no afecta a otras formas de distribuir una aplicación, como Snap o Flatpak. En los últimos años, algunos distribuidores como Mozilla o GNOME han tratado de impulsar el uso de estas plataformas porque precisamente pueden esquivar el ciclo de actualizaciones regular de la distribución, y así ofrecer paquetes más modernos.

Las principales distros ahora mismo que usan rolling release son, entre otras, Manjaro Linux, Arch Linux, EndeavourOS o Void Linux. También es posible usar Debian Testing, que es una versión preliminar de Debian que también se comporta como si fuese rolling.

Características de una distribución rolling

La principal característica de estas distribuciones es que, por lo tanto, si mañana sale una nueva versión del entorno de ventanas, de Bash, de LibreOffice o de algún otro programa importante, notarás que al cabo de unos días podrás actualizar directamente a la última versión de tu programa, porque a medida que los paquetes se actualizan por sus autores, los cambios entran en un repositorio central que está en continuo cambio.

Las distribuciones rolling release no suelen ocuparse mucho de las versiones de la propia distro como tal. Arch Linux, por ejemplo, es simplemente Arch Linux. Es verdad que la ISO que obtienes de la página web está etiquetada con el mes en el que estás, porque renuevan el instalador mensualmente para actualizar los paquetes que trae, pero una vez lo instales ya da igual. Manjaro utiliza números, como puede ser 24.1, pero lo hace por la misma razón. Una vez instalado, el sistema se actualiza continuamente.

Ventajas y desventajas

Entonces, ¿qué ventaja puede aportar usar una distribución rolling release? Si eres una persona a la que le gusta utilizar siempre las últimas mejoras y novedades de los programas que usa a diario, puede que una distribución rolling release sacie tu necesidad. GNOME, KDE, Xfce… se actualizarán en los repositorios de tu distribución rolling al poco de estar disponible, aunque esto siempre depende de que se pruebe que no rompe la integridad de la distribución porque algo haya cambiado, así que en algunos casos puede tardar un par de semanas en estar disponible una nueva versión de un programa grande como GNOME.

Sin embargo, ten en cuenta que esto también tiene consecuencias. Por ejemplo, es difícil retener un paquete si quieres evitar que se actualice. Esto ocurre porque las dependencias de ese paquete también se podrían actualizar, provocando errores de compatibilidad, así que además también requieren que frecuentemente andes actualizando el ordenador para garantizar que todos los paquetes siguen funcionando.