La semana pasada fue un tanto amarga para System76. Aparte de su conflicto con GNOME, la compañía tuvo que ver cómo su sistema operativo, Pop!_OS, era puesto en evidencia en el canal de YouTube Linus Tech Tips después de que un intento de instalar Steam se llevara por delante el entorno de escritorio.
Linus Sebastian, el protagonista del canal Linus Tech Tips, intentó usar o poner a prueba Linux como sistema operativo de escritorio. Para ello, primero optó por Pop!_OS, una de las distribuciones más amigables con los usuarios y las gráficas de NVIDIA. Todo parecía ir aparentemente bien hasta que se puso a instalar Steam. Primero lo intentó con la tienda, pero tras fallar, probó a través de APT. A pesar del aviso que le saltó, Linus decidió tirar para adelante con la instalación de la aplicación, lo que tuvo como consecuencia la desinstalación del entorno de escritorio. Tras reiniciar, como es obvio, ya no había interfaz gráfica.
Lo que le pasó al protagonista del popular canal de YouTube, que cuenta con más de 14 millones de suscriptores, es que le impactó un bug detectado al menos hace dos meses en Pop!_OS, pero que no fue corregido hasta después de ser expuesto por Linus Tech Tips. La gran cantidad de seguidores con los que cuenta el canal hizo que el hecho se volviera viral, suponiendo un duro golpe para el escritorio Linux.
Siendo justos, aquí hay que repartir culpas. Primero, Linus no tuvo que haber procedido con la instalación de Steam tras saltarle el aviso. La versión que intentó instalar fue la procedente de los repositorios de Pop!_OS, mientras que los usuarios de Ubuntu y derivadas suelen emplear la procedente de la web oficial de Steam. Segundo, no puede ser que la instalación de un lanzador para el cliente de una plataforma de videojuegos termine desinstalando componentes esenciales del sistema operativo. Es algo que por diseño no debe ocurrir.
Para que este desaguisado no vuelva a ocurrir, System76 tomó la decisión de adoptar en su implementación de APT medidas (1 y 2) que impidan la desinstalación de componentes esenciales del sistema operativo. Después la compañía decidió entablar conversaciones con Debian para implementar al menos algo parecido en la rama principal de APT, cosa que ha sido aprobada (1 y 2) para la versión 2.3.12 del gestor de paquetes.
A partir de APT 2.3.12, el gestor de paquetes ya no debería de resolver automáticamente cuando un proceso intenta desinstalar componentes esenciales o protegidos, forzando de esta manera al usuario a tener que resolver el problema de dependencias manualmente a través de la adición de un argumento. Retomando el caso que nos ocupa, la instalación de Steam debería de ser denegada en un principio para proteger el sistema operativo. Quizá queda por ver hasta qué punto han sido flexibles los desarrolladores de APT con la implementación de esta medida.
Hechos como este llevan a uno a preguntarse si el escritorio Linux no necesita una vuelta de tuerca, una vuelta de tuerca que ha quedado plasmada de forma clara en Fedora Silverblue, sistema en el que cosas como esta son imposibles que ocurran por diseño gracias a la inmutabilidad y a que delega la instalación de las aplicaciones principalmente en el formato Flatpak.
Fuente: muylinux