Monte el archivo zip como un sistema de archivos de solo lectura

24

Estoy buscando una manera de montar un archivo ZIP como un sistema de archivos para poder acceder de forma transparente a los archivos dentro del archivo. Solo necesito acceso de lectura: el ZIP no se modificará. El consumo de RAM es importante ya que esto es para un sistema embebido (con recursos limitados). ¿Cuáles son las opciones disponibles?

Grodriguez
fuente
¿Has probado la mount -o loopopción?
Sree
Sí, la pregunta es qué sistema de archivos usar.
Grodriguez
Si está buscando un sistema de archivos comprimido de solo lectura, considere usar squashfs.
WGH
No estoy buscando "un sistema de archivos comprimido de solo lectura" de forma genérica. Estoy buscando específicamente una forma de montar un archivo zip como un sistema de archivos de solo lectura.
Grodriguez
Ver SU: 367540 para una pregunta similar sobre WinNT.
n611x007

Respuestas:

26

fuse-zip Es una opción y pretende ser más rápido que la competencia.

# fuse-zip -r archivetest.zip /mnt

archivemount es otro:

# archivemount -o readonly archivetest.zip  /mnt

Es probable que ambos necesiten abrir todo el archivo, por lo tanto, no será particularmente rápido. ¿Ha considerado extraer el ZIP a un HDD o una memoria USB de antemano y simplemente montar eso de solo lectura?

garethTheRed
fuente
1
La velocidad no es un problema, pero el consumo de RAM sí. USB o HDD no es una alternativa. Este es un sistema integrado sin un HDD o puertos USB.
Grodriguez
Supongo que la conclusión es que necesitará probarlo dentro de su situación particular y ver cuál, si es que hay alguno, es el mejor para el uso de la memoria. Pensé que depende de qué tan grande sea su archivo y también cuántos archivos hay dentro de ese archivo. Si tiene control de cómo se crea el archivo ZIP, podría considerar un formato diferente, como una imagen de disco sin formato que se puede montar en bucle, que puede ahorrar RAM.
garethTheRed
Sí, tendré que hacer la prueba. Pero antes de eso quería saber si otros tenían alguna experiencia que pudieran compartir :) (Por cierto, no tengo control sobre el archivo ZIP).
Grodriguez
2
@Grodriguez Con un archivo interno de 1GB +, fuse-zipel uso de memoria de 1GB +. Por lo mismo, archivemountel uso de mem todavía era bajo.
n611x007
7

Puede usar fuse-zip para montar zip como solo lectura.

1 - Instala fuse-zip en tu sistema.

UBUNTU

sudo apt-get install fuse-zip

CENTOS / REDHAT / FEDORA

yum install fuse-zip

2 - Ejecute el siguiente comando para montar zip como solo lectura.

fuse-zip -o ro /path/abcd.zip /path/to/mount/directory

3 - Utilice el siguiente comando para desmontar el directorio

fusermount -u /path/to/mount/directory
Vaibhav Panmand
fuente
Gracias. ¿Hay alguna información disponible sobre el consumo de memoria? Lo que funciona bien para el escritorio podría no funcionar tan bien en entornos con recursos limitados.
Grodriguez
No hay menciones de consumo de memoria allí.
Grodriguez
Google Code se ha cerrado, el enlace de arriba se ha movido a bitbucket.org/agalanin/fuse-zip/wiki/PerformancePage
silpol