Raspberry Pi predice una vuelta al stock de siempre durante 2023

¿Se acerca el fin de la crisis del componente que impide que placas como la Raspberry Pi puedan ser compradas por el público general? De acuerdo con lo último que cuentan desde la empresa, la respuesta podría ser sí.

Cualquier maker que en los últimos tiempos haya intentado encontrar hardware para sus proyectos se habrá dado cuenta que conseguir una Raspberry Pi en este momento es misión imposible. No hay stock, y el que hay, tiene precios ridículos. La crisis de stock que vivimos durante estos años está afectando a todos los sectores, y el de los semiconductores es uno de los más perjudicados.

Sin embargo, en una noticia compartida recientemente por Raspberry Pi, nos entregan como regalo de navidad varias noticias positivas. En particular, con los vendedores oficiales habrían conseguido apalabrar un stock de 100.000 unidades de stock que van a mejorar de forma inminente los datos de stock que nos encontramos en sitios como RPILocator, donde es posible visualizar fácilmente si hay stock disponible para productos en estos vendedores oficiales.

De hecho, lo mejor está por llegar. La fundación predice que la situación se mejore en el segundo trimestre de 2023, alcanzando niveles anteriores a la pandemia, para finamlente regresar al stock infinito durante la segunda mitad del año.

Una de las consecuencias de la rotura de stock está siendo la subida de precios. Pese a que la cosa mejore el año que viene, algo que adelantan es que no vamos a ver esa mejora de stock materializada necesariamente en los precios de siempre. La inflación ha disparado el coste de los componentes necesarios para producir estas placas, y regresar al precio de venta original haría que los dispositivos se vendan a pérdidas. Esa es la razón por la que cuando la cosa se tranquilice, notaremos que los dispositivos habrán subido de precio igualmente respecto a lo que podíamos encontrar hace un par de años.

¿Qué es RISC-V?

En los últimos tiempos se han visto avances en la arquitectura RISC-V y ya tenemos desde placas disponibles al público general hasta incluso ordenadores. ¿En qué consiste la arquitectura RISC-V?

De aquí a que acabe el mes idealmente, Pine64 pondrá a la venta la Ox64, un SBC embebido que, con un precio de venta de 6 a 8 dólares, promete llevar los sistemas operativos en tiempo real (RTOS) así como Linux a una pequeña placa que funciona gracias a un grupo de procesadores de arquitectura RISC-V. También este año vimos el lanzamiento del ROMA, un ordenador portátil con cuerpo de portátil normal como los que ya conocemos, pero corazón que funciona gracias a un procesador quadcore, también de arquitectura RISC-V.

¿De dónde sale RISC-V y qué es lo que pretende? Es muy probable que en los próximos años sigamos escuchando más sobre este tipo de procesadores por lo que cabe preguntarse qué cosas pretende poner sobre la mesa.

RISC-V es una arquitectura de procesadores, igual que otras ya existentes en el mercado a día de hoy como la vieja x86, la AMD64 o la ARM. Es decir, es una familia de procesadores completamente nueva y diferente que puede alimentar todo tipo de dispositivos, desde pequeñas placas embebidas para usar en ordenadores SBC hasta ordenadores personales completos y portátiles como los que hemos empezado a ver este año.

Si bien en este momento va a ser complicado ver la arquitectura RISC-V en listas como la Top500, uno de los puntos fuertes de esta arquitectura es su bajo consumo, lo que precisamente la convierte en la arquitectura perfecta para dispositivos pequeños, como placas embebidas, donde las restricciones tampoco permiten excederse demasiado en cuanto a la potencia energética disponible para la propia placa.

El ROMA es un ordenador portátil equipado con un procesador RISC-V.

De todos modos, existe otra razón muy importante por la cual RISC-V va a dar que hablar, sobre todo en el segmento del software libre y de código abierto, y es por el hecho de que RISC-V es una arquitectura de computadores abierta. Aquí existe una confusión que convendría aclarar. No se trata de que RISC-V sea una arquitectura de computadores libre, como se escucha por ahí. Más bien se trata de que las especificaciones de RISC-V están disponibles sin necesidad de pagar royalties.

RISC-V sólo es una especificación. Detrás de RISC-V está la RISC-V Foundation, que se fundó en 2015 y que es quien coordina los esfuerzos por publicar avances y actualizaciones de las especificaciones que hacen funcionar los procesadores RISC-V. En este comité hay empresas de todo tipo, desde tecnológicas como Google o Huawei, hasta organizaciones como la CNCF o la ESA. Curiosamente, Intel, AMD y NVIDIA también forman parte de esta alianza.

Sin embargo, por decirlo de algún modo, lo único que la RISC-V Foundation hace es publicar PDFs. Aparte de las especificaciones, no hay ninguna marca oficial que fabrique los procesadores, como sí ocurre en el caso de otras arquitecturas. En su lugar, son otras marcas de chips quienes fabrican los procesadores RISC-V y los comercializan como «compatibles con RISC-V». Algunas de estas marcas son Bouffalo Lab, Allwinner o Alibaba Group.

Ahora bien, vamos con lo verdaderamente interesante aquí para el ecosistema libre. Las especificaciones de RISC-V están disponible sin royalties ni otro tipo de cobros, lo que las hace completamente abiertas. Cualquier organización que desee fabricar una línea de ordenadores RISC-V puede tomar las especificaciones y comercializar un procesador acorde con ellas. Esta es la principal diferencia respecto a otras arquitecturas similares como ARM, que también trabajan con un modelo de «nosotros especificamos, vosotros fabricáis», pero donde ARM sí que cobra royalties por el uso de la especificación para crear placas y chips.

La Ox64 es un ordenador de tipo SBC (ordenador monoplaca), equipado con un procesador RISC-V que puede ejecutar GNU/Linux

Sin embargo, parte de la confusión que hay con RISC-V está en cuanto a qué ocurre cuando un diseñador de chips tiene acceso a esas especificaciones y fabrica un procesador concreto que implemente RISC-V. Y es que no es obligatorio para ese fabricante publicar sus diseños. De hecho, la mayoría de las implementaciones de RISC-V son privativas, es decir, el acceso al diseño está restringido. De este modo, muchos fabricantes se diseñan sus propios chips, que comercializan por su cuenta.

Existen algunas implementaciones de RISC-V que sí que son abiertas. Es el caso de la XuanTie 910 del Alibaba Group, por ejemplo, que es una de las más destacadas y que precisamente hace funcionar al portátil ROMA. En este caso, existe una versión denominada OpenXuanTie, cuyos diseños en Verilog son abiertos y están disponibles a través de internet.

¿Qué impacto podrá tener RISC-V en los próximos años? En el mundo de los ordenadores embebidos tienen mucho potencial. En otros terrenos, como el de la computación móvil y de escritorio (como teléfonos y ordenadores), compite con ARM en el juego de robarle terreno a arquitecturas como la x86-64, que tal vez no esté pasando por su mejor momento. Intel, uno de los principales fabricantes de x86-64, sabe esto. Esta es la razón por la que en los últimos años se hayan interesado tanto en esta arquitectura. En los últimos tiempos, presentaron la Nios V, una FPGA que utiliza la arquitectura RISC-V.

En definitiva, los grandes fabricantes huelen algo y están probando a poner sus huevos también en esta cesta, por si en unos años les entregase beneficios. Esta arquitectura nos puede dar algunas sorpresas a lo largo de esta década.

Fedora 37 ha salido: cómo actualizo

Hoy 15 de noviembre sale Fedora 37, así que como siempre, cabe resolver las preguntas típicas: ¿cómo actualizo a Fedora 37? ¿Vale la pena formatear?

Hoy 15 de noviembre sale Fedora 37, estando disponible para su descarga de forma oficial desde su página web. Debido a una serie de problemas con algunos bugs que fueron considerados como críticos, la publicación de la versión, inicialmente prevista para la segunda quincena de octubre, se ha venido retrasando semana a semana y sale un mes más tarde de lo esperado. Sin embargo, nunca es tarde si la dicha es buena.

En este blog ya te contamos el mes pasado un resumen de las novedades de Fedora 37, que se pueden resumir en una actualización integral a GNOME 43, haciendo que más aplicaciones se pasen a la nueva versión del lenguaje de diseño Adwaita. Hay cambios sensibles en aplicaciones como el explorador de archivos y el calendario. Además, ahora también será posible instalar páginas web como aplicación si se está usando la versión Flatpak de GNOME Web. Entre otras novedades, también el soporte para Raspberry Pi 4 y la retirada del soporte a la arquitectura ARMv7.

¿Debería actualizar Fedora o instalarlo de cero?

Cada vez que sale una actualización surge la misma pregunta: ¿debo formatear mi ordenador para actualizar Fedora o puedo simplemente realizar una actualización? Este es un proceso que depende de muchos factores: de qué tipo de instalación tengas en tu ordenador, cómo de fácil te vaya a ser recuperar luego el estado de tu entorno de escritorio si formateas (por ejemplo, el tiempo que te pueda tomar volver a instalar todos los plugins y programas después de instalar), y también de tus gustos personales. Hay gente que simplemente prefiere formatear su ordenador cada 6 meses para dejarlo todo limipo como la patena.

Debes saber que Fedora tiene un método de actualización de versiones. Eso significa que, si no quieres, no tienes por qué formatear tu ordenador para actualizar Fedora. Te basta con actualizar de una distribución a otra para cambiar de versión. Si con eso es suficiente, habrás terminado.

Recuerda comprobar que tienes una copia de seguridad actualizada de tu ordenador (incluyendo esos dotfiles que no suelen ser visibles desde la interfaz de usuario) antes de iniciar cualquier tipo de instalación o actualización, por si el proceso pudiese fallar.

Banner ofreciendo actualizar a Fedora 37
Banner ofreciendo la actualización a Fedora 37.

Cómo actualizar a Fedora 37

Existen dos formas de actualizar a Fedora 37. De cualquiera de las dos maneras, es esencial antes de iniciar el proceso de actualización de Fedora, que compruebes que tu distribución está igualmente al día en cuanto a actualizaciones de otros paquetes regulares del sistema. Descarga, instala y reinicia las actualizaciones pendientes.

La primera forma de actualizar Fedora, y también la más directa, sobre todo si estás utilizando el spin oficial de Fedora, es utilizar la aplicación GNOME Software para ello. Cuando sale una nueva versión de Fedora, se muestra un mensaje avisando de ello en la sección Actualizaciones de tu aplicación.

Todo lo que tienes que hacer es iniciar el proceso pulsando el botón principal de la notificación, una vez te hayas asegurado de tener tus copias de seguridad al día. Durante el proceso, se descargarán nuevas versiones de muchos paquetes y tu ordenador se reiniciará, así que no hagas esto inmediatamente antes de algo importante que tengas que hacer.

En caso de que no estés utilizando el spin oficial de GNOME y no tengas acceso a la aplicación GNOME Software, podrás actualizar desde la línea de comandos, algo que también puedes hacer igualmente aunque uses la versión de GNOME.

Para ello, primero debes comprobar que tengas instalada DNF System Upgrade, un plugin para DNF que permite ocuparse del proceso de actualización de Fedora. Una vez lo tengas instalado, utiliza el comando que te propongo a continuación para actualizar a la versión que corresponda. Ten en cuenta que este comando te vale independientemente del spin de Fedora que estés usando, y también te vale incluso si estás usando Fedora 35 todavía, ya que no perderá soporte hasta un par de semanas después de la publicación de Fedora 37.

$ sudo dnf install dnf-plugin-system-upgrade
$ sudo dnf system-upgrade download --releasever=37

A continuación sólo queda seguir los pasos y responder a las preguntas que nos hará.

El proceso de instalación muestra un resumen y una confirmación antes de iniciar el proceso.

¿Qué pasa si estoy usando la beta?

No creo que sea la única persona que no ha podido evitar a echarle un vistazo a Fedora 37 usando el canal Beta. Si bien las versiones beta pueden ser inestables y pueden contener errores que todavía no están corregidas, te permiten a cambio obtener un vistazo sobre lo que se viene con la siguiente versión de Fedora.

En ese caso, tienes que entender que cuando estás usando una versión beta de Fedora 37, ya estás usando teécnicamente Fedora 37. El procedimiento de actualización para pasar de una beta a una versión final es mucho más simple. Cuando sale Fedora 37, se publica una actualización en el canal Beta que hace los cambios a DNF para pasar al canal estable, y automáticamente invalida el canal beta.

¿Esto qué quiere decir? Que te bastará con continuar instalando actualizaciones como siempre mediante el uso de GNOME Software o la aplicación equivalente en el spin de Fedora que estés usando, o bien simplemente ejecutando el comando sudo dnf update en tu terminal, como siempre.

La documentación oficial de Fedora recomienda igualmente hacer un distro-sync después de actualizar al canal Estable. Esto es porque a veces pueden ocurrir problemas con versiones de paquetes que no cuadran entre lo que hay instalado y lo que se ofrece en el canal estable de Fedora. Ejecutaríamos ese comando sudo dnf distro-sync, y con eso nos aseguramos de hacer downgrade de cualquier paquete extraño a la misma versión que se proporciona en el canal estable.

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.

Cómo extraer archivos .rar en Fedora 37 y 36

Todavía queda gente que sigue usando archivos RAR, por alguna razón. Si te ha llegado un archivo RAR, no te preocupes, en este post te cuento cómo extraerlos fácilmente si tu sistema operativo es Fedora.

La gente tiene derecho a evolucionar. Tal vez empezaste usando GNU/Linux en Ubuntu, luego te pasaste a Debian, y luego te pasaste a Fedora. La vida es un camino que vamos fabricando a medida que tomamos decisiones y vamos evolucionando nuestra forma de ser. Entonces, ¿por qué hay gente que en 2022 continúa enviando archivos comprimidos en formato .rar? Si te ha llegado uno de esos, no te preocupes, en este post te cuento cómo extraerlos fácilmente si tu sistema operativo es Fedora.

¿Lo prefieres hablado? Este post también está disponible como vídeo:

El principal problema del formato RAR es que no es abierto. Como tal, es un formato de archivos privativo y existen muchísimas restricciones en cuanto a la elaboración de programas que creen archivos RAR. Es por ello que, si como usuarios de GNU/Linux recibimos un archivo en formato RAR, vayamos a tener algún que otro quebradero de cabeza para encontrar una herramienta con la que abrirlo, debido a que por defecto no va a haber soporte para archivos RAR en la distribución.

En el caso de Fedora, el extractor de archivos de GNOME ya trae soporte para extraer archivos RAR. Dicho de otro modo, debería ser posible extraer un archivo RAR haciendo doble clic sobre el icono del archivo RAR dentro de la aplicación Archivos. En el caso de Fedora 36, se extraería en la misma carpeta en la que está el archivador.

Sin embargo, si estás leyendo esto, es posible que sea porque el paso anterior no te ha funcionado y buscas una resolución para poder abrir ese archivo RAR que se te resiste. También puede ser que busques una forma alternativa, por ejemplo para extraerlos sobre la línea de comandos en un servidor o porque prefieras usar una interfaz alternativa.

Fedora trae un programa llamado unrar-free en sus repositorios princpiales, que ofrece una línea de comandos de código abierto que permite extraer archivos RAR desde la línea de comandos. Para poder instalar unrar-free, deberás utilizar DNF o bien usar una herramienta auxiliar como DNFdragora.

sudo dnf install unrar-free
...
¿Está de acuerdo? [s/N]: s

Cuando se haya instalado, podrás utilizar la terminal para extraer con el comando unrar-free ese archivo RAR que se está resistiendo.

$ unrar Documentos.rar
unrar-free 0.1.1  Copyright (C) 2004 Ben Asselstine, Jeroen Dekkers

Extracting from /home/dani/Descargas/Documentos.rar
Extracting  Documento1.pdf     OK
Extracting  Documento2.pdf     OK
Extracting  Documento3.pdf     OK
All OK

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.