Artifact [e3fc3898d5]

Artifact e3fc3898d55b3ed5fbf78b54a6aa556304e41b67:

Wiki page [AppFS] by rkeene on 2015-07-18 16:47:53.
D 2015-07-18T16:47:53.637
L AppFS
N text/x-markdown
P f75743a7ad71d88c73ce429abd0f7a1648f38bb0
U rkeene
W 3727
Files on disk.
==============

AppFS is a FUSE-based filesystem that presents a filesystem view of remote packages presented via HTTP for the purpose of running software without the hassle of installing it.

Instead, as files are requested they are downloaded and made available.

It is similar to the the original 0install implementation, [LazyFS](http://sourceforge.net/projects/zero-install/files/OLD-lazyfs-linux/).  It supports many features required for large scale deployments.  It has the following fancy features:

   * Write support: Writes are redirected to the users HOME directory
   * Set-UID root support: Administrators may set conditions on which files are Set-UID root (by default, no files are)
   * Run-time configuration reloading: All configuration may be reloaded at run-time
   * PKI support: Package providers can optionally sign index files, which in turn signs all packages and all files in packages

It should be mounted in `/opt/appfs`.  Once mounted, sub-directories will be automatically made available by attempting to access the hostname of an AppFS server.  For example, `/opt/appfs/core.appfs.rkeene.org` contains:

`$ ls -l /opt/appfs/core.appfs.rkeene.org/`<br>
`total 0`<br>
  `dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`acl`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`appfs`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`applications`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`attr`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`bash`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`binutils`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`bzip2`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`coreutils`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`glibc`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`gmp`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`libcap`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`linux-headers`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`mpc`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`mpfr`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`ncurses`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`readline`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`tcl`</font>`/`<br>
`dr-xr-xr-x 4 root root 0 Nov 19 04:02 `&nbsp;<font color="blue">`zlib`</font>`/`<br>
`$ `

Demo
----

<script type="text/javascript" src="https://asciinema.org/a/20465.js" id="asciicast-20465" async></script>

Download
--------
  *  [Version 1.8](http://www.rkeene.org/devel/appfs/appfs-1.8.tar.gz) (<small>[Browse Code](dir?ci=1.8&type=tree)</small>) (**LATEST**)
  *  [Version 1.6](http://www.rkeene.org/devel/appfs/appfs-1.6.tar.gz) (<small>[Browse Code](dir?ci=1.6&type=tree)</small>)
  *  [Version 1.4](http://www.rkeene.org/devel/appfs/appfs-1.4.tar.gz) (<small>[Browse Code](dir?ci=1.4&type=tree)</small>)
  *  [Version 1.2](http://www.rkeene.org/devel/appfs/appfs-1.2.tar.gz) (<small>[Browse Code](dir?ci=1.2&type=tree)</small>)
  *  [Version 1.0](http://www.rkeene.org/devel/appfs/appfs-1.0.tar.gz) (<small>[Browse Code](dir?ci=1.0&type=tree)</small>)

Documentation
-------------
  *  [Getting Started](home/Getting Started)
  *  [Manual](home/Manual)
Z 9e34143a42fc12368bf2f08f3b7b0769