[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

como es posible...



Hola,

Tengo una pequeña dudilla desde hace algun tiempo: ¿como puede debian
actualizar una libreria dinamica como por ejemplo la libc o la libgtk
sin tener que parar los programas que la usan?

Supongamos una actualizacion menor: 
libgtk-1.2.so.0.9.1 => libgtk-1.2.so.0.10.1

Normalmente se deberia borrar la primera y copiar la segunda y despues
ejecutar ldconfig. Como los programas que la usan estan linkados con el
soname de la libreria: libgtk-1.2.so.0 la proxima vez que se ejecuten,
cogerían la nueva. Pero... que pasa con los programas que se estan
ejecutando actualmente y ya estan linkados con la antigua...? no pasa
nada? Tengo entendido que si un proceso esta en swap, la parte TEXT del
programa no se mete en swap sino que cuando se vuelve a necesitar se lee
directamente del ejecutable (pido confirmacion de que esto es asi), que
pasaria en este caso? se leeria la libreria nueva sin problemas?? 

Otro problema sería al ejecutar un nuevo programa. Como la librería
antigua ya se encuentra en memoria (usada por otros programas), en
realidad no cogería la nueva sino la antigua puesto que lo que se haría
es mapear la librería compartida (que solo es cargada una vez en
memoria) en su tabla de memoria virtual. Entonces no se empezaría a
utilizar la nueva hasta que no se reinicie la maquina o hasta que se
descargue la antigua porque todos los procesos que la estaban usando han
terminado (?).

Es que me parece increible eso de actualizar la libc sin tener que
reiiniciar.

Saluditos,

__RAFA__


-- 
This is your fortune cookie:

Estoy escribiendo una autobiografía no autorizada.

Rafael Garcia Moreno
qarana...

mailto:rgarcia@qarana.com
Yahoo: bladecoder
GnuPG Public Key: 0x51BAE8DB



Reply to: