vfs usa
gvfsfind 0.1.4
gvfsfind searches for files in a directory hierarchy. more>>
For example, gvfsfind.py ftp://video.foo.org --type d --print prints all directories on the FTP server. gvfsfind.py ssh://skipper/srv/movie --type f -name ".*.vob" --exec "gnomevfs-copy %u ." copies all files ending with .vob from the host skippers directory /srv/movie, including its sub-directories.
Enhancements:
- A makefile has been added to simplify release.
- This release is packaged as a tar.gz archive.
- Support has been added for filenames including #.
- Support for use as a Python module has been added.
ferrisfuse 0.1.0
ferrisfuse is a FUSE module for mounting libferris filesystems through the Linux kernel. more>>
About libferris
In non technical terms libferris makes the file system and other hierarchical storage systems easier to use. For the geeks out there, libferris is a virtual file system (VFS) that runs in the user address space. The FAQ contains entries related to installation, configuration and the usage of libferris.
As of July 2005 libferris can mount many interesting things ranging from a filesystem from your local Linux kernel through to LDAP, Evolution, PostgreSQL, dbXML, and RDF. To get an impression of the current capabilities of libferris mounting see the plugins/context directory of the lastest release. New things to mount are always being added.
Other than mounting things as a filesystem, the other core concept of libferris is extraction of interesting metadata from your libferris filesystems. This means that simple things like width and height of an image file become first class metadata citizens along with a files size and modification time. The limits on what metadata is available extend far beyond image metadata to include XMP, EXIF, music ID tags, geospatial tags, rpm metadata, SELinux integration, partially ordered emblem categories and arbitrary personal RDF stores of metadata.
Though some consider the last point of purely academic interest the end result is that you can add metadata to *all* libferris objects even those you only have read access too, for example, you can attach emblems to this website just as you would a normal file. The metadata interface gives all metadata from file size to digital signature status information equal standing. As such you can sort a directory by any metadata just as easily as you would ls -Sh to sort by file size. Sorting on multiple metadata values is also supported in libferris, you can easily sort your files by mimetype, then image width, then modification time with all three pieces of metadata contributing to the final directory ordering.
Late in 2004 extensive support for both fulltext and metadata indexing was added to libferris. This means you can supply queries against the contents or metadata of any libferris accessable object and have the results returned as a virtual filesystem. With the above mentioned metadata available for searching, finding your files can be done in many different ways instead of being forced to generate fixed directory trees using part of a file collections semantics as directory names. The metadata and virtual filesystem play together here allowing you to geospatially tag both your digital pictures, trip plans, and relevent websites and recall these objects in a single virtual directory no matter what their path or URL may be.
There is also a Samba VFS module which allows you to expose a libferris filesystem as a Samba share. Kfsmd uses the inotify kernel interface to allow libferris to watch changes made to your kernel filesystem by non libferris applications and update its indexes appropriately. Ferriscreate provides a command line and GTK+2 application for creating "new files" with libferris. With this you can create a new db4 database, dbXML database or fulltext index just as easily as you can make a regular file.
The ego filemanager is a GTK+2 interface built on top of libferris. It provides GTK treeview , gevas/edje and gecko based interfaces and makes extensive use of libferris clients to provide its functionality.
If you have a project you wish to use libferris with and want extensions made dont hesitate to contact one of the developers to arrange consulting.
For the geeks out there, libferris is a virtual file system (VFS) that runs in the user address space. At the moment libferris is a shared object that each application can dynamically link to in order to see the file system through a nicer abstraction.
New additions to the XML module allow for data to be converted from one format to another by the VFS for you. To copy data to an XML file:
fcreate --create-type=xml --rdn=2.xml root-element=fred /tmp
gfcp -av Makefile.am --dst-is-dir /tmp/2.xml/fred
To copy data to a db4 file
fcreate --create-type=db4 --rdn=2.db /tmp
gfcp -av Makefile.am --dst-is-dir /tmp/2.db
Ferris presents a C++ interface that makes heavy use of the STL and IOStreams. Currently ferris has two main internal abstractions: Context and Attribute. A context is much like a traditional file or directory in a file system, the major differences being that a context can have both byte content (like a file) and subcontexts (like a directory). An attribute is a chunk of metadata about a context. Contexts can have many attributes.
Some attributes may be large, for example a base 64 encoded version of the contexts content (133% context size). On the other hand an attribute can be small, for example the file size is exposed as an attribute.
Access to all contexts and attributes is performed by first requesting either an IStream or IOStream for that context or attribute. In this way the same context/attribute can be open many times at the same time, just like normal kernel based IO.
Ferris uses Loki from "Modern C++ Design" by Alexandrescu. Most objects use automatic garbage collection based on the SmartPtr template class from Loki. Where possible objects in ferris use a FerrisRefCounted policy to provide COM like intrusive reference counting. This style is used for Context, Attribute and special wrappers of IOStreams that are provided. IOStreams are wrapped to provide a more flexible API than could be offered using references to IOStreams.
There are also new stream classes provided, for example NullStream and LimitingStream. Templates are provided to make SmartPtrs to standard IOStreams act just like the underlying stream would, for example, one can have SmartPtr ss; ss >> stringObj; and does not have to dereference the SmartPtr to use standard IOStreams extractors or inserters.
Ferris uses GModule from glib2 to dynamically load both context and attribute classes at run-time. This way resources are conserved until they are needed. The native file system context is statically linked to ferris at present. When loading either contexts or attribute classes ferris uses a double dispatch factory method. Put simply this means that for each plugin there are two libraries, one that tells ferris if the main one really needs to be loaded or not. Using this scheme ferris can load all the meta factory classes at any time and use these very small meta factories to check if the main factory can create objects that are going to be useful.
This scheme is of great use for attribute classes. Attribute classes take a context and can "generate" attributes from the context. An example of this sort of class would be a MD5 or Base64 attribute. Both can be generated from the base context. More interesting attributes are PCM audio and RGBA-32bpp image data. By using the double dispatch factory ferris can handle a great deal of attribute generators and load them on demand.
Ferris currently can decode mp3, read id3 tags, decode many image formats and break some animation formats into frames. This makes ferris a solid starting point for multimedia applications.
Ferris will automatically mount sub file systems for you. Examples of a sub file system include a Berkeley database or XML file. For example it is possible to read a context such as /tmp/myxml.xml/mynode. Using this automatic mounting the differences between storage formats effectively disappear. To a ferris enabled application loading data from a native disk file, a Berkeley database, and XML file, or mbox file appear to be the same. This allows the user of the application to choose the correct storage for the data at hand.
It is planned to move to a microkernel architecture in Version 2.1 of ferris. I choose 2.1 so that ferris does not fall into version 2 syndrome.
Enhancements:
- Many changes were made to better support rsync(1).
- Extended Attribute support was greatly improved.
- write() now also updates mtime.
Gnome2::VFS 1.061
Gnome2::VFS is a Perl interface to the 2.x series of the GNOME VFS library. more>>
SYNOPSIS
use Gnome2::VFS;
sub die_already {
my ($action) = @_;
die("An error occured while $action.n");
}
die_already("initializing GNOME VFS") unless (Gnome2::VFS -> init());
my $source = "http://www.perldoc.com/about.html";
my ($result, $handle, $info);
# Open a connection to Perldoc.
($result, $handle) = Gnome2::VFS -> open($source, "read");
die_already("opening connection to $source")
unless ($result eq "ok");
# Get the file information.
($result, $info) = $handle -> get_file_info("default");
die_already("retrieving information about $source")
unless ($result eq "ok");
# Read the content.
my $bytes = $info -> { size };
my $bytes_read = 0;
my $buffer = "";
do {
my ($tmp_buffer, $tmp_bytes_read);
($result, $tmp_bytes_read, $tmp_buffer) =
$handle -> read($bytes - $bytes_read);
$buffer .= $tmp_buffer;
$bytes_read += $tmp_bytes_read;
} while ($result eq "ok" and $bytes_read < $bytes);
die_already("reading $bytes bytes from $source")
unless ($result eq "ok" && $bytes_read == $bytes);
# Close the connection.
$result = $handle -> close();
die_already("closing connection to $source")
unless ($result eq "ok");
# Create and open the target.
my $target = "/tmp/" . $info -> { name };
my $uri = Gnome2::VFS::URI -> new($target);
($result, $handle) = $uri -> create("write", 1, 0644);
die_already("creating $target") unless ($result eq "ok");
# Write to it.
my $bytes_written;
($result, $bytes_written) = $handle -> write($buffer, $bytes);
die_already("writing $bytes bytes to $target")
unless ($result eq "ok" && $bytes_written == $bytes);
# Close the target.
$result = $handle -> close();
die_already("closing $target") unless ($result eq "ok");
Gnome2::VFS -> shutdown();
SMB for FUSE 0.8.4
SMB for FUSE is a tool for mounting the network neighbourhood. more>>
Instead of mounting one Samba share at a time, you mount all workgroups, hosts and shares at once. Only when youre accessing a share a connection is made.
Main features:
- Browsing workgroups/hosts and shares from any application
- Streaming of files (movies/music)
- Browsing the network is fast because all hosts and shares are cached
Other solutions as GnomeVFS or KIO slaves provide a similar solution, but have a few disadvantages:
- Programs need to be rewritten to make them network transparent.
- KIO Slaves cannot stream files making movie/music playing over LAN impossible.
- Gnome VFS just is unstable on my system, although is offers streaming.
- Automounting shares is possible, but you cannot see more than 8 at a time, because NT Workstation limits the number of connections its also a lot slower.
gnome-vfsmm 2.18.0
gnome-vfsmm are C++ wrappers for gnome-vfs. more>>
Any help is welcomed. File bugs with patches (see http://www.gtkmm.org/bugs.shtml for patching procedure), and give suggestions.
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
gnome-vfs-obexftp 0.4
gnome-vfs-obexftp contains extra packages for extentions to GnomeVFS. more>>
Note that if youre not using the standard dbus system bus address, you need to set the environment variable DBUS_SYSTEM_BUS_ADDRESS to the path to the system dbus address to use, e.g:
export DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket
for example in the login script.
If the variable is not set, the OBEX module will fallback to the standard name in $(localstatedir), e.g. /var/run/dbus/system_bus_socket.

VFSJFileChooser 0.0.3
VFSJFileChooser functions as a Java Swing Component to enable you to browse both remote(FTP, SFTP, WEBDAV, etc.) and local filesystems. more>>
VFSJFileChooser 0.0.3 functions as a Java Swing Component to enable you to browse both remote(FTP, SFTP, WEBDAV, etc.) and local filesystems. It is based on Apache Commons VFS library. VFSJFileChooser is distributed under Apache License 2.0.
VFSJFileChooser was first started to be a plugin of XPontus XML Editor. Later, it was decided to create a library which wouldn't be tied to XPontus API.
VFSJFileChooser supports all the file systems available in Commons VFS. You can think of VFSJFileChooser as a javax.swing.JFileChooser with the ability to browse remote locations such as FTP, SFTP, etc. VFSJFileChooser has not been designed as a file transfer tool, however it can be easily implemented (2 VFSJFileChooser components and some buttons calling commons-vfs API methods, a queue for file operations, etc.).
Major Features:
- Seamless filesystem browsing
- Standard java file browsing with abstraction to the filesystem. You browse seamlessly local and remote file systems the same way.
- VFSJFileChooser supports many protocols such as Webdav, SFTP, FTP, SMB, etc. Please have a look at Apache Commons VFS supported protocols. Starting from 0.0.3 release, VFSJFileChooser is using webdavclient4j for Webdav support.
- Easy i18n support
- There are translations for English, French, Spanish, Italian, Swedish per default. You can add a new language to VFSJFileChooser by dropping a new resource bundle in your classpath.
- A default accessory panel
- A toolbar provides access to a bookmarks manager and a connection wizard.
- No inheritance of some JFileChooser known bugs
- VFSJFileChooser doesn't suffer from the infamous JFileChooser freezing bug. Time to time, JFileChooser can hang for 10 seconds(even on a quad core!). The bug seems to be coming back all the time, but only on Windows.
- Flexibility
- Access to the navigation panel and the navigation buttons(new folder, etc.)
- Simple and familiar API
- VFSJFileChooser is based on the standard javax.swing.JFileChooser code. The main difference is that VFSJFileChooser uses Commons VFS FileObject instead of java.io.File.
Enhancements:
- Lots of speed : The latest version of VFSJFileChooser is too slow. The code execution have been improved at many places.
- The navigation icons are now visible all the time. No exceptions or strange issues related to the look and feel. The component use a "MetalLookAndFeel" layout but when using the system look and feel, the controls look native.
- The VFSUtils class supports the methods setFileSystemManager and setFileSystemOptions. You can set those values at anytime. When the VFSJFileChooser class is instanciated, it checks if VFSUtils has a filesystemmanager set, if not it creates one. Files are always resolved with the FileSystemOptions object in VFSUtils. Some convenience methods such as getInputStream and getOutputStream have been added in VFSUtils.
- Upgraded to commons-vfs 2.0 snapshot with patches applied for URL redirection and WebDav.
- Switched from Jakarta Slide to webdavclient4j (http://webdavclient4j.sf.net) as Jakarta Slide project is dead.
- Cleaner but incompatible API(Enums instead of int fields) : Enums are introduced for few classes which breaks the API. The method setFileselectionMode of VFSJFileChooser now accepts an Enum as parameter. The methods "showOpenDialog" and "showSaveDialog" return an Enum too.
- Sorting support : The details table has now sorting support again in the jdk5 branch. The jdk5 branch is the most up to date(patches, general improvements, etc.). The jdk5 will become the default branch to ensure code compatibility.
- The bookmarks dialog scrolling issues have been fixed. The bookmarks are still not serialized using Java Serialization. They are now stored in XML do avoid deserialization issues when the bookmarks API change.
JNutrix 0.14.us (USDA)
JNutrix project is a small application written with the Java language. more>>
The utilization is quite trivial and make use of the mouse except for entering the name of the food. The name of the food can be search for by entering the first characters or a few sets of characters separated by spaces. Once the food is found and its quantity fixed the food can be cumulate to form a meal, which you can print.
The nutrients can be sorted by clicking on the column header. You can research foods on their contents for three differents nutrients.
The canadian version of the program has a French or English interface as well as a bilingual database, to the user to choose.
The USA version use the latest database: .USDA National Nutrient Database for Standard Reference, Release 19 (2006).
Please note: the database is included only in the binary distributions.
Enhancements:
- First release of the USA version. Use the USDA National Nutrient Database for Standard Reference, Release 19 (2006).
FerrisSambaModule 0.1.0
FerrisSambaModule is a VFS module for Samba 3.x. more>>
Thus, anything libferris can access can be shared as a filesystem via Samba, including LDAP, PostgreSQL, XML files, sleepycat dbXML database, evolution mail client, and queries against libferris various indexes.
Enhancements:
- STLport use was made optional.
- Some fixes were made for mounting eaquery:// as a Samba share.
MapFS 1.0-0.1035
MapFS implements a Linux filesystem which utilizes copy-on-write functionality. more>>
It is written in C, uses the standard Linux kernel VFS and loadable module interfaces for defining new filesystem types to the kernel, and supports (at least) kernel versions 2.4.7 to 2.6.13.
This functionality significantly eases data sharing between multiple machines connected to a shared storage medium (SAN/NAS/Mainframe DASD) as data can be optimistically shared between all of the machines in a way which is completely transparent to the applications running on them.
MapFS will execute a copy-on-write to obtain a private copy in the event that one of the Machines attempts to modify a copy that is on the shared medium.
gnome-vfs 2.18.1 / 2.19.3
gnome-vfs is a Filesystem Abstraction library. more>>
A cause of confusion is the fact that the file system abstraction used by the Linux kernel is also called the virtual file system (VFS). This is however at a lower level.
Whats New in 2.19.3 Development Release:
- Export modules directory in pkg-config files
- Fix crash in gnome_vfs_xfer
- Add GNOME_VFS_DIRECTORY_VISIT_IGNORE_RECURSE_ERROR flag
- Dont resolve non-mdns hosts when resolving mDNS service names
- Workaround issue with mDNS and link-local ipv6 addresses
gnome-vfs-monikers 2.15.3
gnome-vfs-monikers is a Filesystem Abstraction library. more>>
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
ASFS filesystem driver 1.0 Beta 12
ASFS filesystem driver is an Amiga Smart FileSystem driver for Linux. more>>
ASFS - Amiga Smart File System - Linux implementation
Version 1.0beta8 in "read-only mode" should be considered as the lasted stable version of ASFS driver.
It is available for Linux kernel version 2.6.x.
From version 1.0 there is also full write support. Use it with care. It is in EXPERIMETAL stage and COULD be DANGEROUS.
Remember! YOU USE THIS DRIVER AT YOUR OWN RISK. Read included docs for
more details.
Enhancements:
- The code was updated to match changes in the VFS of Linux kernel 2.6.19.
Cook County PIN Search 2.1
Cook County PIN Search provides a title search tool. more>>
Cook County (IL, USA) Property Index Number Search
A title search tool. If in the course of your browsing you come across a Cook County Property Index Number (PIN) (format 99-99-999-999 or 99-99-999-999-9999) in your browser window, select it and "right"-click and on the context menu you will be offered options to open new tabs of relevant information from Cook County websites.
SMBD Audit 0.2 RC1
SMBD Audit application is a set of VFS audit module for Samba 3 and web frontend to view and search samba audit logs. more>>
Module stores logs directly into MySQL database with libmysqlclient.
You can search database by Login, Address, Share, Action, Log Message(specify filename or directory name), From and To Date.
Here is a very short list of what SMBD Audit package includes, and what it does.
- a VFS audit module, to provide logging to MySQL database
- a web front end to view and search logs.