¿Cómo actualizar correctamente glibc?

10

El firmware de mi NAS viene con una versión bastante antigua de glibc, a saber, 2.5. Para hacer frente a algunos binarios precompilados vinculados * a glibc2.15, me gustaría actualizarlo. De algunas pruebas simples en un chrootentorno que aprendí, simplemente agregando el más nuevo libc-2.15.soy actualizando el enlace simbólico libc.so.6producirá un sistema inutilizable; probablemente debido a libc-2.15.soestar vinculado a ld-linux.so.3su vez, lo que, por supuesto, también requeriría la versión 2.15 en lugar de la 2.5. Pero antes de descender a demasiadas pruebas y errores,

¿Cuál es el procedimiento correcto para actualizar manualmente glibc?


* a pesar de estar vinculados "estáticamente", todavía se vinculan dinámicamente a glibc ...

Tobias Kienzler
fuente
"Para hacer frente a algunos archivos binarios precompilados (a pesar de estar vinculados" estáticamente ", todavía se vinculan dinámicamente a glibc ...) vinculados a glibc 2.15". Al eliminar los corchetes, esto se reduce a "Para hacer frente a algunos archivos binarios precompilados vinculados a glibc 2.15". No estoy seguro de lo que eso significa.
Faheem Mitha
@FaheemMitha Gracias por señalar eso, nunca me di cuenta de que olvidé terminar esa oración, espero que tenga más sentido ahora
Tobias Kienzler, el
Sí, ahora se lee mejor, aunque tener ese soporte incrustado no ayuda con claridad. ¿Asumo que reconstruir el firmware con una nueva libc no es una opción?
Faheem Mitha
@FaheemMitha Desbracketed ahora. No, desafortunadamente el firmware contiene algunos componentes patentados: /
Tobias Kienzler
Ciudad Nitpick. Usted marca su texto con un *, pero está usando un 1 en su "nota al pie". Sí, eso es (parte de por qué) el software patentado apesta. ¿Buscar firmware de terceros gratis quizás? O desarrolla el tuyo. Es más fácil decirlo que hacerlo, concedido.
Faheem Mitha

Respuestas:

7

Actualizar la biblioteca estándar es arriesgado, ya que algunos programas y bibliotecas pueden depender de la versión actual.

Mi recomendación si necesita ejecutar programas más nuevos es instalar una distribución completa con chroot . Esto requiere más espacio en disco, pero es mucho más simple y menos riesgoso que intentar actualizar libc. Debian proporciona una herramienta para facilitar las instalaciones en un chroot: debootstrap . Consulte Instalación de dos glibc junto a debian / ubuntu (una situación muy similar) para obtener más explicaciones y ¿Cómo ejecuto programas de 32 bits en un Debian / Ubuntu de 64 bits? para un tutorial completo en una situación ligeramente diferente.

Gilles 'SO- deja de ser malvado'
fuente
2
Temía tanto ... En realidad, actualmente estoy usando una instalación Gentoo chroot. Para compilar archivos binarios fuera de Chroot, probablemente sería más fácil degradar el glibc de Gentoo, o usar una versión suficientemente antigua ... Por otra parte, dudo seriamente (o al menos espero que no) esta es la respuesta final.
Tobias Kienzler
¿Qué quiere decir con decir que actualizar glibc "es arriesgado"? Glibc es compatible con versiones anteriores, por lo que generalmente debería funcionar o ¿no entendí algo aquí?
Nils
3
@Nils Lo que te falta es la diferencia entre debería y lo hace . Los programas a veces dependen del comportamiento no documentado que cambia entre versiones.
Gilles 'SO- deja de ser malvado'