Home Ciencia y Tecnología Reflexiones personales sobre Linux inmutable

Reflexiones personales sobre Linux inmutable

41
0

Las distribuciones inmutables se están extendiendo lentamente por el mundo de Linux, pero ¿debería importarle? ¿Son amigables para hackers? ¿Qué significa “inmutable”, de todos modos?

Inmutable significa “no sujeto o vulnerable al cambio” de acuerdo con Merriam-Webster, que no es 100% preciso en este contexto, pero está lo suficientemente cerca y el nombre está allí, así que estamos atrapados con él. Las distribuciones inmutables están sujetas a cambios, es solo que cómo las cambias es bastante diferente al de Linux estándar. ¿Te importará esto? ¡Sigue leyendo para averiguarlo! (O, si ya conoce las respuestas, siga leyendo para averiguar qué tan enojado debe estar en la sección de comentarios).

La inmutabilidad es un pensamiento basado en la nube: el sistema tiene un estado bien conocido, y siempre está en él. Todo lo que no forma parte del sistema central está en contenedores y controlados. Estoy escribiendo esto a partir de una distribución basada en KDE llamada Aurora, parte del proyecto Common Blue que se basa en el trabajo de escritorio atómico de Fedora. Se factura a sí mismo como para “desarrolladores perezosos”.

La ventaja de este hipotético desarrollador perezoso es que el sistema base ya está construido, y no se puede distraer jugando con él. Funciona, y no es possible que se rompa. Cada instalación es esencialmente idéntica a cualquier otra instalación, lo que significa que la reproducibilidad está casi garantizada. No más fafe en discutir en foros para descubrir qué biblioteca es conflictiva con la cual. En un sistema inmutable, todos han sido seleccionados para jugar bien juntos, y cualquier otra cosa se envía de forma segura. (Nuevamente, un very best en la nube). Si los desarrolladores cometen un error durante una actualización, bueno, ¡solo vuelva!

50 tonos de inmunabilidad

Los diferentes sabores de Linux inmutable difieren en la forma en que lo logran, pero todos tienen reversiones como capacidad básica. Cada cambio al sistema se convierte en una imagen nueva e indivisible; Por eso hablamos de actualizaciones atómicas. Creas una nueva imagen del sistema cuando actualiza, pero no comienza a usarla hasta que reinicia el sistema. (Esto tiene algunas ventajas para la estabilidad, como se puede imaginar, aunque el reinicio puede envejecer). La imagen anterior se mantiene en su sistema, en caso de que la necesite.

Microos y sus descendientes (como Aeon) usan un sistema basado en instantáneas de BRTFS para proporcionar reversiones. Los escritorios atómicos de Fedora, como SilverBlue, y los azules aguas abajo universales que se basan en Fedora como Bazzite o Aurora usan un sistema llamado Ostree, que es considerablemente más complejo e interesante. Puedes hacer algo related con Nix, por supuesto, pero esa es una tetera de pescado completamente diferente.

Ostree se anuncia a sí mismo como “GIT para los binarios del sistema operativo”. Cada actualización, o cada paquete instalado está en capas en el árbol y se puede enrollar si es necesario, en masa, o individualmente. Puede empaquetar ese árbol de compromisos y implementarlo en un nuevo sistema, haciendo que diseñar nuevas “distribuciones” tan triviales que realmente no merezca el nombre. En teoría, puede instalar todo a través de Ostree, pero cuanto más tome su sistema de la imagen base, menos tendrá que “cada sistema es idéntico” de la resolución de problemas fáciles de los que a los chicos inmutables les gusta hablar.

Por supuesto que tu hacer Desea instalar aplicaciones y lo hace de la misma manera que puede en un servidor: en contenedores. Qué tipo de contenedores puede variar según el gusto, pero generalmente eso significa plano para aplicaciones GUI. Las distribuciones inmutables basadas en Fedora como SilverBlue o Aurora usan Flatpak, al igual que OpenSuse. (Appimage y Snap también son opciones, técnicamente hablando, pero ¿a quién le gustan las instantáneas?) El equipo de Common Blue agrega en Homebrew para aquellas aplicaciones terminales que no tienden a obtener plateros. Admito que al principio me sorprendió ver Homebrew cuando comencé a usar Aurora, ya que lo sabía como “el administrador de paquetes faltante para macOS”, pero su inclusión tiene mucho sentido cuando lo piensas.

MacOS es el primer unix inmutable

MacOS, ya ves, es el primer Unix inmutable. Por mucho que en la comunidad de Linux no nos guste hablar de eso, las Mac no son solo compatibles con POSIX: ejecutan Unix (™) certificado. Y Curputino se ha estado moviendo hacia esta cosa “inmutable” durante mucho tiempo, hasta que Catalina finalmente selló las carpetas del sistema completamente en un volumen de solo lectura. Las actualizaciones para macOS también vienen como instantáneas para reemplazar el volumen del sistema; ciertamente podría llamarlas “atómicas”. Dado que el volumen del sistema está bloqueado, los administradores de paquetes tradicionales no podrán funcionar. Homebrew fue creado para resolver ese problema. Funciona igual de bien en un sistema Linux que tiene el mismo bloqueo aplicado a sus carpetas de sistema.

Si Homebrew no es su taza de té, y parece no ser de todos, ya que creo que Common Blue es la única distribución que se enviará con él, puede ser más duro en la contenedorización con Docker o Podman. En algún punto intermedio, podrías usar algo como DistroBox. Si no ha oído hablar de él, DistroBox es un marco para implementar sistemas Linux tradicionales dentro de los contenedores. Para los desarrolladores, es very best para probar, incluso si no lo basa en una distribución inmutable. Si nunca has trabajado en la nube, todo esto puede sonar como Rube-Goldberg Gobbbly-Gook, (“Linux en una caja en mi Linux?”) Pero una vez que te adaptas, no es tan malo.

¿El año de inmutable en el escritorio?

La pregunta es: ¿quieres adaptarte a ella? ¿Es necesario el pensamiento basado en la nube en el escritorio? Bueno, diría que depende de quién esté usando el escritorio. Absolutamente dirigiría a los usuarios de Home windows que están pensando en cambiar a Linux a raíz de la EOL de Home windows 10 a una distribución azul common, y probablemente aurora ya que KDE es más Home windows que Gnome. La mayoría de esos usuarios de ex Home windows son personas que solo quieren usar una computadora, no jugar con ella. Si eso lo describe, entonces tal vez una distribución inmutable podría ser para su gusto.

MacOS ha demostrado que muy pocos usuarios de escritorio nunca notarán si pueden acceder a las carpetas del sistema o no; Están más interesados ​​en tener un entorno estable y reproducible para trabajar. Por lo tanto, el Linux inmutable puede ser la forma de traer la corriente principal de Linux, ciertamente cree que Steam sí, con vapor. Para su caso de uso, es difícil argumentar los beneficios: necesita un sistema base estable para la pila de tarjetas que se juega en Linux, y el soporte técnico se simplifica mucho para un sistema operativo bloqueado en el que no puede instalar paquetes. La creciente popularidad de Bazzite, la distribución centrada en los juegos de Common Blue, también habla de esto.

Hay inconvenientes en este tipo de sistema, por supuesto, y es importante reconocerlo. Algunas personas realmente odian la contenedores porque Flatpaks y otras opciones similares, usan más memoria, tanto en el disco como en la RAM. Por supuesto, no todo está disponible como plano, o en casería casera si el sistema lo usa. Si desea usar Toolbox o DistroBox para obtener un conjunto de paquetes específicos de distribución, bueno, por supuesto, ejecutar un sistema Linux adicional completo en un contenedor tendrá una sobrecarga.

Desde una perspectiva estética, no es tan elegante como un entorno tradicional de Linux, al menos para algunos ojos, incluido el mío. Aquellos de nosotros que cambiamos a Linux porque queríamos un management absoluto sobre nuestras computadoras podrían no sentirnos demasiado bien sobre la etiqueta de “no tocar” garabateados implícitamente en las carpetas del sistema, incluso si obtenemos algo como rpm-ostree para hacer cambios con. Incluso con un administrador de paquetes, hay personalizaciones y ajustes que simplemente no puede hacer en un sistema de solo lectura. Para aquellos de nosotros que tratamos a Linux como un pasatiempo, eso es probablemente un no-go.

Para el “desarrollador perezoso”, Aurora se vende a, bueno, esa es quizás una historia diferente. Hablando de perezoso, he estado usando Aurora durante unos meses, casi a pesar de mí mismo. Inicialmente lo cargué como el último paso en una excursión de ascenso para ver si podía encontrar un buen reemplazo de Home windows 10 para mis padres. (Creo que esto es todo, para ser honesto). Todavía está en mi computadora portátil principal simplemente porque está muy discreto que no puedo pensar en ninguna razón para instalar nada más.

En algún momento eso puede cambiar, y cuando lo hace, podría corregirme demasiado y hacer una construcción de Linux desde cero o probar como nixos como he estado significando. Algo así me permitiría recuperar el sentido de agencia que he perdido al equipo de Common Blue Dev mientras dirige Aurora. (Ha habido momentos en los que puedo sentir la mano fantasmal de un sistema imaginario instándome a no meterme con mi propio sistema).

Después de ver qué tan bien puede funcionar la contenedores en el escritorio, Nix parece más atractivo: puede hacer la mayor parte de lo que este artículo habla con las distribuciones inmutables, pero sin confiar en la configuración de ninguna faceta del sistema a nadie más. ¿Qué opinas? ¿Vale la pena los beneficios promocionados para la estabilidad, la reproducibilidad y la seguridad de una distribución inmutable? ¿La hierba es más verde en la tierra de Nix? Si has probado una de las distribuciones inmutables de Linux, nos encantaría escuchar lo que piensas en los comentarios.

fuente