Update of "AppFS"
Overview

Artifact ID: e3fc3898d55b3ed5fbf78b54a6aa556304e41b67
Page Name:AppFS
Date: 2015-07-18 16:47:53
Original User: rkeene
Mimetype:text/x-markdown
Parent: f75743a7ad71d88c73ce429abd0f7a1648f38bb0 (diff)
Next 3f4cb4a74f137fde61fc57a5576142b4afb46bce
Content

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. 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/
total 0
dr-xr-xr-x 4 root root 0 Nov 19 04:02 acl/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 appfs/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 applications/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 attr/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 bash/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 binutils/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 bzip2/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 coreutils/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 glibc/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 gmp/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 libcap/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 linux-headers/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 mpc/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 mpfr/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 ncurses/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 readline/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 tcl/
dr-xr-xr-x 4 root root 0 Nov 19 04:02 zlib/
$

Demo

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

Download

Documentation