Recuperar la contraseña de superusuario de Debian 11

¿Te has olvidado de la contraseña que le diste a la cuenta de root en tu instalación de Debian? Suele pasar si no la usamos con mucha frecuencia. Te cuento cómo usar el modo rescate para reestablecerla.

Cuando se configura Debian, una de las primeras cosas que pregunta el sistema operativo es qué contraseña le pretendemos dar a la cuenta de superusuario, es decir, a la cuenta root. Otras distribuciones GNU/Linux han decidido restringir el uso de la cuenta root y facilitar que la distribución se instale teniendo una cuenta superusuario como primera cuenta. No es el caso de Debian, que sigue dándole mucha importancia a la cuenta de superusuario root, y que ni siquiera configura por defecto sudo en la cuenta principal cuando se instala el sistema.

Sin embargo, ¿qué hacer cuando no hemos utilizado en una larga temporada esa cuenta y nos hemos olvidado de su contraseña? ¿Cómo podemos reestablecer la contraseña de root en Debian 11? Vamos a ver qué opciones tenemos en este post.

El juego de ejecutar passwd como root

El objetivo es conseguir tener acceso a una shell root desde la que podamos ejecutar passwd. Este es un comando interesante de administración de sistemas UNIX que sirve para cambiar una contraseña. Cuando lo ejecutamos como root, nos permite cambiar la contraseña de cualquier cuenta del sistema.

Si ponemos passwd sin más cuando somos root, cambiaremos la contraseña de root. Tan fácil como esto. De modo que el objetivo de este juego será conseguir una shell de root con la que hacer el cambio de contraseña.

El caso más simple es si ya tienes montado sudo en tu ordenador. Si tu cuenta personal está configurada para poder utilizar sudo, no tienes que hacer nada más que ejecutar sudo su. Con esto, utilizarás tu propia contraseña para acceder a una shell de root.

workstation ~ $ sudo su -
[sudo] contraseña para dani: 
[root@workstation ~]# passwd
Nueva contraseña:

Sólo recuerda que:

  • Cuando teclees la contraseña, esta no será visible por pantalla, así que teclea con confianza y sin detenerte. Con esto evitarás problemas si estás escribiendo palabras y no te equivocarás.
  • Tendrás que escribir la contraseña dos veces y tiene que coincidir. Si la has escrito mal alguna de las veces, te avisará y tendrás que volver a empezar.

Entrar en modo rescate

Si no tienes montado sudo, doas ni nada parecido (cosa que deberías), no quedará otra que entrar en modo de rescate. Resulta sorprendente lo fácil que es arrancar GNU/Linux en modo rescate saltándose cualquier medida de protección, pero si el disco no está cifrado, técnicamente no hay nada que impida hacer esto.

Para entrar en un modo rescate que nos permita saltar la contraseña, todo lo que haremos será reiniciar el ordenador y pulsar e cuando estemos en la pantalla de elección de entorno.

Pantalla de GRUB en Debian 11.

Al pulsar la tecla e aparece el editor de arranque. Con esto podemos modificar los comandos que se ejecutan por GRUB para arrancar el sistema operativo. Por dar la nota, cuando seleccionamos una opción premarcada como Debian GNU/Linux en GRUB realmente ejecutamos todas las instrucciones que se están viendo ahí.

Todo lo que haremos ahora será desplazarnos hacia la línea que empieza por linux (la que empieza por linux /boot/vmlinuz...). Nos desplazamos al final de la línea (aquí puedes usar Ctrl + E para ir rápidamente al final de la línea). Después, borramos las últimas palabras (ro quiet) y en su lugar pondremos rw init=/bin/bash. En definitiva, la línea de linux tiene que quedar tal que así:

    linux    /boot/vmlinuz-5.10.0-19-amd64 root=UUID=... rw init=/bin/bash

Ten en cuenta que la versión del kernel que acompaña a vmlinuz puede cambiar. Además, he suprimido el UUID completo de mi disco porque será diferente al tuyo. Una vez lo hayas comprobado, pulsa Ctrl-X o F10 para arrancar el sistema.

linux /boot/vmlinuz-5.10.0-19-amd64 root=UUID rw init=/bin/bash
El aspecto de GRUB para arrancar en modo rescate

Cuando termine de cargar, verás una shell. Esta shell está conectada al disco duro, por lo que con esto ya tenemos una sesión root para poder ejecutar algunos comandos. Deberías poder comprobar que el disco duro está montado en modo escritura. Esto es algo que puedes hacer ejecutando el comando mount y comprobando si en la salida se incluye una línea que contenga tu partición y la raíz (/). En los flags de montaje debe salir la opción rw. Por ejemplo, en mi caso veo:

/dev/vda1 on / type ext4 (rw,relatime)

Esto es suficiente de por sí.

Como puedes ver en tu shell, root@(none) implicará que tenemos una shell de root. Con esto ya podemos ejecutar el comando passwd y establecer una nueva contraseña para la cuenta de superusuario:

root@(none):/# passwd
New password:
Retype new password:
passwd: password updated successfully
root@(none):/#

Una vez que hagas esto, reinicia tu ordenador. Posiblemente a la fuerza si tienes problemas para escribir reboot. Deberías comprobar que si ahora tratas de escribir la contraseña de superusuario (por ejemplo, usando el comando su), ya te la aceptará.

Debian Backports: qué es y cómo activarlo en Debian 11

En este post te cuento qué es debian-backports y cómo activarlo, para poder instalar versiones más modernas de algunos paquetes que trae Debian 11.

Probablemente te habrás dado cuenta que el software que viene en el gestor de paquetes de Debian es un poco más antiguo que el que se puede encontrar en otras distribuciones. Para paquetes que se actualizan con frecuencia, tal vez te sorprenda descubrir que algunos de estos paquetes en Debian traen versiones un poco más antiguas de lo normal. Existe una razón por la que esto es así.

En Debian, prima más la estabilidad de los paquetes que la frecuencia de actualizaciones. Es por ello que en el ciclo de vida de una versión de Debian, una de las primeras etapas es la congelación del repositorio. Esto ocurre meses antes de que salga una versión de Debian. En ese momento, el repositorio de la siguiente versión de Debian deja de aceptar nuevas versiones de los paquetes que porta, y empieza a aceptar solamente correcciones de errores. La idea es poder garantizar que el software que trae el repositorio por lo menos es robusto y tiene sus errores corregidos.

Sin embargo, en algunas ocasiones esto puede ser un problema. Por ejemplo, puede que nuestro ordenador tenga Debian y queramos utilizar una versión reciente de un SDK o de un programa. O puede que por una necesidad de ciberseguridad tengamos que actualizar a una versión de Apache o NGINX más reciente que la que se porta en el repositorio. Si la versión que hay en los repositorios no es lo suficientemente reciente, podemos tirar de debian-backports, suponiendo que el paquete esté disponible en primer lugar.

En definitiva, debian-backports es una forma de traerse desde la rama testing algunos paquetes para que puedan estar disponibles de forma segura en versiones anteriores de Debian. Por ejemplo, traerse paquetes de la rama testing para poderlos usar de forma segura en Debian 11 pero sin cambiar todo el sistema operativo a testing o a sid, algo que puede ser beneficioso en servidores.

Cómo usar debian-backports en Debian 11

Para utilizar debian-backports, lo primero que tendrás que hacer es agregar el repositorio a tu ordenador. Si bien puedes modificar el archivo /etc/apt/sources.list, mi recomendación aquí es crear un archivo nuevo que termine en .list en el subdirectorio /etc/apt/sources.list.d, por ejemplo, /etc/apt/sources.list.d/backports.list. Dentro, añadirás lo siguiente al final del archivo:

deb http://deb.debian.org/debian bullseye-backports main

Este es un paso que puedes dar con un editor de textos como Vim o Nano. Ten en cuenta que en este caso estamos activando el repositorio bullseye-backports porque se trata de Debian 11.

A partir de ahora, podremos instalar paquetes que se porten en el repositorio de backports. No todos los paquetes están en backports, pero sí hay unos cuantos disponibles. Puedes ver la lista completa en packages.debian.org.

Por ejemplo, imaginemos que queremos actualizar el servidor Redis por uno más reciente que el que trae Debian 11 en sus repositorios normales (la versión 6.0.16). Para instalar un paquete desde backports, tendremos que pedirle a apt que use el repositorio bullseye-backports mediante la opción -t:

sudo apt install -t bullseye-backports redis

Si ya teníamos Redis instalado en el sistema, APT lo interpretará como una actualización de software igualmente y se bajará la nueva versión. En este momento, por ejemplo, bullseye-backports porta la versión 7.0.5.

Un detalle importante a tener en cuenta es que pese a que los paquetes de debian-backports han sido testeados para comprobar que funcionan en Debian 11, igualmente se trata de paquetes procedentes de la rama testing, por lo que puede que no tengan tanta estabilidad y confianza como los paquetes congelados que sí trae Debian.

WattOS, una distro ligera y de poco consumo

WattOS R12 es la última versión de esta distribución minimalista basada en Debian y que cambia el entorno de escritorio y la experiencia inicial.

Este mes salió WattOS R12. Se trata de una distro desconocida porque por otra parte lleva demasiados años sin actualizarse. Sin embargo, su principal autor ha encontrado últimamente tiempo para poner al día su entorno y hace poco publicó la versión 12.

¿Qué es exactamente WattOS? Es una distro más casual y menos conocida que puede ser de utilidad para aquellas personas que quieran utilizar Debian Linux pero que no esten conformes con los defaults que trae éste. En particular, WattOS se caracteriza por utilizar LXDE como entorno de escritorio y por tener un subconjunto reducido de aplicaciones, algo que la convierte en una buena distro para utilizar en ordenadores antiguos… pero no mucho.

Y es que, pese a que Debian 11 está disponible para ordenadores de 32 bits que todavía utilicen la arquitectura i686, WattOS sólo está disponible en este momento en ordenadores de 64 bits, lo que significa que puedes utilizarla para revivir un ordenador viejo, siempre y cuando tenga un procesador compatible. En caso contrario, ni te esfuerces en descargar la ISO porque no se trata de una distro para ti.

Mira esta review como vídeo.

Además de traer LXDE preinstalado, esta distribución agiliza bastante el trabajo para que no haya que hacer lo mismo de siempre tras instalar Debian. En particular, por ejemplo, WattOS trae activos ya los repositorios contrib y non-free, para poder tener más software en el equipo, sobre todo drivers. También destaca que los repositorios de bullseye-backports vienen activos por defecto, para poder instalar versiones más modernas de algunos paquetes que de otro modo habría que obtener a mano.

Incluso antes de instalar WattOS, sorprende el hecho de que disponga de un entorno vivo, para probarlo antes de dar el paso de instalarlo, y que hayan sustituido el instalador típico de Debian por Calamares, un instalador agnóstico de plataforma que cada vez está disponible en más distros.

Finalmente, en cuanto a software preinstalado, además de aplicaciones típicas como PCManFM, gparted o LXTerminal, viene preinstalado VLC, Firefox y Transmission, entre otros programas. Esto es algo que se puede ampliar trayendo software mediante Flatpak. Destaca el hecho de que ya viene preinstalado, facilitando la instalación de software a través de alguno de los repositorios destacados, como por ejemplo Flathub, aunque tendrás que activarlo a mano.

Los requisitos del sistema no quedan del todo claros, aunque en caso de problemas, en su página web oficial proporcionan tanto un foro como un servidor de Discord para intercambiar más información.

Cómo configurar Flatpak en Debian 11 Bullseye

Flatpak es un formato neutro para la distribución de aplicaciones gráficas en GNU/Linux, y en este artículo te explico cómo puedes instalar el soporte para Flatpak en Debian 11.

Flatpak es un formato de distribución de aplicaciones que se ha vuelto bastante popular en los últimos años porque permite fácilmente distribuir versiones consistentes, estables y seguras de aplicaciones en una gran variedad de distribuciones GNU/Linux.

De este modo, los desarrolladores que fabrican las aplicaciones tienen una forma unificada de distribuir de forma segura aplicaciones para que las últimas versiones del software que desarrollan pueda ser utilizado por los usuarios finales, independientemente de la política de actualizaciones que tenga la distribución que se esté usando.

Otra de las ventajas de Flatpak es el hecho de que las aplicaciones pueden correr bajo una política de seguridad especial, que impida a las aplicaciones tener acceso a más directorios del ordenador de lo que sea estrictamente necesario para hacer funcionar la aplicación, o aislar completamente al proceso para que no pueda ver la lista real de procesos que se están ejecutando en el sistema.

Debido a que en Flatpak se proporciona una forma clara de instalar las dependencias, también ahorra los problemas derivados de que un paquete dependa de una biblioteca que no está disponible en el ordenador. Por ejemplo, es posible usar paquetes que usan la versión más reciente de Qt o de GTK+, incluso si tu Debian te instaló una versión más vieja.

Instalar Flatpak en Debian 11

Flatpak está disponible en los repositorios centrales de Debian, por lo que es muy fácil de activar esta función, si instalas el paquete flatpak. Esto lo puedes hacer desde un gestor de paquetes visual (como Synaptic o GNOME Software), o bien desde la línea de comandos usando el siguiente comando

sudo apt install flatpak

Configurar Flathub

Las aplicaciones en Flatpak se organizan en repositorios. El principal repositorio de Flatpak es Flathub, donde encontrarás un catálogo de software libre y no libre que puedes instalar fácilmente en tu ordenador si estás usando Flatpak.

Ten en cuenta que existen más repositorios de Flatpak por ahí. Por ejemplo, tanto GNOME como KDE tienen su propio repositorio Flatpak adicional, donde publican sus propias aplicaciones, para que las puedas instalar independientemente del ciclo de vida de los paquetes de tu sistema operativo.

En una terminal, utiliza el siguiente comando para agregar el repositorio de Flathub a tu ordenador:

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Instalar aplicaciones Flatpak desde la línea de comandos

Ahora que hemos metido Flathub como repositorio en nuestra máquina, podemos instalar paquetes de Flathub. En el siguiente ejemplo, me voy a fijar en Plots, una aplicación que sirve para dibujar gráficas, y que está disponible en Flathub.

Si visitamos la página de Flathub, encontramos instrucciones que nos guían en el proceso de instalación de una aplicación.

Instrucciones para la instalación de un programa
Instrucciones para instalar aplicaciones en Flathub

Si copio y pego el primer comando (flatpak install...), el sistema me hará varias preguntas para confirmar si estoy de acuerdo con los cambios que va a hacer en mi ordenador. Principalmente, me listará los paquetes que va a instalar, que no tiene por qué ser únicamente la aplicación, sino también algunos runtimes como GTK+, GNOME Platform, KDE Platform…

Todo lo que tengo que hacer es confirmar los cambios si estamos de acuerdo respondiendole afirmativamente a las preguntas que nos hará. Una vez se hayan descargado e instalado los distintos paquetes (que puede tardar sobre todo si es la primera vez por aquello de que hay que instalar bastantes entornos de ejecución), podremos lanzar la aplicación usando el comando flatpak run que también podemos copiar y pegar, o bien desde el menú de aplicaciones si lo tenemos bien configurado.

Captura de pantalla de Plots
Plots ejecutándose desde Flatpak

Instalar aplicaciones de forma gráfica

Si no te gusta la terminal, es posible también usar herramientas gráficas. Flatpak se integra con KDE Discover, así que si utilizas KDE, es muy posible que ya puedas buscar e instalar aplicaciones desde Discover.

Sin embargo, si estás usando GNOME, deberás instalar también un plugin para que se puedan listar desde GNOME Software. Este paquete se llama gnome-software-plugin-flatpak y lo puedes instalar usando APT o un cliente gráfico como Synaptic.

A partir de este momento, podremos listar e instalar aplicaciones de forma gráfica usando GNOME Software:

GNOME Software mostrando la instalación de un programa
Veloren es un videojuego que se distribuye mediante Flatpak

¿Cómo instalaría WinRAR en GNU/Linux?

Esta es una de las preguntas más típicas para alguien que llega a GNU/Linux por primera vez. Voy a intentar aclarar un poco la confusión sobre GNU/Linux, archivos RAR y cómo extraerlos.

Lamentablemente, no puedes instalar WinRAR en GNU/Linux porque no existe versión de WinRAR para GNU/Linux. Sin embargo, es posible igualmente extraer de forma gratuita archivos .rar usando el programa unrar. En este artículo te cuento cómo.

Tienes que tener en cuenta, antes que nada, que el formato de archivos RAR es un formato propietario. Esto quiere decir que no es libre y abierto, y que la empresa detrás de WinRAR controla la creación de herramientas que interactúen con sus archivos. Esta es la razón por la que tan complicado es encontrar un software que simplemente extraiga archivos RAR: nadie se quiere meter en problemas con WinRAR.

Aunque puedes hacer lo que quieras, sería recomendable reemplazar los archivos .rar por otros formatos de archivos diferentes para comprimir, que no tengan restricciones tan severas, como .zip o .tar.gz. Con esto, es posible intercambiar más fácilmente archivos comprimidos porque no depende tanto de que las dos personas tengan la capacidad para extraer archivos .rar.

Cómo extraer archivos RAR en GNU/Linux con unrar

La mayoría de distribuciones GNU/Linux traen igualmente un programa en sus repositorios llamado unrar. Si bien WinRAR es un programa para Windows «de pago» (o al menos, trialware), su desarrollador ha tenido la delicadeza de proporcionar una versión gratuita (que no libre) para GNU/Linux que es capaz de descomprimir archivos.

Antes de instalarla, conviene que te plantees si la necesitas. Algunas distribuciones modernas, como Fedora, son capaces de extraer archivos RAR simplemente haciendo doble clic sobre ellos desde el explorador de archivos. Ya hemos hablado de esto alguna vez en esta web. Si lo único que necesitas es extraer un par de documentos, tal vez con esto te baste.

Si no eres capaz, vas a tener que instalar unrar desde el gestor de paquetes de tu distribución. Desde la terminal, tendrás que ejecutar el comando más oportuno para tu plataforma:

  • Ubuntu/Debian/derivados: sudo apt install unrar
  • Fedora/RHEL: sudo dnf install unrar-free
  • Arch o basadas en Arch: instala el paquete rar desde AUR.

Nota importante: si estás usando Debian, tendrás que activar los repositorios non-free, que no suelen venir activos por defecto. En Ubuntu, sí es posible instalarlos a la primera. Para Debian, también tienes como alternativa instalar unrar-free, aunque existen algunas diferencias en el funcionamiento que para algunos archivos RAR puede suponer que sea incapaz de extraerlo en primer lugar.

Una vez lo hayas instalado, ¿cómo se extrae un archivo RAR? Desde la misma terminal, deberás irte a la carpeta en la que está tu archivo RAR usando el comando cd, por ejemplo: cd /home/usuario/Descargas. A continuación, deberás utilizar el comando unrar con la opción x, que quiere decir extraer, y darle el nombre del archivo. Aquí un ejemplo completo:

# Me voy a la carpeta donde está mi archivo:
~ $ cd Descargas


# Ahora extraigo mi archivo RAR
~/Descargas $ unrar x Documentacion.rar
UNRAR 5.61 beta 1 freeware     Copyright (C) 1993-2018 Alexander Roshal
Extracting from Documentacion.rar

Extracting   Documento1.pdf
Extracting   Documento2.pdf
Extracting   Documento3.pdf
Extracting   Documento4.pdf
All OK


# Listo, ya están ahí mis archivos extraídos
~/Descargas $ ls
Documentacion.rar  Documento1.pdf  Documento2.pdf
Documento3.pdf     Documento4.pdf

Las 4 razones que harán de VanillaOS la distro que dará que hablar en 2023

VanillaOS tiene papeletas a volver a hacer interesante y divertido el ecosistema GNU/Linux durante 2023, y en este artículo te voy a contar las razones por las que puede ocurrir esto.

Se espera que en un par de semanas salga la primera beta pública de VanillaOS, una nueva distribución basada en Ubuntu Linux. Esta distribución tiene papeletas a volver a hacer interesante y divertido el ecosistema GNU/Linux durante 2023, y en este artículo te voy a contar las razones por las que puede ocurrir esto.

VanillaOS está basada en Ubuntu Linux, pero no es simplemente otro Ubuntu cambiado de piel, sino que introduce cambios sensibles a la forma en la que trabaja la distribución, que pueden hacer del día a día una experiencia interesante. Van bastantes años donde las distribuciones parece que se han estancado y que avanzan lentamente. Todas las distros están basadas en otra ya existente cambiando algunas cosas, y apenas se introducen cambios interesantes que valgan la pena de cara a evolucionar el estado del arte.

VanillaOS rompe los moldes e introduce una serie de cambios a la forma en la que funciona el sistema operativo que, si bien no son para todo el mundo (mucho menos tal vez para personas que llegan a GNU/Linux por primera vez), pueden servir de inspiración para funciones interesantes que tal vez en unos años veamos incorporadas en otras distribuciones.

Una experiencia GNOME mainstream

El primero de estos aspectos es el entorno de escritorio. GNOME. En principio no debería suponer ninguna novedad, puesto que hoy en día Ubuntu también utiliza GNOME. Sin embargo, VanillaOS trae un GNOME puro y sin añadidos de Canonical. Este es un factor determinante. Ubuntu trae una versión de GNOME altamente modificada, con un dock preinstalado, con soporte para mostar iconos en el escritorio, y con un aspecto de pantalla altamente modificado.

El escritorio de VanillaOS en un ordenador portátil.
Render de VanillaOS propuesto por sus autores. Foto tomada del sitio web oficial.

Si queda en la sala algún fan del viejo Ubuntu GNOME, posiblemente sepa a qué me refiero con esto. Cuando Ubuntu se pasó a GNOME en 2017 y abandonó Unity, esto deprecó inmediatamente Ubuntu GNOME, otra distribución spin que previamente había aparecido para ver cómo sería Ubuntu si utilizase el por entonces reciente GNOME 3. Sin embargo, el salto de Ubuntu GNOME 16.04 a Ubuntu 18.04, pese a que sea el mismo entorno de escritorio, claramente dejó un poco que desear a quienes buscasen una experiencia más neutra. Ubuntu GNOME era un GNOME puro, ligero y azul. En cambio, Ubuntu 18.04 era naranja y con paneles cambiados. En ese sentido, VanillaOS recuerda bastante a lo que era el viejo Ubuntu GNOME. Una interfaz de usuario minimalista y sin muchos cambios respecto a la línea base de GNOME.

Capacidad de elección

Uno de los aspecto más característicos de Ubuntu es su preferencia hacia el sistema Snap. Este año ya vimos como Ubuntu delegaba en Snap ciertos paquetes del sistema esenciales, tales como Firefox, el cual ahora mismo se actualiza siempre por Snap. Otras distribuciones basadas en Ubuntu, como Linux Mint, se bajaron del barco y ofrecen derivados en los que el soporte para Snap está eliminado.

En vez de imponer Snap, una de las primeras cosas que hace el sistema operativo tras instalarse es preguntar qué tipo de gestor de aplicaciones se va a querer utilizar: Snap, Flatpak, AppImage, o una mezcla de las tres opciones. Lo que significa que es más fácil de eliminar el soporte para Snap si no tienes previsto utilizarlo, y mantenerte usando exclusivamente Flatpak si ese es tu interés.

El asistente de configuración de VanillaOS preguntando por el tipo de gestor de paquetes a utilizar.

Inmutable pero no mucho

En los últimos años, hemos visto propuestas para fabricar sistemas operativos inmutables como OSTree. La idea de un sistema operativo inmutable es impedir hacer modificaciones fuera del directorio personal. Por lo general, cuando se instala un sistema operativo de tipo GNU/Linux, se nos permite implícitamente hacer con nuestro disco duro lo que se nos proponga, incluyendo modificar los archivos de carpetas especiales como /usr.

Y a pesar de que desde el punto de vista de la administración de sistemas, este es un paso que a veces hay que dar, por ejemplo, para instalar a mano una aplicación foránea que no se puede obtener fácilmente desde el gestor de paquetes, también es cierto que puede provocar desequilibrios en el sistema operativo. Archivos que se olvidan de eliminar al borrar una aplicación, o conflictos al actualizar porque de repente un programa instalado a mano no es compatible con una actualización de una dependencia de sistema.

Para establecer un término medio, VanillaOS trae una herramienta denominada almost. Con este sistema podemos alternar entre modo ro y modo rw. La principal diferencia es que mientras el sistema esté en modo ro, no será posible modificar la capa base del ordenador. Si en algún momento necesitamos tocar algún directorio del sistema, no obstante, podremos cambiar a modo rw y hacer nuestros cambios, volviendo a poner el sistema oprativo en modo ro en el siguiente arranque. De este modo nos lo tendremos que pensar un poco antes de hacer modificaciones, y el sistema se mantendrá mucho más estático.

VanillaOS también soporta el concepto de «capas», en el sentido de que mientras se aplican cambios, es posible tener un área de staging donde ensayar los cambios que se hagan al sistema antes de aplicarlo. Esto lo podemos utilizar para poner los archivos y ver el resultado que tendría al aplicarlo de forma definitiva. Eso sí, no es un concepto de capas como el que hay en OSTree ni mucho menos, por lo que una vez se aplique de forma definitivamente una capa, se introducen esos cambios en el sistema de archivos real sin vuelta atrás (salvo que lo hagamos a mano, claro).

Las opciones de VanillaOS preguntan qué tipo de sistema operativo se quiere tener, uno inmutable o uno no inmutable.

apx: instala paquetes de forma segura

Sabemos que no siempre es fácil encontrar software para algunas distribuciones GNU/Linux. Muchas distribuciones grandes hoy día usan herramientas como copr o PPA para poder hacer más flexible la obtención de software de terceros en un sistema. Sin embargo, esto a menudo suele ser un foco de problemas en tanto que esos paquetes pueden provocar que tarden más comandos como apt update, o incluso pueden provocar que varios paquetes se bloqueen por incompatibilidad.

Sin embargo, sabemos de sobra quién no tiene problemas de paquetes en sus repositorios, ¿no? Efectivamente, el sistema AUR de Arch Linux. De modo que VanillaOS trae un gestor de paquetes llamado apx, que aparte de ser otro frontend para interactuar con el apt-get del sistema operativo, nos permite algunas cosas especiales.

Por ejemplo, otra de las características de apx es que permite instalar paquetes en contenedores aislados. Con eso, evitaremos dañar el sistema principal al instalar y desinstalar cosas, ya que cabe la posibilidad de que con tanta instalación y desinstalación de cosas, se queden cosas a medio instalar. (¿A quién no le ha pasado que se queda algún paquete sin eliminar del todo porque deja algún archivo de configuración suelto o porque se instaló como recomendación y nunca se quitó?)

Esta característica, no obstante, no está disponible en este momento en máquinas virtuales, así que si apx detecta que se está ejecutando desde una máquina virtual o hipervisor como QEMU o VirtualBox, rechazará activar el soporte para contenedores. Si estás evaluando VanillaOS en una máquina virtual antes de decidirte a instalarlo o no, tendrás que prescindir de esta prueba.

Debian 11.4 ya disponible

Debian 11.4 ha salido, con el único fin de actualizar la ISO que se ofrece para descargar desde su sitio web oficial. Si ya tienes Debian 11, no necesitas hacer nada más.

Desde el sitio de noticias oficial de Debian, se informa del lanzamiento de Debian 11.4 el 9 de julio de 2022. Este tipo de lanzamientos de versión menor solamente sirven para actualizar los paquetes de la distribución base que vienen cuando se descarga el CD o el DVD de Debian 11, pero no introduce cambios nuevos que no hayas obtenido en estos últimos meses como parte de tu apt-get upgrade regular y periódico. Si tienes imágenes ISO de Debian guardadas en tu disco duro o quemadas en un disco USB o CD/DVD, tampoco necesariamente tienes que actualizar esos medios. Instalar Debian 11.1, 11.2 u 11.3 y luego instalar las actualizaciones que te proponga en el primer arranque tendrá el mismo efecto que instalar Debian 11.4.

Debian 11.4 incorpora actualizaciones de seguridad publicadas en los últimos meses a paquetes como Apache2, ClamAV, GNU-TLS, NGINX o unrar. Algunas de estas actualizaciones de seguridad las puedes leer en el sistema de boletines de Debian Security Announcements. También trae actualizaciones de otras correcciones de errores menores, así como la actualización de algunos paquetes que no siguen el ciclo de congelación habitual de Debian, como es el caso de la versión de Telegram Desktop que trae APT o del driver de NVIDIA, que se actualiza a la versión 470. Algunos paquetes sin soporte han sido eliminados por cuestiones de seguridad.

Podrás descargar (si realmente lo necesitas) Debian 11.4 desde su página web oficial o desde algún mirror cercano.

Cómo instalar Docker en Debian 11 Bullseye

Docker es un software bastante popular presente hoy en día en muchos procesos de desarrollo de software y despliegue. Veamos cómo obtenerlo en workstations o servidores que ejecuten Debian 11.

Docker es un software bastante popular presente hoy en día en muchos procesos de desarrollo de software y despliegue. Su capacidad para ejecutar aplicaciones de forma aislada mediante contenedores lo ha convertido en un software vital en muchos servidores que, en los últimos años, han empezado a desplegar aplicaciones de forma «dockerizada» para ahorrarse el esfuerzo que supone instalar sobre el propio servidor todo el software necesario para ejecutar la aplicación.

También, gracias a la nube pública, hoy en día resulta habitual utilizar servicios donde en vez de administrar un servidor, tu proveedor cloud lo administra por ti y te ofrece directamente una forma de configurar y ejecutar contenedores de Docker desde su interfaz de usuario. A veces incluso como parte de un cluster de Kubernetes.

Instalar Docker en Debian 11 Bullseye

Si has pensado ingenuamente que podrías instalar Docker en Debian 11 usando apt install docker y has visto que no obtenías el resultado esperado, ya puedes ir pensando en desinstalar. Este paquete poco tiene que ver con el Docker que estás pensando.

Docker tiene una forma de «presentarse» bastante peculiar, por lo que antes de continuar tal vez sea conveniente contar las diferencias entre las distintas piezas de software que se hacen llamar «Docker».

  • Por un lado, Docker Engine es la parte principal del sistema de Docker. Contiene un demonio (dockerd) y una serie de aplicaciones de control (como el comando docker), y es lo que permite crear y ejecutar contenedores para lanzar aplicaciones de forma aislada, apoyándose en el sistema cgroups que forma parte del kernel Linux.
  • Por otro lado, Docker Desktop es un producto que cada vez más está siendo más promocionado por Docker Inc, la empresa que está detrás de Docker, que agrega una interfaz de usuario para controlar el Docker Engine y que facilita el proceso de instalación. Hay que entender que Docker Desktop no es de código abierto y que es un producto que al usarlo corporativamente en empresas más grandes podría ser de pago y requerir una licencia si no se cumplen los requisitos para tener acceso gratuito.

Si bien Docker Desktop hasta hace un tiempo era un producto exclusivo para los sistemas operativos Windows y MacOS, donde de todos modos es necesaria una máquina virtual que ejecute el kernel Linux para poder hacer uso del engine de Docker, ahora existe Docker Desktop para Linux, sujeto a los mismos términos de uso que sus hermanos para Windows y MacOS. Es por esta razón que en este post va a ser descartado como opción, y se va a hablar únicamente de Docker Engine.

Instalar Docker Engine desde los repositorios centrales de Debian

Debian 11 porta una versión de Docker Engine en sus repositorios principales, bullseye/main. Esta tal vez no sea la última versión de Docker disponible, pero es una versión relativamente reciente (la 20.11), que puede ser útil si no haces uso de las funciones más modernas de Docker.

Una de las ventajas de usar la versión de Docker Engine que hay en bullseye/main es que tu instalación de Docker tendrá más estabilidad, debido a que la política de actualizaciones de Debian congela las versiones de los paquetes y sólo proporciona correcciones de errores o de problemas de seguridad, así que puedes tener claro que tu instalación de Docker seguirá funcionando exactamente igual sin sorpresas todo el tiempo que Debian 11 continúe recibiendo soporte.

En cuanto a las desventajas: precisamente, que no vas a poder hacer uso de las funciones más recientes, que tal vez sólo estén disponibles en la versión de Docker Engine que distribuye Docker por su cuenta.

Para instalar Docker Engine desde los repositorios de Debian todo lo que tienes que hacer es ejecutar en una terminal con los permisos correspondientes

sudo apt install docker.io

El proceso de instalación incluye también la configuración de los demonios y de un grupo llamado docker. Si quieres poder utilizar Docker sin tener que escribir sudo, vas a tener que meter tu cuenta local habitual dentro del grupo docker, por ejemplo:

sudo /usr/sbin/usermod -aG docker [[tu usuario]]

Tratemos ahora de hacer una prueba para confirmar si se ha instalado bien o mal. Lanzamos un contenedor de la imagen hello-world, que es una imagen que se puede usar para depurar la instalación de Docker.

Resultado de ejecutar hello-world dentro de Docker

Si lejos de ver un mensaje de error, vemos que se ejecuta algo como lo logrado en la imagen, es que lo hemos hecho correctamente y que ya lo tenemos listo para utilizar. ¡Congratulaciones!

Instalar Docker Engine desde los repositorios de Docker

Si en su lugar nos interesase optar por una versión más reciente del engine, podemos agregar el repositorio oficial de Docker a nuestro sistema APT, e instalar Docker a través de ahí. Las instrucciones las tienes en su documentación oficial, pero consistirá en dar los siguientes pasos.

Primero instalaremos las dependencias necesarias para poder dar de alta la clave GPG que firma los paquetes que distribuye Docker en su repositorio oficial para Debian:

sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

Después, utilizaremos el siguiente comando para descargar e instalar la clave GPG de Docker:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Para a continuación dar de alta el repositorio en el sistema.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Finalmente, actualizaremos los paquetes de nuevo, e instalaremos Docker Engine:

sudo apt update 
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Por último, validaremos de forma parecida a lo dicho en la sección anterior, que podemos ejecutar un contenedor de la imagen hello-world sin errores, y opcionalmente introduciremos a nuestro usuario principal en el grupo docker si pretendemos invocar comandos de Docker sin utilizar sudo.