iafs Code
Status: Beta
Brought to you by:
santi_mhz
File | Date | Author | Commit |
---|---|---|---|
.lang | 2008-12-02 | santi_mhz | [r10] worked out installer |
binding | 2008-11-29 | santi_mhz | [r7] added proxy for KDE and VDR, so no more exposin... |
include | 2008-11-27 | santi_mhz | [r6] support of mount options. |
scripts | 2008-12-02 | santi_mhz | [r11] updated for manager usage |
src | 2008-11-29 | santi_mhz | [r7] added proxy for KDE and VDR, so no more exposin... |
src-util | 2008-12-03 | santi_mhz | [r13] extended importer to handle files that should b... |
vdr | 2008-12-02 | santi_mhz | [r11] updated for manager usage |
web | 2008-12-03 | santi_mhz | [r13] extended importer to handle files that should b... |
AUTHORS | 2008-11-24 | santi_mhz | [r1] initial import |
COPYING | 2008-11-24 | santi_mhz | [r1] initial import |
IAFS.sh | 2008-12-03 | santi_mhz | [r12] changed descriptions to manager usage |
INSTALL | 2008-12-03 | santi_mhz | [r12] changed descriptions to manager usage |
Makefile | 2008-12-03 | santi_mhz | [r14] bugfix |
README | 2008-12-03 | santi_mhz | [r13] extended importer to handle files that should b... |
IAFS - interactive filesystem ============================= IAFS is a userspace filesystem (using fuse), which holds information about offline medias, as CDs, DVDs or exchangeable harddrives. IAFS is published under the GPL - see COPYING for details. The project is located at http://sourceforge.net/projects/iafs INTERNAL To get this working, IAFS needs two mountpoints, one for the exchangeable medias, the other for the offline cache. The importer 'import.iafs' fills the cache with informations about the exchangeable medias. These informations are stored in regular files, which may be moved around without limitation (but don't touch the content!) This is supported to be able to order the offline information as you like to do. The offline informatin is always available - even without having IAFS active. To support mechanical changers as well as humanoid ones, notification as well as (un)mounting of the exchangeable media is performed by shell scripts. IAFS has a script directory, with several subdirectories. That subdirectories are treaten as binding channel. If you have a mechanical jukebox, just create the appropiate scripts and you're done. The script that gave the name to this filesystem is 'notify.sh'. It takes one parameter - the mediaID. To work with X or send user-notification to remote machines, a proxy (iafsProxy.pl) has been created. All scripts work with returncodes, where 0 is ok and not 0 is not ok ;) BUILDING see INSTALL for further instructions IMPORT: Before you can use the IAFS, you need to import your changeable medias. Best would be, to mount an empty partition for cache-information. IAFS.sh can assist you on this item too. For rough space calculations take 100-300 byte for each file. use IAFS.sh for importing medias. With it, you only need to enter a mediaid for the new media and check prefix and the bindingtype. IAFS.sf also offers a cache statistic, which will show all mediaids with the number of related files. Note: the media can be anything, that is mountable. For harddisks with lots of data, the prefix is defaulted to '.', so several harddisk get merged in the cache. FINETUNING: some application determine the mime-type of a file by reading the first chunk, so you might want to turn "magic mime-type" handling off. Another anoying file might be .directory and as I like to have the information of recordings available without mounting them, I extended the functionality of the importer. You can add filenames to dedicated files, which then on import are not linked, but copied. The system wide configuration file is searched at /etc/iafs/nolink.cnf - with the simple format each filename a row. Lines with # as first nonwhitespace are treated as comment. On my system that file looks like: # enter filenames, that should be copied instead of linked .directory summary.vdr info.vdr To allow users to extend that list of files, another file is searched for: ~/.iafs.nolink - following the same format as /etc/iafs/nolink.cnf RUN IAFS: If you used IAFS.sh for setup, just mount iafs as root. If you're interested on see it working, start IAFS like this: fs.iafs /mnt/import /media/jukebox -v If IAFS should be able to change medias, you must start it as root. The first path is the mountpoint for the exchangable medias (must be the same as when importing the cache-data), the second is the jukebox root, where you access the files from. With -v (verbose) given, the iafs-filesystem won't detach as daemon, so you can watch it working. MANAGING THE CACHE: use IAFS.sh to build and setup the filesystem, as well to manage the cache. It is a wrapper around the commandline utilities and assists in using right parameters. Its benefit rises in environments, that don't follow the path-defaults, as IAFS.sh is able the save given parameters. It needs bash(1) and dialog(1) to run. TOOLS IAFS.sh - the manager to build iafs and manage the cache import.iafs - the import utility, that creates the offline-links mount.iafs - the helper for mount (so mounting from fstab works) wipe.iafs - remove an imported media from cache (idenityfied by mediaID) wipe.iafs also has a stats function, wich displays all imported medias and the number of their files iafsProxy.pl - proxy for KDE and VDR, so it is no more necessary, to expose X or KDE to public. STATE IAFS is 'beta' - if no errors happen next days, it will become final. Although it works in my environment, be careful on what your doing. CURRENT VERSION the current version of IAFS is 0.0.6 FEEDBACK Comments, wishes or bugreports are all welcome. Send your mails to santi_mhz at users<dot>sourceforge<dot>net or use the public forum at http://sourceforge.net/forum/?group_id=245676