¿7zip extrae a un archivo temporal y luego cambia el nombre del temporal al destino real?

¿7zip extrae a un archivo temporal y luego cambia el nombre del temporal al destino real?

Hago esta pregunta porque me gustaría poder descomprimir un archivo que también puede contener el mismo programa que llama a 7zip para descomprimir el archivo. Linux/UNIX permite eliminar o cambiar el nombre de un archivo mientras está en uso, pero no permite abrirlo para escribir.

Respuesta1

La respuesta es sí y no.

Con el comando de extracción para 7zip no debería crearse un archivo temporal. Sin embargo, esto sucede en Windows cuando se usa arrastrar y soltar en el Explorador de Windows (tomado de la documentación enhttp://www.7-zip.org/faq.html, ctl-f buscar temperatura).

Aunque estás en Linux.

Para estar 100% seguro de que esto no sucede en Linux, creé y luego extraje un archivo grande y ejecuté el programa a través de strace:

strace -a88 -- 7z y byob.7z 2>&1

Solo vi los archivos existentes en el directorio de trabajo actual desvinculados antes de sobrescribirlos y los únicos archivos a los que se accedió fueron los archivos en el directorio de trabajo actual.

Pruebe usted mismo para verificar que no me perdí nada.

Espero que esto te ayude.

Respuesta2

Su pregunta es sobre ejecutable (o script) file1, llamar a un mecanismo que crea uno nuevo file1(en el mismo lugar).

Por lo que tengo entendido sobre los sistemas de archivos en Unix, esto requiere una paliza file1mientras está abierto (para su ejecución). La forma en que esto sucede es que el clobber hace que el original file1se desvincule, pero como está abierto, en realidad no se elimina. Sin embargo, ya no ocupa el nombre file1en ese directorio. El nuevo file1se crea en una ubicación separada (usando el nombre correcto). Cuando el anterior file1completa la ejecución y sale, se elimina. Sin embargo , deberías quedarte con lo nuevo file1existente.

Advertencia: Esto son en gran medida conjeturas basadas en mi conocimiento parcial. Quizás alguien aquí con más conceptos de sistemas de archivos lo afirme o corrija. Mientras tanto, le sugiero que tome esta respuesta sólo como teórica y no base sus soluciones en ella sin una verificación experimental adicional.

información relacionada