3 ms·
AppFS [0] solves this by just providing every file any package needs, including libc. AppFS lazy fetch self-certifying system with end-to-end signature checks
by rkeene2 5y ago
AppFS [0] solves this by just providing every file any package needs, including libc.
AppFS lazy fetch self-certifying system with end-to-end signature checks way to distribute packages over HTTP (including from static servers) so it's federated.
Since all packages are just a collection of files, AppFS focuses on files within a package. This means if you're on Alpine Linux and want to run ALPINE from Ubuntu (assuming Ubuntu used AppFS) then it would use Ubuntu's libc. This is pretty similar to static linking, except with some of the benefits from dynamic linking.
CERN has a similar, but more limited system called CernVM-FS [1]. AppFS isn't based on that and I only learned about it after writing AppFS.
AppFS is based (in spirit, not in code) on 0install's LazyFS. Around the turn of the century I was trying to write a Linux distribution that ONLY used 0install, but due to limitations it wasn't feasible.
This is possible to do with AppFS and how the docker container "rkeene/appfs" works.
[0] https://appfs.net/ https://appfs.net/
[1] https://cernvm.cern.ch/fs/ https://cernvm.cern.ch/fs/