Changes To AppFS

Changes to "AppFS" between 2015-07-18 16:47:53 and 2015-09-30 14:06:44

1
2
3
4

5
6

7
8
9
10
11
12
13
1
2
3

4
5

6
7
8
9
10
11
12
13



-
+

-
+







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.
AppFS is a universal packaging format that is presented to the system as a filesystem (via FUSE).  Packages manifests as well as individual package files are lazily-fetched (Just-In-Time) and cached to disk so the "installation" step is transparent.  Regular unprivileged users can read (and write!) to any file in any package, thus allowing completely unprivileged "installation" of packages and allowing users to update configuration files for the package.

Instead, as files are requested they are downloaded and made available.
All remote files in AppFS are identified by the SHA1 of their contents so multiple users accessing the same file (content-wise) will share the same locally cached copy.

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