Zamontuj plik zip jako system plików tylko do odczytu

24

Szukam sposobu na zamontowanie archiwum ZIP jako systemu plików, aby uzyskać przejrzysty dostęp do plików w tym archiwum. Potrzebuję tylko dostępu do odczytu - plik ZIP nie zostanie zmodyfikowany. Zużycie pamięci RAM jest ważne, ponieważ dotyczy to systemu osadzonego (z ograniczonymi zasobami). Jakie są dostępne opcje?

Grodriguez
źródło
Próbowałeś już mount -o loopopcji?
Sree
Tak, pytanie brzmi, którego systemu plików użyć.
Grodriguez
Jeśli szukasz skompresowanego systemu plików tylko do odczytu, rozważ użycie squashfs.
WGH
Nie szukam „skompresowanego systemu plików tylko do odczytu” w sposób ogólny. Szczególnie szukam sposobu na zamontowanie pliku zip jako systemu plików tylko do odczytu.
Grodriguez
Zobacz SU: 367540, aby uzyskać podobne pytanie dotyczące WinNT.
n611x007,

Odpowiedzi:

26

fuse-zip jest opcją i twierdzi, że jest szybszy od konkurencji.

# fuse-zip -r archivetest.zip /mnt

archivemount jest inny:

# archivemount -o readonly archivetest.zip  /mnt

Oba będą prawdopodobnie musiały otworzyć całe archiwum, dlatego nie będzie to szczególnie szybkie. Czy zastanawiałeś się wcześniej nad wyodrębnieniem pliku ZIP na dysk twardy lub pamięć USB i po prostu zamontowaniem tego pliku tylko do odczytu?

garethTheRed
źródło
1
Szybkość nie jest problemem, ale zużycie pamięci RAM jest. USB lub HDD nie jest alternatywą. Jest to system osadzony bez portów HDD lub USB.
Grodriguez,
Podejrzewam, że najważniejsze jest to, że musisz to przetestować w konkretnej sytuacji i sprawdzić, które z nich jest najlepsze do wykorzystania pamięci. Myślałem, że to zależy od tego, jak duże jest twoje archiwum, a także od liczby plików w tym archiwum. Jeśli masz kontrolę nad sposobem tworzenia pliku ZIP, możesz rozważyć inny format, taki jak surowy obraz dysku, który można zamontować w pętli - co może zaoszczędzić pamięć RAM.
garethTheRed
Tak, będę musiał przetestować. Ale wcześniej chciałem wiedzieć, czy inni mieliby jakieś doświadczenia, którymi mogliby się podzielić :) (BTW, nie mam kontroli nad plikiem ZIP).
Grodriguez
2
@Grodriguez Z 1 GB + wewnętrznego pliku, fuse-zipużycie pamięci wynosiło 1 GB +. Z tego samego powodu archivemountużycie pamięci było nadal niskie.
n611x007,
7

Możesz użyć bezpiecznika do zamontowania zamka jako tylko do odczytu.

1 - Zainstaluj bezpiecznik w systemie.

UBUNTU

sudo apt-get install fuse-zip

CENTOS / REDHAT / FEDORA

yum install fuse-zip

2 - Uruchom polecenie poniżej, aby zamontować zip jako tylko do odczytu.

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

3 - Użyj polecenia poniżej, aby odmontować katalog

fusermount -u /path/to/mount/directory
Vaibhav Panmand
źródło
Dziękuję Ci. Czy są dostępne jakieś informacje na temat zużycia pamięci? To, co działa dobrze na pulpicie, może nie działać tak dobrze w środowiskach o ograniczonych zasobach.
Grodriguez,
Brak wzmianek o zużyciu pamięci.
Grodriguez
Kod Google został zamknięty, powyższy link przeniesiono na bitbucket.org/agalanin/fuse-zip/wiki/PerformancePage
silpol