Hex Artifact Content

Artifact 5760d5e1a7147ac2a9c57d153c8c264d3f27a487:


0000: 41 70 70 46 53 0a 3d 3d 3d 3d 3d 0a 49 74 27 73  AppFS.=====.It's
0010: 20 73 6f 72 74 20 6f 66 20 6c 69 6b 65 20 4c 61   sort of like La
0020: 7a 79 46 53 2e 0a 0a 55 73 61 67 65 0a 2d 2d 2d  zyFS...Usage.---
0030: 2d 2d 0a 52 75 6e 3a 0a 09 31 2e 20 23 20 6d 6b  --.Run:..1. # mk
0040: 64 69 72 20 2f 74 6d 70 2f 61 70 70 66 73 2d 63  dir /tmp/appfs-c
0050: 61 63 68 65 20 2f 6f 70 74 2f 61 70 70 66 73 0a  ache /opt/appfs.
0060: 09 32 2e 20 23 20 61 70 70 66 73 64 20 2f 74 6d  .2. # appfsd /tm
0070: 70 2f 61 70 70 66 73 2d 63 61 63 68 65 20 2f 6f  p/appfs-cache /o
0080: 70 74 2f 61 70 70 66 73 0a 0a 0a 50 61 74 68 73  pt/appfs...Paths
0090: 0a 2d 2d 2d 2d 2d 0a 20 20 20 20 41 70 70 46 53  .-----.    AppFS
00a0: 20 73 68 6f 75 6c 64 20 6e 6f 72 6d 61 6c 6c 79   should normally
00b0: 20 62 65 20 6d 6f 75 6e 74 65 64 20 6f 6e 20 22   be mounted on "
00c0: 2f 6f 70 74 2f 61 70 70 66 73 22 2e 0a 0a 20 20  /opt/appfs"...  
00d0: 20 20 2f 6f 70 74 2f 61 70 70 66 73 2f 68 6f 73    /opt/appfs/hos
00e0: 74 6e 61 6d 65 0a 20 20 20 20 09 46 65 74 63 68  tname.    .Fetch
00f0: 65 73 3a 20 68 74 74 70 3a 2f 2f 68 6f 73 74 6e  es: http://hostn
0100: 61 6d 65 2f 61 70 70 66 73 2f 69 6e 64 65 78 0a  ame/appfs/index.
0110: 20 20 20 20 09 43 6f 6e 74 61 69 6e 73 20 43 53      .Contains CS
0120: 56 20 66 69 6c 65 3a 20 68 61 73 68 2c 68 61 73  V file: hash,has
0130: 68 4d 65 74 68 6f 64 2c 3c 63 65 72 74 69 66 69  hMethod,<certifi
0140: 63 61 74 65 49 6e 44 45 52 46 6f 72 6d 61 74 49  cateInDERFormatI
0150: 6e 48 65 78 3e 2c 3c 50 4b 43 53 23 31 76 31 2e  nHex>,<PKCS#1v1.
0160: 35 2d 73 69 67 6e 61 74 75 72 65 2d 69 6e 44 45  5-signature-inDE
0170: 52 46 6f 72 6d 61 74 49 6e 48 65 78 3e 0a 09 20  RFormatInHex>.. 
0180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0190: 20 20 5c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    \-------------
01a0: 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  /.              
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01c0: 20 20 20 20 5e 2d 20 53 69 67 6e 65 64 20 64 61      ^- Signed da
01d0: 74 61 0a 20 20 20 20 09 46 65 74 63 68 65 73 3a  ta.    .Fetches:
01e0: 20 68 74 74 70 3a 2f 2f 68 6f 73 74 6e 61 6d 65   http://hostname
01f0: 2f 61 70 70 66 73 2f 73 68 61 31 2f 3c 68 61 73  /appfs/sha1/<has
0200: 68 3e 0a 20 20 20 20 09 43 6f 6e 74 61 69 6e 73  h>.    .Contains
0210: 20 43 53 56 20 66 69 6c 65 3a 20 70 61 63 6b 61   CSV file: packa
0220: 67 65 2c 76 65 72 73 69 6f 6e 2c 6f 73 2c 63 70  ge,version,os,cp
0230: 75 41 72 63 68 2c 73 68 61 31 2c 69 73 4c 61 74  uArch,sha1,isLat
0240: 65 73 74 0a 0a 20 20 20 20 2f 6f 70 74 2f 61 70  est..    /opt/ap
0250: 70 66 73 2f 68 6f 73 74 6e 61 6d 65 2f 70 61 63  pfs/hostname/pac
0260: 6b 61 67 65 2f 6f 73 2d 63 70 75 41 72 63 68 2f  kage/os-cpuArch/
0270: 76 65 72 73 69 6f 6e 0a 20 20 20 20 2f 6f 70 74  version.    /opt
0280: 2f 61 70 70 66 73 2f 68 6f 73 74 6e 61 6d 65 2f  /appfs/hostname/
0290: 73 68 61 31 2f 0a 20 20 20 20 09 46 65 74 63 68  sha1/.    .Fetch
02a0: 65 73 3a 20 68 74 74 70 3a 2f 2f 68 6f 73 74 6e  es: http://hostn
02b0: 61 6d 65 2f 61 70 70 66 73 2f 73 68 61 31 2f 3c  ame/appfs/sha1/<
02c0: 73 68 61 31 3e 0a 20 20 20 20 09 43 6f 6e 74 61  sha1>.    .Conta
02d0: 69 6e 73 20 43 53 56 20 66 69 6c 65 3a 0a 20 20  ins CSV file:.  
02e0: 20 20 09 09 74 79 70 65 2c 74 69 6d 65 2c 65 78    ..type,time,ex
02f0: 74 72 61 44 61 74 61 2c 6e 61 6d 65 0a 20 20 20  traData,name.   
0300: 20 09 09 74 79 70 65 20 3d 3d 20 64 69 72 65 63   ..type == direc
0310: 74 6f 72 79 3b 20 65 78 74 72 61 44 61 74 61 20  tory; extraData 
0320: 3d 20 28 6e 75 6c 6c 29 0a 20 20 20 20 09 09 74  = (null).    ..t
0330: 79 70 65 20 3d 3d 20 73 79 6d 6c 69 6e 6b 3b 20  ype == symlink; 
0340: 65 78 74 72 61 44 61 74 61 20 3d 20 73 6f 75 72  extraData = sour
0350: 63 65 0a 20 20 20 20 09 09 74 79 70 65 20 3d 3d  ce.    ..type ==
0360: 20 66 69 6c 65 3b 20 65 78 74 72 61 44 61 74 61   file; extraData
0370: 20 3d 20 73 69 7a 65 2c 70 65 72 6d 73 2c 73 68   = size,perms,sh
0380: 61 31 0a 0a 20 20 20 20 2f 6f 70 74 2f 61 70 70  a1..    /opt/app
0390: 66 73 2f 68 6f 73 74 6e 61 6d 65 2f 7b 73 68 61  fs/hostname/{sha
03a0: 31 2c 70 61 63 6b 61 67 65 2f 6f 73 2d 63 70 75  1,package/os-cpu
03b0: 41 72 63 68 2f 76 65 72 73 69 6f 6e 7d 2f 66 69  Arch/version}/fi
03c0: 6c 65 0a 20 20 20 20 09 46 65 74 63 68 65 73 3a  le.    .Fetches:
03d0: 20 68 74 74 70 3a 2f 2f 68 6f 73 74 6e 61 6d 65   http://hostname
03e0: 2f 61 70 70 66 73 2f 73 68 61 31 2f 3c 73 68 61  /appfs/sha1/<sha
03f0: 31 3e 0a 0a 44 61 74 61 62 61 73 65 0a 2d 2d 2d  1>..Database.---
0400: 2d 2d 2d 2d 2d 0a 20 20 20 20 70 61 63 6b 61 67  -----.    packag
0410: 65 73 28 68 6f 73 74 6e 61 6d 65 2c 20 73 68 61  es(hostname, sha
0420: 31 2c 20 70 61 63 6b 61 67 65 2c 20 76 65 72 73  1, package, vers
0430: 69 6f 6e 2c 20 6f 73 2c 20 63 70 75 41 72 63 68  ion, os, cpuArch
0440: 2c 20 69 73 4c 61 74 65 73 74 2c 20 68 61 76 65  , isLatest, have
0450: 4d 61 6e 69 66 65 73 74 29 0a 20 20 20 20 66 69  Manifest).    fi
0460: 6c 65 73 28 70 61 63 6b 61 67 65 5f 73 68 61 31  les(package_sha1
0470: 2c 20 74 79 70 65 2c 20 74 69 6d 65 2c 20 73 6f  , type, time, so
0480: 75 72 63 65 2c 20 73 69 7a 65 2c 20 70 65 72 6d  urce, size, perm
0490: 73 2c 20 66 69 6c 65 5f 73 68 61 31 2c 20 66 69  s, file_sha1, fi
04a0: 6c 65 5f 6e 61 6d 65 2c 20 66 69 6c 65 5f 64 69  le_name, file_di
04b0: 72 65 63 74 6f 72 79 29 0a 0a 52 65 73 6f 75 72  rectory)..Resour
04c0: 63 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 68 74  ces.---------.ht
04d0: 74 70 3a 2f 2f 61 70 70 66 73 2e 72 6b 65 65 6e  tp://appfs.rkeen
04e0: 65 2e 6f 72 67 2f 0a                             e.org/.