My favorites | Sign in
Project Logo
                
Search
for
Updated Nov 18, 2009 by alexander.galanin
Labels: Featured
About  

ABOUT

fuse-zip is a FUSE file system to navigate, extract, create and modify ZIP archives based in libzip implemented in C++.

With fuse-zip you really can work with ZIP archives as real directories. Unlike KIO or Gnome VFS, it can be used in any application without modifications.

Unlike other FUSE filesystems, only fuse-zip provides write support to ZIP archives. Also, fuse-zip is faster that all known implementations on large archives with many files.

AUTHOR

Alexander Galanin

LICENSE

fuse-zip are licensed under GNU LGPL v3 or later.

USAGE

$ mkdir /tmp/zipArchive
$ fuse-zip foobar.zip /tmp/zipArchive
(do something with the mounted file system)
$ fusermount -u /tmp/zipArchive

Look at /var/log/user.log in case of any errors.

PERFORMANCE

On a small archives fuse-zip have the same performance with commonly used virtual filesystems like KIO, Gnome GVFS, mc vfs, unpackfs, avfs, fuse-j-zip. But on large archives with many file (like zipped Linux kernel sources) fuse-zip have the greatest speed. You can download test suite from the web-site and make sure that it is true.

See PerformancePage for details.

HINTS

  1. Added/changed files resides into memory until you unmount file system.
  2. Adding/unpacking very big files(more than one half of available memory) may cause your system swapping. It is a good idea to use zip/unzip in that case :)
  3. After adding/modifying files in archive it will be repacked at filesystem unmount. Hence, your file system must have enough space to keep tempopary files.

Comment by dan.bolser, Aug 08, 2008

Deps?

fuse-zip-0.2.3?$ make Package libzip was not found in the pkg-config search path. Perhaps you should add the directory containing `libzip.pc' to the PKG_CONFIG_PATH environment variable No package 'libzip' found g++ -c -Wall -Wextra -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse fuse-zip.cpp -o fuse-zip.o fuse-zip.cpp:26:17: error: zip.h: No such file or directory bigBuffer.h:45: error: use of enum ‘zip_source_cmd’ without previous declaration fileNode.h:78: error: field ‘stat’ has incomplete type fileNode.h: In member function ‘offset_t FileNode?::size() const’: fileNode.h:68: error: request for member ‘size’ in ‘stat’, which is of non-class type ‘int ()(const char, stat)throw ()’ fuse-zip.cpp: In function ‘int fusezip_getattr(const char, stat)’: fuse-zip.cpp:94: error: ‘class FileNode?’ has no member named ‘stat’ fuse-zip.cpp: In function ‘int remove_node(FileNode?)’: fuse-zip.cpp:249: error: ‘zip_delete’ was not declared in this scope fuse-zip.cpp: In function ‘int fusezip_mkdir(const char, mode_t)’: fuse-zip.cpp:291: error: ‘zip_add_dir’ was not declared in this scope fuse-zip.cpp: In function ‘int fusezip_rename(const char, const char)’: fuse-zip.cpp:354: error: ‘zip_rename’ was not declared in this scope fuse-zip.cpp:358: error: ‘zip_rename’ was not declared in this scope fuse-zip.cpp: In function ‘int fusezip_utimens(const char, const timespec)’: fuse-zip.cpp:376: error: ‘class FileNode?’ has no member named ‘stat’ fuse-zip.cpp: In function ‘int main(int, char)’: fuse-zip.cpp:445: error: ‘ZIP_CHECKCONS’ was not declared in this scope fuse-zip.cpp:445: error: ‘ZIP_CREATE’ was not declared in this scope fuse-zip.cpp:445: error: ‘zip_open’ was not declared in this scope fuse-zip.cpp:447: error: ‘zip_error_to_str’ was not declared in this scope make: fuse-zip.o? Error 1

Comment by alexander.galanin, Aug 23, 2008

Read INSTALL file in tarball before reporting dependency problems.

Comment by masoris, Sep 09, 2008

Can I mount a zip file with 'read-only mode'???

Comment by dan.bolser, Jul 14, 2009

What works with .tar.gz instead of .zip?


Sign in to add a comment
Hosted by Google Code