¿Qué puede salir mal con una actualización GLIBC?

9

Recientemente instalé un software que mi grupo necesita para un proyecto de investigación que comenzará el próximo septiembre. Resulta que el software tiene un error conocido cuando se usa con glibc 2.12.1. Mi jefe me preguntó si podemos actualizar glibc en el servidor que se supone que debe ejecutarlo. Cue mi silencio escéptico ...

En algún momento, se me ocurrió que jugar con glibc era una idea tan buena como jugar con un puma hambriento; Sin embargo, no he podido determinar la fuente de esta creencia. Entonces, si sigo adelante con esto:

  1. ¿Estoy haciendo algo flagrantemente estúpido (por ejemplo, no solucionaré mi problema, bloquearé mi servidor o iniciaré un apocalipsis zombie)?
  2. ¿Qué puede ir mal?
  3. ¿Qué es probable que salga mal?
  4. ¿Cómo evito las respuestas a 2 y 3?
Siete
fuente
3
Primero, verifique si su distribución tiene actualizaciones de glibc que corrigen el error. Un glibc particular de una distribución puede contener muchos backports / correcciones de errores en su glibc en comparación con el glibc oficial, pero la versión de distribución sigue siendo la misma.
nos
1
Mientras tenga algún medio extraíble de arranque (memoria USB, CD, DVD), la máquina no está realmente bloqueada. El rescate será posible reinstalando glibc desde allí. Para evitar cualquier peligro, podría intentar compilar un nuevo glibc como usuario no root y --prefix=$HOMEluego señalarlo LD_LIBRARY_PATHy ver si funciona. Como usuario no root, no puede arruinar todo el sistema, sin importar lo malo que se equivoque. Si eso funciona, cámbielo --prefix=/usr/local/bleeding-edge-glibcy documente LD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/libcomo un requisito para el proyecto de investigación
Alan Curry
1
¿No puedes actualizar la distribución? Y debe decirle al usuario cuál es el glibcerror al que le teme y qué tipo de software está utilizando. Puede parchear su software (suponiendo que tenga su código fuente), o configurar de otro modo su sistema, para evitarlo.
Evite usar software de servidor antiguo para nuevos proyectos siempre que sea posible.
Michael Hampton

Respuestas:

5

A menudo es posible compilar una biblioteca más nueva y hacer que un software use una biblioteca diferente a la de todos los demás.

El mayor problema entre las versiones de libc es el almacenamiento local de subprocesos, IIRC. Si está pasando este hito, todas las apuestas están canceladas.

Habiendo dicho todo eso, recomendaría encarecidamente que simplemente actualice la distribución a algo moderno. Es probable que hacer mejoras poco sistemáticas provoque el tipo de dolor que te tiene persiguiendo tu cola durante meses.

Tom Newton
fuente
2

Puede consultar la tabla de compatibilidad para determinar las versiones compatibles con binarios.

Por lo general, no es un problema actualizar glibc a una versión más nueva, pero debe compilarlo con los mismos indicadores de configuración que se utilizan en su distribución (consulte el archivo de especificaciones en el paquete SRPM apropiado).

ingrese la descripción de la imagen aquí

linuxbuild
fuente