acngfs(8) Virtual file system for use with apt-cacher-ng

SYNOPSIS


acngfs BaseURL ProxyHost [CachePath] MountPoint [-o FUSE Mount Options]

DESCRIPTION

acngfs is a FUSE based filesystem which represents files downloadable via HTTP as part of a local filesystem. It has been developed for very specific purposes and is not intended to be a general purpose HTTP filesystem.

The main use case for acngfs is a situation where:

  • The files must not be stored on extra space on the user's system (e.g. because of insufficient disk space to make a temporary copy of downloaded files)
  • Local programs (e.g. apt, dpkg) need to read the packages from a local filesystem
  • When reading, certain files might need to be fetched in background (or updated) and this process needs to be triggered somehow
  • Network latency and speed are not relevant, e.g. accessing apt-cacher-ng via localhost connection
  • The proxy service can work efficiently with many requests for small data ranges (apt-cacher-ng, for example)
  • Pattern matching on paths is sufficient to distinguish file and directory names

If the apt-cacher-ng instance happens to run on the same system as acngfs or its cache repository is mounted via fast remote file system, this cache repository can be optionally specified as alternative source path. In this cache, acngfs will attempt to read files directly from this filesystem where possible, reducing network latency and avoiding additional load of apt-cacher-ng server. The directory levels of BaseURL and CachePath should match.

EXAMPLES

Typical use may be to let apt/dpkg use package file like they are present on the local filesystem so there is no need to download them. In sources.list, the source appears as a file:/ type URL, like:

deb file:/var/local/acngfs_debian unstable main contrib

and the filesystem backend is prepared with a command like:

/usr/lib/apt-cacher-ng/acngfs http://ftp.uni-kl.de/debian cacheBox:3142 /var/local/acngfs_debian -o allow_root

or for a locally installed apt-cacher-ng with common Debian cache repository stored in /var/cache/apt-cacher-ng/debrep:

/usr/lib/apt-cacher-ng/acngfs http://ftp.uni-kl.de/debian localhost:3142 /var/cache/apt-cacher-ng/debrep /var/local/acngfs_debian -o allow_root

OPTIONS

The command-line options supported by acngfs are:

BaseURL
Remote mirror to be used as real source, like http://ftp2.de.debian.org/debian. NOTE: the mirror subdirectory part (like debian) should be added either to BaseURL or to the path in sources.list, not to both.
ProxyURL
Complete or simplified host and port specification of the proxy server, http://localhost:3142.
CachePath
Optional hint, a directory path pointing to the internal cache subdirectory of apt-cacher-ng where it stores data downloaded from BaseURL. For more details see apt-cacher-ng manual, chapter "Advanced configuration".
mountpoint
Directory representing the URL in the local filesytem.
--help
Print a help summary and additional FUSE application options
FuseOptions
Various options for the FUSE subsystem to control filesystem behaviour. See --help output and FUSE documentation for more details.

FILES

/usr/lib/apt-cacher-ng/acngfs
Executable binary documented in this manual page

NOTES

Permissions of the files are important when using mounting when sharing data with other users (including root!). To mount as user and let root use the package management tools (apt, dpkg), one may need to use FUSE options like in the following example:

acngfs http://ftp.uni-kl.de/debian http://localhost:3142 /mnt/misc -o allow_root

See FUSE documentation for details about file permissions representation.

BUGS

Software is still experimental, use at your own risk!

There are natural limitations on capabilities of the FS: no directory browsing is allowed (only blind descending), permissions of files are inherited from the mount point as well as other properties of the filesystem.

Should be used with apt-cacher-ng version 0.2pre2 or newer; otherwise it could flood log files with many requests from small file chunks.