¿Cómo puede Ubuntu actualizar las aplicaciones en ejecución sin tener que cerrarlas mientras que Windows no puede?

11

Ejecutando Ubuntu 12.04 de 64 bits.

Principalmente actualizo a través de la terminal usando sudo apt-get update && sudo apt-get upgrade.

No entiendo esto: tener Firefox o cualquier otra aplicación integrada se ejecute activamente junto con el proceso de actualización que se ejecuta simultáneamente en la terminal, que está actualizando Firefox a una versión más nueva. Soy consciente de que reiniciar Firefox hará que Firefox se abra como la versión más nueva.

Por ejemplo, al actualizar en MS Windows 7, solicita cerrar la instancia activa de la misma aplicación (si está activa) antes de actualizar.

¿Cómo reemplaza Ubuntu la aplicación activa de trabajo a una versión más nueva sin interferir con su instancia activa?

¿Qué sucede exactamente al final del proceso de actualización en este caso?

atenz
fuente

Respuestas:

19

Para el ejemplo de actualización en MS Windows 7, solicita cerrar la instancia activa de la misma aplicación (si está activa) para la actualización.

¿Cómo reemplaza Ubuntu la aplicación activa de trabajo a una versión más nueva sin interferir con su instancia activa? [Notado por muchos paquetes]

Trataré de explicar esto de la manera más simple posible. La mayoría de los sistemas de archivos de Linux son ligeramente diferentes de los sistemas de archivos de Windows (NTFS). En esencia, ambos esencialmente contienen una tabla de índice de nombres de archivo (entradas) que apuntan a los datos reales almacenados en el disco. En NTFS, esto se denomina MFT (tabla maestra de archivos). Es posible que haya visto ese nombre desplazarse si ejecuta a chkdsk.

Sin embargo, la "ligera diferencia" que mencioné es que las tablas de índice de Linux, si se quiere, consta de dos niveles: el índice y los inodos . Los inodes contienen los metadatos reales del archivo, incluida su ubicación física en el disco; el "nombre de archivo" en el índice es simplemente un enlace (duro) al inodo.

Cuando actualiza / actualiza una aplicación en ejecución, los archivos actualizados se escriben en el disco, los inodes apuntan a los nuevos datos creados / actualizados, y los nombres de los archivos también se actualizan para vincular a estos nuevos inodes. Pero , para cualquier archivo que ya esté en uso por una aplicación en ejecución (es decir, existen identificadores de archivo), sus nombres de archivo continuarán apuntando a los inodos antiguos (que contienen los datos antiguos) hasta que los identificadores de archivo estén cerrados. Esto generalmente ocurre cuando sale de la aplicación, o para algunos archivos del sistema, cuando reinicia. En este punto, los datos antiguos se eliminan realmente de su disco.

ish
fuente