Debian - La maldición de la estabilidad

Tras probar Arch Linux, y ubuntu (primero que vi), quise probar debian 12, junto con el entorno de escritorio xfce. Pero, el exceso de deseo de estabilidad del veterano parece ser su maldición, ya que, por ejemplo, gcc o g++ van por la versión 12, mientras que en Arch ya van por la 14, lo que incluye no poder usar el estándar de c 23 bien…

Además, libc.so (dónde están las funciones de c), es incompatible con muchos ejecutables (y la mayoría de apps la usan).

No quiero pasarme a la unstable, por lo que oí del problema de xz-utils, que afecto a debian unstable (no la estable).

¿Alguna forma de actualizar algunos paquetes para evitar problemas de incompatibilidad?

Saludos desde la misma distribución de debian xfce…

2 Me gusta

Lo más parecido a lo que buscas es Debian-Testing, que no es bleeding edge como Sid pero tiene paquetes más actualizados que la stable, pero con ello vienen problemas de posible estabilidad y disponibilidad de paquetes. El problema de los Rolling Release es que eventualmente algo se va a romper y necesitará intervención manual, y digo esto como un usuario de una distro rolling.

1 me gusta

En la documentación de cada programa, lenguaje o lo que necesites, vas a encontrar la opción para descargar la última versión. Algunos te dan directamente el método para añadir a los repositorios ese programa en específico a su versión más nueva.

Por dar un ejemplo, en el caso de Firefox, en Debian todavía está la versión 135 y para la versión 136, simplemente te descargas el .deb de la página oficial.
Para la Raspberry Pi, se debe añadir a los repositorios.

Con Python simplemente te descargas el .tar.xz.

2 Me gusta

@5ombr4, el problema de instalarlo manualmente es que debes mantener actualizado los paquetes tu mismo y no por medio del gestor de paquetes.

Con respecto al post. La idea de Debian es asegurar la estabilidad a mediano/largo plazo. Aunque prefiero algo como Gentoo, donde tengo la opción de instalar los paquetes estables y inestables. Arch me dio unos problemas con las actualizaciones pero Gentoo hasta ahora no (fuera de la pesadilla de actualizar, por ello creé un programa para hacerlo automáticamente).

Realmente depende de que valoras mas, si prefieres estar actualizado y sabes como resolver los problemas si se rompe algo, ve por una Rolling Release.

Como alternativa puedes usar docker para ejecutar tus programas, así puedes mantener las dependencias de tus programas actualizadas y las del sistema siempre funcionando.

1 me gusta

Entiendo perfectamente a lo que te refieres, pero creo que ahí está la gran versatilidad del distributismo de GNU/Linux, y es precisamente la versatilidad y libertad contra el últimoversionismo que impera en el resto de, ya no computación, sino toda la tecnología.

Es precisamente la libertad de no tener que tener la última versión siempre, lo que otorga a las distribuciones de un poder enorme. Actualmente trabajo en sistemas Linux de extrema seguridad, aislado de la red y con un control de acceso y disponibilidad enorme. Precisamente, el hecho de requerir tal seguridad hace que se utilicen sistemas operativos viejos, concretamente Red Hat 5.5 y 6.8, además de algunas Solaris.

La razón de ello, a parte de la estabilidad propia de estos sistemas que carecen los sistemas “siempre actualizados” es que las versiones de los paquetes que utilizan están categorizados y reconocidos, de tal forma que no haya imprevistos y riesgos que puedan derivar en problemas de seguridad, debido a nuevas funciones o cambios no contemplados…

A donde quiero llegar, es que Debian en su estabilidad busca tener conocimiento pleno del paquete y versión que mantiene, de cara a que ningún (o casi ningún) usuario pueda tener un problema con esa versión. Si un usuario necesita lo último, o si necesita versiones más modernas; las puede instalar manualmente desde las fuentes (Linux te permite tener varias versiones del mismo paquete instaladas y siendo dependencias de distintos paquetes), o bien utilizando repositorios que mantengan una mejor actualización, pero teniendo en cuenta que puede haber mayor inestabilidad en este caso.

No tengo un Debian a mano ahora mismo para hacer la prueba, pero técnicamente sería añadir:

deb http://deb.debian.org/debian testing main
deb http://deb.debian.org/debian unstable main

A /etc/apt/sources.list, ajustando versiones si aplicara. Después tras un apt update debería estar accesible apt install gcc-14. Después sería interesante ajustar update-alternatives para corroborar que convivan ambas versiones:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 60

Y finalmente, sudo update-alternatives --config gcc para seleccionar cuál quieres que sea la versión predeterminada. Te recomiendo que indiques, para el ejemplo, la 12 (que es la estable y de la que tirarán muchos paquetes estables de Debian), y la otra la utilices con tus programas concretos. También puedes conmutarlas en caliente según tus necesidades.

1 me gusta

La verdad es que solo me ha tocado hacerlo un par de veces y fue por pura experimentación.
Siendo honesto, desde que termine usando una versión stable (Debian), se me terminaron los problemas. Simplemente instalo la versión estable disponible y todo me funciona a la primera.
Hace tiempo que no he tenido la necesidad de estar a la vanguardia con alguna versión de software, ni siquiera con Python.

@w64 @lefelipe @rwmlknjyr Empecé con Arch Linux (aunque ubuntu fue la primera vez que oí de linux), y ahora quiero probar Debian (ya que mi tío, que trabaja en Sistemas, dice que es lo mejor que hay).
En cierta forma, incursiono un poco en literatura y poesía (pasatiempo), y de ahí el título del presente tema, quería comentar sobre mi primer experiencia con Debian. Pero no es que no me guste, me lo instale en mi portatil personal, y cómo sistema único de mi pc de escritorio (que es peor que la portatil…).

@5ombr4 @ssh Estoy empezando a probar Debian, ya que muchos la recomiendan.
Primera experiencias (que vi yo):

Me dio problemas con las impresoras, una portatil qué solo se usa para imprimir, y no pude conectar debian a la impresora. Le instale Ubuntu y ya no tiene problemas con impresoras.

Estoy desarrollando un motor de videojuegos “Story Engine” (quizá lo publique en esté foro, con gitlab), para crear juegos cómo; elige tu aventura, rol, novela visual, todo eso…
Dependencias: SDL3 SDL3_mixer SDL3_image freetype (SDL3_tff es muy pesado, mejor más manual… =) :wink: )

Al hacerle ldd a SDL3, para ver sus enlaces dinámicos:

./libSDL3.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./libSDL3.so)
./libSDL3.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by ./libSDL3.so)
        linux-vdso.so.1 (0x00007ffc59f9d000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f82d6505000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f82d601f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f82d65f7000)

Lo que no me deja siquiera ejecutar o linkar el ejecutabla…

Al linkar, por ejemplo:

/usr/bin/ld: libs/libSDL3.so: referencia a `fmod@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_strtoull@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_sscanf@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `fmodf@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_fscanf@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `wcslcpy@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_strtoll@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `strlcat@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_wcstol@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_vsscanf@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `wcslcat@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_strtoul@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `__isoc23_strtol@GLIBC_2.38' sin definir
/usr/bin/ld: libs/libSDL3.so: referencia a `strlcpy@GLIBC_2.38' sin definir

Problemas son el estandar de c: libc.so libm.so
El estandar propio y la de matemática.

Lo que me da la impresión de que un holamundo que use printf o puts, en lugar de las funciones del sistema, daría los mismos problemas…

Solo esos problemas vi al empezar a probar mi distro de debian, no es para atacarla, esto lo estoy escribiendo desde debian, y quiero que este sistema sea la parte estable de mi pc (ya que arch linux le instale de todo para poder jugar a juegos tanto de linux como windows, al punto de tener casi ¡2000 paquetes con pacman!)…

¡Gracias por comentar!

1 me gusta

Si querés, podemos revisar lo de las impresoras.
En el trabajo tengo muchas, de diferentes marcas y diferentes modelos. Ninguna me dió problemas.
Solamente en muy pocas, tuve que descargar los drivers para instalarla con cups, pero el 80% de las veces simplemente era seleccionar la impresora, elegir los drivers para el modelo y listo, ni siquiera un tiempo de instalación, era instantáneo.

(Tenemos Brother, Lexmark, HP, Xerox, Pantum, Epson y de varios modelos por marca).

Lo de las impresoras ya lo solucione con ubuntu, pero para decir; impresora hp laser (blanco y negro).
Me preocupa más lo de libc.so y libm.so
Son bibliotecas muy usadas por programas…

Instalar desde repositorio.

Probá esto:

sudo apt install libc6

IMPORTANTE: Reemplazar el “6” por la versión que necesites.

En caso de que el path a la librería no sea reconocido, usas este comando:

ldconfig -n -v [path a la librería]

Instalar descargando la librería.

Entras a la página y en el cuadro de búsqueda escribis la librería que necesites.

Ej: libc.so.6

Después de eso, la copias en /usr/lib y luego el comando:

ldconfig -n -v /usr/lib

ldcondig crea los links necesarios para que se cachee la ubicación.

Cualquier cosa, me avisas.

Buenas,

Yo te diría de virtualizar, pero todo depende del motivo por el que necesites unas versiones más actuales.

Un saludo

En mi caso tengo varios ordenadores, el serio, el servidor usa sólo Debian, quiero estabilidad y fiabilidad, para el de sobremesa uso Arch, que me permite tener lo último y probarlo todo, eso tiene su lado divertido, pero no tanto cuando te falla un servicio que consideras esencial.

Y como sobremesa, Debian cumple, no es tan moderno como otros pero cumple de sobra y sin quebraderos de cabeza.