This's a virtual FS to browse through archives. It
can even browse through block devices (like cd/dvd drives, PD etc...)
if you've written whole archives on them directly. It also supports
network protocols like ftp, http etc..
Things work around avfsd with no root privileges
required, just ensure you're in the fuse group (i.e. if that group
exists in your OS).
Avfs is going to mount the root dir to a place
where you point to –
avfsd archive
Will mount the root (or root like) FS to directory
archive.
In archive/ browse to the archive location (or
'cd' to it), and then open it by placing a # after it's name, e.g. –
cd archive/home/user/backup_drive/backup.tar.xz#
This's going to cd into the archive.
If you use just #, avfs will rely on the extension
of the archive to detect the type of archive, thus the # is actually
a shorthand. The full path to open the archive also includes the type
of archive, it's specified by placing certain text (depending on the
archive type) after the # –
cd archive/home/user/backup_drive/backup.tar.xz#uz
Where uz means a xz archive and uses gzip for it's
decompression. But cause it's tar.xz, you'll see a tar archive inside
it, to also browse into the tar archive –
cd
archive/home/user/backup_drive/backup.tar.xz#uz#utar
You have to use these with block devices if you
burnt the archive to them directly –
cd archive/dev/sr0#utar
i.e. the tar archive has been burnt directly to
the optical media.
This's going to make avfs assume the file is first
compressed with uz, then utar. Similarly –
cd /home/user/backup_drive/backup#urar#utar
Supported archives and such keywords (as of the
current time) –
#deb debian packages
#ftplist ?
#hp48 ?
#lslR directory tree listings
#mailfs ?
#patchfs browse patch files
#rpm rpm packages
#rpms List of installed rpms
#trpm Useful inside #rpms
#ucpio cpio archives
#ulha lha archives
#uzoo zoo archives
#a first floppy drive alias
for #floppy:a
#avfsstat meta information
builtin
#bz2 bzip2 uses
bzip2
#dav webdav
builtin
#dav_ctl control dav sessions
#floppy floppy uses
mtools (mdir, mcopy, ...)
#ftp ftp
builtin
#ftp_ctl control ftp sessions
#gz gzip uses
gzip
#iso9660 CD/DVD filesystem no
need to use mount -t iso9660!
#local local filesysem only
for internal use
#rsh rsh/rcp only
works if rsh needs no password
#ssh ssh/scp only
works if ssh needs no password
#uar un-ar
builtin
#ubz2 bunzip2
builtin
#ubzip2 bunzip2 uses
bzip2
#ucftp ftp
builtin (write support, no file cache)
#ucftp_ctl control ftp sessions
#ugz gunzip
builtin (1)
#ugzip gunzip uses
gzip
#urar unrar
builtin list + uses rar to extract
#utar untar
builtin
#uxz unxz/unlzma
builtin
#uxze unxz/unlzma uses
xz
#uz uncompress uses
gzip
#uzip unzip
builtin
#volatile 'memory fs' mainly
for testing
#u7z p7zip 7z archives
These are built in type (or there by default).
Avfsd relies on programs (e.g. 7z, tar, xz, gzip,
unrar etc...) and scripts to open up archives; the script tells avfsd
how to operate the command (arguments etc...) to open up the
archives.
This means you can extend the supported the
archive type; the script in question is placed at
/usr/lib64/avfs/extfs on Gentoo. May differ for other distros.
You can get a lot of such scripts on the net; but
as know know, you're at risk 'downloading' them directly, it may be
malware.
Depending on the archive type, programs's
efficient etc... it may take a long time for a programs to read the
file, or seek to the file (this's an issue in case of lzma1/2
compression); or it may take less time, it depends on the archive
format.
To open ftp –
By cding to the mount mount of avfs FS.
-->
AVFS as a solution is not good. I've tried it and now I realize why it was abandoned. Any archive you open is copied to the /tmp folder as its uncompressed size. Kind of defeats the entire purpose. I've got 4G ram and 10G free space, my tar.gz file is 55G, I open it up and it creates a file 98G in size under the tmp folder crashing the system of course.
ReplyDeleteI know its a really old article but I'm looking for a way to mount this archive to pull files out of it and so far all the solutions are basically forcing me to have the same amount of space as if it were extracted.