Host Factory Screenshots

The IP addresses, dates, and MD5 checksums are edited for privacy; the file sizes and run times are real.

hfcheck of whole server, Gainesvlle, FL to Atlanta, 9 Gigs of filetree audited in 5 minutes

# hfcheck main-linode
[...]
# hflog -s /tmp/oe.13166/hosts/main-linode/log.pl
---------- logfilename /tmp/oe.13166/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
dowrite 0 dodelete 0 dochecksums 0 donotfixhardlinks 0 opt_x 0 euid 0
fail_no_remote_answer 0 fail_wrong_remote_version 0 checkreadiness 1 fail_wire_read 0 fail_wire_write 0

time_begin 2147397246 Sun Jan 17 22:14:06 2038
time_end   2147397528 Sun Jan 17 22:18:48 2038  seconds 282

             file       dir   symlink      pipe   chardev    blkdev    socket       all    file byte seen
source    320,556    35,041    84,170         0       646        43         1   440,457     9,383,407,634
target    320,556    35,041    84,170         0       646        43         1   440,457     9,383,408,017

   want byte sent want file    file byte sent file sent   fixlink dir mtime  diff tot  fail tot
                0         0                 0         0         0         0         0         0

hfcheck -l etc check of /etc from Gainesvlle, FL to Atlanta in 9 seconds

# hfcheck -l etc main-linode
[...]
# hflog -s /tmp/oe.14483/hosts/main-linode/log.pl
---------- logfilename /tmp/oe.14483/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
dowrite 0 dodelete 0 dochecksums 0 donotfixhardlinks 0 opt_x 0 euid 0
fail_no_remote_answer 0 fail_wrong_remote_version 0 checkreadiness 1 fail_wire_read 0 fail_wire_write 0

time_begin 2147397246 Sun Jan 17 22:14:06 2038
time_end   2147397255 Sun Jan 17 22:14:15 2038  seconds 9

             file       dir   symlink      pipe   chardev    blkdev    socket       all    file byte seen
source      2,400       407     1,189         0         0         0         0     3,996        10,082,648
target      2,400       407     1,189         0         0         0         0     3,996        10,083,133

   want byte sent want file    file byte sent file sent   fixlink dir mtime  diff tot  fail tot
                0         0                 0         0         0         0         0         0

hfcheck -l var correction of /var from Gainesvlle, FL to Atlanta after remote apt system updated itself

# hfcheck -wd -l var main-linode
NOTICE hfgen.out is not in cd,
NOTICE doing chdir to /opt/hf/hf-8.0-12345678901234567890123456789012/gen
# STATUS hostnames came from: literal main-linode
STATUS starting host main-linode numbered  0 originally named main-linode
CHECKPOINT waiting on 1 children with results in /tmp/oe.11321
 main-linode 11323  
STATUS pid 11323 host main-linode exited with value 0
STATUS exits 0
STATUS inputs more /tmp/oe.11321/{commandtail,hostlist,stdin}
STATUS outputs more /tmp/oe.11321/done /tmp/oe.11321/hosts/*/oe_{exit,pid,stdout,stderr}
STATUS outputs retained, to delete do rm -r /tmp/oe.11321
---------- logfilename /tmp/oe.11321/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
dowrite 1 dodelete 1 dochecksums 0 donotfixhardlinks 0 opt_x 0 euid 0
fail_no_remote_answer 0 fail_wrong_remote_version 0 checkreadiness 1 fail_wire_read 0 fail_wire_write 0

time_begin 2147397246 Sun Jan 17 22:14:06 2038
time_end   2147397391 Sun Jan 17 22:16:31 2038  seconds 145

             file       dir   symlink      pipe   chardev    blkdev    socket       all    file byte seen
source     15,261       449        95         0         0         0         0    15,805     1,068,588,860
target     15,244       449        95         0         0         0         0    15,788       961,970,797

   want byte sent want file    file byte sent file sent   fixlink dir mtime  diff tot  fail tot
      230,415,321       104       230,415,321       104         0         6       414         0
stdout and exits are:
main-linode      HFDIST_DIFF_TOTAL=414      HFDIST_FAIL_TOTAL=0        exit 0
bash commands for detailed logs:
hflog /tmp/oe.11321/hosts/main-linode/log.pl | less
hflog /tmp/oe.11321/hosts/*/log.pl | less
less /tmp/oe.11321/hosts/*/oe_stderr
To cleanup rm -r /tmp/oe.11321

oewatch during hfcheck -l var

# oewatch
[...]
main-linode  sev 0 loc | PROGRESS total sent 186.3 MB; 36360000 of 42504005 bytes, 85% of var/cache/apt/srcpkgcache.bin
main-linode  sev 0 loc | PROGRESS total sent 190.5 MB; 40550000 of 42504005 bytes, 95% of var/cache/apt/srcpkgcache.bin
main-linode  sev 0 loc | PROGRESS total sent 194.4 MB; 1970000 of 3114987 bytes, 63% of var/lib/apt-xapian-index/catalog
main-linode  sev 0 loc | PROGRESS total sent 198.3 MB; 1560000 of 2862813 bytes, 54% of var/lib/apt/lists/security.ubunt
main-linode  sev 0 loc | PROGRESS total sent 202.2 MB; 2620000 of 3149441 bytes, 83% of var/lib/apt/lists/security.ubunt
main-linode  sev 0 loc | PROGRESS total sent 206.4 MB; 210000 of 582513 bytes, 36% of var/lib/apt/lists/security.ubuntu.
main-linode  sev 0 loc | PROGRESS total sent 210.3 MB; 2300000 of 5783153 bytes, 39% of var/lib/apt/lists/us.archive.ubu
main-linode  sev 0 loc | PROGRESS total sent 214.4 MB; 590000 of 6085813 bytes, 9% of var/lib/apt/lists/us.archive.ubunt
main-linode  sev 0 loc | PROGRESS total sent 218.4 MB; 4640000 of 6085813 bytes, 76% of var/lib/apt/lists/us.archive.ubu
main-linode  sev 0 loc | PROGRESS total sent 222.2 MB; 2350000 of 3461778 bytes, 67% of var/lib/apt/lists/us.archive.ubu
main-linode  sev 0 loc | PROGRESS total sent 226.2 MB; 120000 of 203077 bytes, 59% of var/lib/apt/lists/us.archive.ubunt
main-linode  sev 0 loc | PROGRESS total sent 230.4 MB; 400000 of 455082 bytes, 87% of var/lib/apt/lists/us.archive.ubunt
main-linode  sev 0 rem | PROGRESS fixing hardlinks
main-linode  sev 0 rem | PROGRESS fixing dir mtimes
main-linode  sev 0 rem | PROGRESS sending reports and logs
main-linode  sev 0 rem | PROGRESS remote shutting down
main-linode  sev 0 loc | PROGRESS local shutting down
main-linode  HFDIST_DIFF_TOTAL=414
main-linode  HFDIST_FAIL_TOTAL=0

hflog after hfcheck -l var

# hflog /tmp/oe.11321/hosts/main-linode/log.pl | less
---------- logfilename /tmp/oe.11321/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
what     why       want        have        t  name
-------  --------  ----------  ----------  -  ---------------------------------
fix      mtime     2147397246  2147398480  d  var/cache/apt
fix      mtime     2147397246  2147398480  -  var/cache/apt/pkgcache.bin
replace  size        42566659    42710616  -  var/cache/apt/pkgcache.bin
fix      mtime     2147397246  2147398480  -  var/cache/apt/srcpkgcache.bin
replace  size        42504005    42620443  -  var/cache/apt/srcpkgcache.bin
fix      mtime     2147397246  2147398480  d  var/cache/apt-xapian-index
create   dir                               d  var/cache/apt-xapian-index/index.1
create   file                              -  var/cache/apt-xapian-index/index.1/flintlock
create   file                              -  var/cache/apt-xapian-index/index.1/iamchert
create   file                              -  var/cache/apt-xapian-index/index.1/postlist.DB
create   file                              -  var/cache/apt-xapian-index/index.1/postlist.baseA
create   file                              -  var/cache/apt-xapian-index/index.1/postlist.baseB
create   file                              -  var/cache/apt-xapian-index/index.1/record.DB
create   file                              -  var/cache/apt-xapian-index/index.1/record.baseA
create   file                              -  var/cache/apt-xapian-index/index.1/record.baseB
create   file                              -  var/cache/apt-xapian-index/index.1/spelling.DB
create   file                              -  var/cache/apt-xapian-index/index.1/spelling.baseA
[...]
# hflog -l /tmp/oe.11321/hosts/main-linode/log.pl | less
---------- logfilename /tmp/oe.15633/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
what     why       want        have        t  name
-------  --------  ----------  ----------  -  ---------------------------------
         t  mode lnk user group size/rdev       mtime      mtime                    target/checksum
         - ----- -- ----- ----- --------------- ---------- ------------------------ ---------------
fix      mtime     2147397246  2147398480  d  var/cache/apt
    want d 00755  3     0     0                 2147397246 Sun Jan 17 22:14:06 2038
    have d 00755  3     0     0                 2147398480 Sun Jan 17 22:34:40 2038
fix      mtime     2147397246  2147398480  -  var/cache/apt/pkgcache.bin
    want - 00644  1     0     0      42,566,659 2147397246 Sun Jan 17 22:14:06 2038
    have - 00644  1     0     0      42,711,624 2147398480 Sun Jan 17 22:34:40 2038
replace  size        42566659    42711624  -  var/cache/apt/pkgcache.bin
    want - 00644  1     0     0      42,566,659 2147397246 Sun Jan 17 22:14:06 2038
    have - 00644  1     0     0      42,711,624 2147398480 Sun Jan 17 22:34:40 2038
fix      mtime     2147397246  2147398480  -  var/cache/apt/srcpkgcache.bin
    want - 00644  1     0     0      42,504,005 2147397246 Sun Jan 17 22:14:06 2038
    have - 00644  1     0     0      42,621,901 2147398480 Sun Jan 17 22:34:40 2038
replace  size        42504005    42621901  -  var/cache/apt/srcpkgcache.bin
    want - 00644  1     0     0      42,504,005 2147397246 Sun Jan 17 22:14:06 2038
    have - 00644  1     0     0      42,621,901 2147398480 Sun Jan 17 22:34:40 2038
[...]
# hflog -s /tmp/oe.11321/hosts/main-linode/log.pl | less
---------- logfilename /tmp/oe.11321/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
dowrite 1 dodelete 1 dochecksums 0 donotfixhardlinks 0 opt_x 0 euid 0
fail_no_remote_answer 0 fail_wrong_remote_version 0 checkreadiness 1 fail_wire_read 0 fail_wire_write 0

time_begin 2147397246 Sun Jan 17 22:14:06 2038
time_end   2147397391 Sun Jan 17 22:16:31 2038  seconds 145

             file       dir   symlink      pipe   chardev    blkdev    socket       all    file byte seen
source     15,261       449        95         0         0         0         0    15,805     1,068,588,860
target     15,244       449        95         0         0         0         0    15,788       961,970,797

   want byte sent want file    file byte sent file sent   fixlink dir mtime  diff tot  fail tot
      230,415,321       104       230,415,321       104         0         6       414         0
# hflog -c /tmp/oe.11321/hosts/main-linode/log.pl | less
---------- logfilename /tmp/oe.11321/hosts/main-linode/log.pl
----- host 1 direction 'push' channel 'ssh' ip '10.20.30.40'
size            name
--------------- ----
     55,328,768 var/cache/apt-xapian-index/index.3/postlist.DB
     55,304,192 var/cache/apt-xapian-index/index.1/postlist.DB
     45,146,112 var/cache/apt-xapian-index/index.3/termlist.DB
     44,523,520 var/cache/apt-xapian-index/index.1/termlist.DB
     42,566,659 var/cache/apt/pkgcache.bin
     42,504,005 var/cache/apt/srcpkgcache.bin
      6,085,813 var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages
      5,783,153 var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-amd64_Packages
      5,636,096 var/cache/apt-xapian-index/index.3/spelling.DB
      5,611,520 var/cache/apt-xapian-index/index.1/spelling.DB
      3,461,778 var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise-updates_main_i18n_Translation-en
      3,149,441 var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_precise-security_main_binary-i386_Packages
      3,114,987 var/lib/apt-xapian-index/cataloged_times.p
      2,862,813 var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_precise-security_main_binary-amd64_Packages
      2,509,804 var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise-updates_main_source_Sources
      2,198,666 var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_precise-security_main_i18n_Translation-en
      2,015,232 var/cache/apt-xapian-index/index.3/record.DB
[...]

Example hflayers for this server

{

'source_layers' => [

        # source layer 0
        {
                'mount' => [ '', '/opt/hfbulk/main3/m/g', 'dirwalk' ],

                'filetree_skip' => [

                        # layer glue
                        '^depot$',
                        '^dev$',
                        '^opt$',
                        '^var/www$',

                        # unpredictable insides
                        '^var/cache/bind(/|$)',
                        '^var/cache/cups(/|$)',
                        '^var/lib/alsa(/|$)',
                        '^var/lib/amavis(/|$)',
                        '^var/lib/clamav(/|$)',
                        '^var/lib/dhcp(/|$)',
                        '^var/lib/dovecot(/|$)',
                        '^var/lib/lightdm(/|$)',
                        '^var/lib/logrotate(/|$)',
                        '^var/lib/mailman(/|$)',
                        '^var/lib/mlocate(/|$)',
                        '^var/lib/mysql(/|$)',
                        '^var/lib/NetworkManager(/|$)',
                        '^var/lib/ntp(/|$)',
                        '^var/lib/plymouth(/|$)',
                        '^var/lib/postfix(/|$)',
                        '^var/lib/postgrey(/|$)',
                        '^var/lib/rfkill(/|$)',
                        '^var/lib/spamassassin/3.003002(/|$)',
                        '^var/lib/update-manager(/|$)',
                        '^var/lib/update-notifier(/|$)',
                        '^var/lib/upower(/|$)',
                        '^var/lib/urandom(/|$)',
                        '^var/spool/anacron(/|$)',
                        '^var/spool/postfix(/|$)',
                ],

                'stats_replace' => [
                        [0],
                        [104,   [
                                '^etc/lvm/cache(/|$)',
                                '^etc/mtab$',
                                '^etc/resolv.conf(/|$)',
                                '^etc/X11(/|$)',
                                '^home$',
                                '^media$',
                                '^proc$',
                                '^run$',
                                '^selinux$',
                                '^srv$',
                                '^sys$',
                                '^tmp$',
                                '^var/cache$',
                                '^var/cache/man(/|$)',
                                '^var/crash$',
                                '^var/lib$',
                                '^var/lib/logrotate(/|$)',
                                '^var/log(/|$)',
                                '^var/spool(/|$)',
                                '^var/tmp(/|$)'
                                ]
                        ]
                ]
        },
        # source layer 1
        {
                'mount' => [ '', '/opt/hfbulk/main3/m/h/main-linode', 'dirwalk' ],

                'stats_replace' => [
                        [103]
                ]
        },
        # source layer 2
        {
                'mount' => [ '', '/opt/hfbulk/main3/m/s/main-linode', 'dirwalk' ],

                'stats_replace' => [
                        [106]
                ]
        },
        # source layer 3
        {
                'mount' => [ '', '/opt/hfbulk/main3/m/p/main-linode', 'dirwalk' ],

                'filetree_skip' => [
                        '^dev/pts/'
                ],

                'stats_replace' => [
                        [106],
                        [104,   [
                                '^dev(/|$)',

                                '^etc/X11(/|$)',
                                '^etc/resolv.conf(/|$)'
                                ]
                        ],
                        [102,   [
                                '^dev/tty$'
                                ]
                        ],
                        [108,   [
                                '^dev/input/by-path/'
                                ]
                        ]
                ]
        },
        # source layer 4
        {
                'mount' => [ '', '/opt/hfbulk/main3/m/k/main-linode', 'dirwalk' ],

                'stats_replace' => [
                        [106],
                        [104,   [
                                '^boot/grub/grubenv$'
                                ]
                        ]
                ]
        },
        # source layer 5
        {
                'mount' => [ 'depot', '/opt/hfbulk/main3/m/d', 'dirwalk' ],

                'stats_replace' => [
                        [0]
                ]
        },
        # source layer 6
        {
                'mount' => [ 'opt', '/opt/hfbulk/main3/m/o', 'dirwalk' ],

                'filetree_skip' => [

                        # unwanted recursion
                        '^hf$',
                        '^hfbulk$',
                        '^hfsite$',
                ],

                'stats_replace' => [
                        [0]
                ]
        },
        # source layer 7
        {
                'mount' => [ 'var/www', '/opt/hfbulk/main3/m/w', 'dirwalk' ],

                'stats_replace' => [
                        [0]
                ]
        },
],

'target_layers' => [

        # target layer 0
        {
                'mount' => [ '',  '/', 'dirwalk' ],

                'filetree_skip' => [

                        # unwanted recursion
                        '^opt/hf$',
                        '^opt/hfbulk$',
                        '^opt/hfsite$',

                        # some entries too big to copy
                        '^proc/',

                        # some entries refuse to be copied
                        '^sys/',

                        # don't want these contents
                        '^dev/pts/',
                        '^home/bb/(?!.ssh(/|$))',
                        '^home/ubntinst/(?!.ssh(/|$))',
                        '^lost+found/',
                        '^media/',
                        '^mnt/',
                        '^root/(?!.ssh(/|$))',
                        '^run/',
                        '^tmp/',
                        '^var/crash/',
                        '^var/mail/',

                        # layer glue
                        '^var/log$'
                ],

                'stats_replace' => [
                        [0],
                ]
        },
        # target layer 1
        {
                'mount' => [ 'var/log', '/var/log', 'nonfiles' ],

                'stats_replace' => [
                        [0],
                ]
        },
]

}

Flexible enough to handle network address translation and tunnel situations

$ coprocess 'ssh -p 22222 localhost hfdist -H /tmp/a /tmp/b' 'ssh -p 33333 localhost hfdist -S'

Install pathnames have md5 in them so new versions of hfdist client/server can be developed without impacting stable versions

$ hf-version -a
This version running is:

hf-version	 12345678901234567890123456789012
found at	 /opt/hf/hf-8.0-12345678901234567890123456789012
last mod	 Mon Jan 18 22:14:06 EST 2038 /opt/hf/hf-8.0-12345678901234567890123456789012

Original build versioning was:

hf-version	 12345678901234567890123456789012
hf-root		 /opt/hf/hf-8.0-12345678901234567890123456789012
hgrevid -d	 Mon Jan 18 22:14:06 -0400 2038
hgrevid		 1234567890123456789012345678901234567890
md5		 12345678901234567890123456789012
date		 Mon Jan 18 22:14:06 EST 2038
id		 uid=1000(bb) gid=1000(bb) groups=1000(bb),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmi[...]
hostname	 battleship

Set math to manipulate lists of hostnames

$ oel server -batten newhost
# STATUS hostnames came from: file /opt/hf/hf-8.0-12345678901234567890123456789012/gen/hfgen.out/hfexample1/hostlists/server
# STATUS hostnames came from: neg literal batten
# STATUS hostnames came from: literal newhost
brig
cat
fluke
gear
newhost

Execute in parallel on each of a list of hosts

$ oe 'server -batten newhost' cat /etc/hostname
# STATUS hostnames came from: file /opt/hf/hf-8.0-12345678901234567890123456789012/gen/hfgen.out/hfexample1/hostlists/server
# STATUS hostnames came from: neg literal batten
# STATUS hostnames came from: literal newhost
STATUS starting host brig    numbered  0 originally named brig
STATUS starting host cat     numbered  1 originally named cat
STATUS starting host fluke   numbered  2 originally named fluke
STATUS starting host gear    numbered  3 originally named gear
STATUS starting host newhost numbered  4 originally named newhost
CHECKPOINT waiting on 5 children:
        brig 32635           cat 32636         fluke 32638          gear 32640
     newhost 32642
[...]

oh puts /dev under Mercurial version control

# oh init
STATUS doing init
adding omar-1.5
STATUS init done
STATUS next step is to write files to the 'oh' dir
STATUS total elapsed time 1 seconds aka 0 minutes
# (cd /dev ; tar -cf - .) | (cd oh ; tar -xpf -)
tar: ./log: socket ignored
# sl -k oh > /tmp/before-oh.sl
# ls -la oh | tail
crw-rw----  1 root tty         7, 130 Jan 18  2038 vcsa2
crw-rw----  1 root tty         7, 131 Jan 18  2038 vcsa3
crw-rw----  1 root tty         7, 132 Jan 18  2038 vcsa4
crw-rw----  1 root tty         7, 133 Jan 18  2038 vcsa5
crw-rw----  1 root tty         7, 134 Jan 18  2038 vcsa6
crw-rw----  1 root tty         7, 191 Jan 18  2038 vcsa63
crw-rw----  1 root tty         7, 135 Jan 18  2038 vcsa7
crw-------  1 root root       10,  63 Jan 18  2038 vga_arbiter
crw-rw----  1 root video      81,   0 Jan 18  2038 video0
crw-rw-rw-  1 root root        1,   5 Jan 18  2038 zero
# oh wrap
STATUS doing wrap
STATUS doing omar create
0.05 user 0.01 system 0:00.07 elapsed
STATUS doing hg addremove
Time: real 0.050 secs (user 0.000+0.000 sys 0.010+0.000)
adding oh-2.0/.blkid.tab
adding oh-2.0/.blkid.tab.old
adding oh-2.0/.udev/rules.d/root.rules
STATUS wrap done
STATUS next step is to oh commit
STATUS total elapsed time 0 seconds aka 0 minutes
# oh commit save this /dev copy
STATUS doing commit
STATUS doing hg commit
Time: real 0.010 secs (user 0.010+0.000 sys 0.000+0.000)
STATUS commit done
STATUS next step is to oh unwrap
STATUS total elapsed time 1 seconds aka 0 minutes
# rm -r *
# ls -la
total 12
drwxrwxr-x  3 bb   bb   4096 Jan 18  2038 .
drwxrwxrwt 40 root root 4096 Jan 18  2038 ..
drwxr-xr-x  4 root root 4096 Jan 18  2038 .hg
# oh fix
STATUS doing fix
STATUS if a question appears, answer with y <RET> to approve deletion
Time: real 0.030 secs (user 0.010+0.000 sys 0.010+0.000)
resolving manifests
getting oh-2.0/.blkid.tab
getting oh-2.0/.blkid.tab.old
getting oh-2.0/.udev/rules.d/root.rules
getting omar-1.5
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
STATUS doing status
STATUS looks wrapped
STATUS doing hg status
Time: real 0.010 secs (user 0.020+0.000 sys 0.000+0.000)
STATUS 0 hg status lines
STATUS 567 omar lines
STATUS status done
STATUS next step is to oh unwrap
STATUS total elapsed time 0 seconds aka 0 minutes
STATUS fix done, hg local revision number is 1
STATUS next step is to oh unwrap
# oh unwrap
STATUS doing unwrap
STATUS doing hg update
Time: real 0.010 secs (user 0.010+0.000 sys 0.000+0.000)
resolving manifests
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
STATUS doing omar extract
0.07 user 0.00 system 0:00.08 elapsed
STATUS unwrap done
STATUS next step is to write files to the 'oh' dir
STATUS total elapsed time 0 seconds aka 0 minutes
# sl -k oh > /tmp/after-oh.sl
# diff /tmp/before-oh.sl /tmp/after-oh.sl
# ls -la oh | tail
crw-rw----  1 root tty         7, 130 Jan 18  2038 vcsa2
crw-rw----  1 root tty         7, 131 Jan 18  2038 vcsa3
crw-rw----  1 root tty         7, 132 Jan 18  2038 vcsa4
crw-rw----  1 root tty         7, 133 Jan 18  2038 vcsa5
crw-rw----  1 root tty         7, 134 Jan 18  2038 vcsa6
crw-rw----  1 root tty         7, 191 Jan 18  2038 vcsa63
crw-rw----  1 root tty         7, 135 Jan 18  2038 vcsa7
crw-------  1 root root       10,  63 Jan 18  2038 vga_arbiter
crw-rw----  1 root video      81,   0 Jan 18  2038 video0
crw-rw-rw-  1 root root        1,   5 Jan 18  2038 zero

Man pages for everything

HFDIST(1)               Working Version's Host Factory               HFDIST(1)

NAME
       hfdist - Copy filetree over the network, updating only differences.

SYNOPSIS
       hfdist source-dir target-dir

       hfdist source-dir target-dir hostname-or-ip-of-far-host ...

       hfdist -l file-of.layers|- hostname-or-ip-of-far-host ...

       hfdist -l file-of.layers|- -h file-of.hosts

DESCRIPTION
       hfdist is an updated approach to the incremental filetree copy ideas of
       rdist.  New ideas include "layers", which allow separately maintained
       input filetrees to be merged at run time, and "treatments", which allow
       some differences in target files to be not flagged as differences.  The
       target user community is system administrators.  For sanity in an NFS
       environment, uid/gid is always transferred numeric and not mapped

A report of filetree contents with quoted filenames in sorted order that you can diff

$ sl
dir     00775       2    1000    1000   2147483646                                      .
file    00664       1    1000    1000   2147483646               279                    GNUmakefile
file    00755       1    1000    1000   2147483646              6959                    demo.sh
file    00755       1    1000    1000   2147483646              1196                    dopush
file    00644       1    1000    1000   2147483646               781                    initial-pull.layers
file    00664       1    1000    1000   2147483646                33                    md5
file    00664       1    1000    1000   2147483646               779                    module.mk
file    00644       1    1000    1000   2147483646              2199                    push.layers
file    00755       1    1000    1000   2147483646               958                    vagrant-ssh

Tab-separated for ease of parsing

$ sl | sed $'s/\t/@/g'
dir@00775@    2@ 1000@ 1000@2147483646@            @@     @.
file@00664@    1@ 1000@ 1000@2147483646@         279@@     @GNUmakefile
file@00755@    1@ 1000@ 1000@2147483646@        6959@@     @demo.sh
file@00755@    1@ 1000@ 1000@2147483646@        1196@@     @dopush
file@00644@    1@ 1000@ 1000@2147483646@         781@@     @initial-pull.layers
file@00664@    1@ 1000@ 1000@2147483646@          33@@     @md5
file@00664@    1@ 1000@ 1000@2147483646@         779@@     @module.mk
file@00644@    1@ 1000@ 1000@2147483646@        2199@@     @push.layers
file@00755@    1@ 1000@ 1000@2147483646@         958@@     @vagrant-ssh

Separate databases under different names version the database contents and generators

$ lsdb
--------------
show databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| hfexample1         |
| hftest1            |
| mysql              |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)

Bye
$ forkdb hfexample1 hfexample2
[...]
Bye
$ mysql example2
[...]
mysql> update hosts set osmajmin = '12.04.4 LTS' where host = 'latitude';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> Bye
$ diffdb hfexample1 hfexample2
3c3
< -- Host: localhost    Database: hfexample1
---
> -- Host: localhost    Database: hfexample2
170c170
< INSERT INTO `hosts` VALUES ('latitude','Y','Ubuntu','12.04 LTS','N','N','',0,'372prn','PC',2048,'PC','ofc-410','i[...]
---
> INSERT INTO `hosts` VALUES ('latitude','Y','Ubuntu','12.04.4 LTS','N','N','',0,'372prn','PC',2048,'PC','ofc-410',[...]
$ dropdb hfexample2
[...]
Bye

Investigate proposed file transfer size with xdu

When the ratio of proposed file transfer size to bandwidth is large enough, a summary byte count of the proposed transfer is insufficient detail for efficient development. One example is finding and extracting a 30 gigabyte testing subset of a 1 terabyte customer server to transfer over home DSL. Instead, it is better to explore the synthesized file tree with the interactive disk usage program xdu to determine what not to transfer. hfdist generates du format data for xdu without transferring anything. The xdu program pictured below is interactive, clicking in a box zooms in to show the filetree sizes under it.


Web Reports for Example Data

The tables below are a subset of the web reports, shown displaying the example data. The first table is a floorplan map of the example office building. All of the data inside the room boxes is extracted from the database; the second line is usernames, the third line is hostnames, the fourth printers. The hostnames are colored green and red by a pinger which writes a css file.

Headquarters 3rd floor

367 Office x364
johannd jstark kms pjc pnurse susumut
jib
367prn
368 Office x410
alberte cbh gbinnig kziegler whb
keel

376 Men's RR



384 Janitor



369 Office x283
akrogh jaroslav jcp sbp tadeusr
knot

365 Office x185
davidb gabriell jamesc rbl rross
jetty

   371 Office x471
acarrel afleming fwa jgb ret
line

364 Office x183
eadrian eruska hjm jwb pas paulg
hull

 370 Conference x249

leeward

 373 Office x334
ajl egk flipmann hansv ilyam joshual
log

363 Office x158
aam fhaber msb ottom vlg wernerf
hitch

  374 Office x161
cpowell ctrw ipavlov pcurie schu victorg
luff

362 Office x316
afc hgk jfibiger nfr rfc rpf
helm

   375 Office x228
gbeadle gjfk lml scohen tlee zia
main

361 Kitchen x407

heel

   377 Elevator



389 Office x106
anfinsen bsb jacks mcalvin robertr vincentd
rope

   390 Electrical



388 Office x237
gao gdomagk hls ram rre
reef

 372 Machines x374

batten brig cat fluke gear
372prn
 378 Office x104
erwins fcrick hah jcronin wsk
midship

387 Office x244
ccori cew geoffrey ghertz jfranck
quarter

  379 Office x357
alberts fmb jmacleod owarburg rwh


386 Office x262
alh dcg ebuchner hyukawa jbs
port

   380 Office x448
edt ewigner jfe mkoshiba pehrlich wbs
mast

385 Office x288
adolfb crubbia fzernike sry svantea
pile

383 Office x159
cny jkarle saw sochoa todd
pier

382 Office x287
cgolgi charless kbloch pcd richardz
outboard

366 Storage


366prn
381 Office x145
ernestr fbraun georgv jhdj melvins
mooring

Building Table

locfunctionhonorificgivenmiddle1middle2familygenerationhostososmajminhostkindmembornonserno
ofc-361KitchenheelUbuntu12.04.5 LTSPC20482013-03-1010321
ofc-362OfficeAndreF.CournandhelmUbuntu12.04.5 LTSPC20482013-03-1071203
ofc-362OfficeRobertF.CurlJr.helmUbuntu12.04.5 LTSPC20482013-03-1071203
ofc-362OfficeRichardP.FeynmanhelmUbuntu12.04.5 LTSPC20482013-03-1071203
ofc-362OfficeJohannesFibigerhelmUbuntu12.04.5 LTSPC20482013-03-1071203
ofc-362OfficeH.GobindKhoranahelmUbuntu12.04.5 LTSPC20482013-03-1071203
ofc-362OfficeNormanF.RamseyhelmUbuntu12.04.5 LTSPC20482013-03-1071203
ofc-363OfficeMichaelS.BrownhitchUbuntu12.04.5 LTSPC20482013-03-1045935
ofc-363OfficeWernerForssmannhitchUbuntu12.04.5 LTSPC20482013-03-1045935
ofc-363OfficeVitalyL.GinzburghitchUbuntu12.04.5 LTSPC20482013-03-1045935
ofc-363OfficeFritzHaberhitchUbuntu12.04.5 LTSPC20482013-03-1045935
ofc-363OfficeOttoMeyerhofhitchUbuntu12.04.5 LTSPC20482013-03-1045935
ofc-363OfficeAlbertA.MichelsonhitchUbuntu12.04.5 LTSPC20482013-03-1045935
ofc-364OfficeEdgarAdrianhullUbuntu12.04.5 LTSPC20482013-03-1028730
ofc-364OfficeSirJamesW.BlackhullUbuntu12.04.5 LTSPC20482013-03-1028730
ofc-364OfficePaulGreengardhullUbuntu12.04.5 LTSPC20482013-03-1028730
ofc-364OfficeHermannJ.MullerhullUbuntu12.04.5 LTSPC20482013-03-1028730
ofc-364OfficeErnstRuskahullUbuntu12.04.5 LTSPC20482013-03-1028730
ofc-364OfficePhillipA.SharphullUbuntu12.04.5 LTSPC20482013-03-1028730
ofc-365OfficeDavidBaltimorejettyUbuntu12.04.5 LTSPC20482013-03-1007457
ofc-365OfficeJamesChadwickjettyUbuntu12.04.5 LTSPC20482013-03-1007457
ofc-365OfficeRobertB.LaughlinjettyUbuntu12.04.5 LTSPC20482013-03-1007457
ofc-365OfficeGabrielLippmannjettyUbuntu12.04.5 LTSPC20482013-03-1007457
ofc-365OfficeRonaldRossjettyUbuntu12.04.5 LTSPC20482013-03-1007457
ofc-366Storage
ofc-367OfficeSirPaulNursejibUbuntu12.04.5 LTSPC20482013-03-1017861
ofc-367OfficePaulJ.CrutzenjibUbuntu12.04.5 LTSPC20482013-03-1017861
ofc-367OfficeJohannDeisenhoferjibUbuntu12.04.5 LTSPC20482013-03-1017861
ofc-367OfficeKaiM.SiegbahnjibUbuntu12.04.5 LTSPC20482013-03-1017861
ofc-367OfficeJohannesStarkjibUbuntu12.04.5 LTSPC20482013-03-1017861
ofc-367OfficeSusumuTonegawajibUbuntu12.04.5 LTSPC20482013-03-1017861
ofc-368OfficeGerdBinnigkeelUbuntu12.04.5 LTSPC20482013-03-1007026
ofc-368OfficeWalterH.BrattainkeelUbuntu12.04.5 LTSPC20482013-03-1007026
ofc-368OfficeAlbertEinsteinkeelUbuntu12.04.5 LTSPC20482013-03-1007026
ofc-368OfficeCharlesB.HugginskeelUbuntu12.04.5 LTSPC20482013-03-1007026
ofc-368OfficeKarlZieglerkeelUbuntu12.04.5 LTSPC20482013-03-1007026
ofc-369OfficeJaroslavHeyrovskyknotUbuntu12.04.5 LTSPC20482013-03-1048818
ofc-369OfficeAugustKroghknotUbuntu12.04.5 LTSPC20482013-03-1048818
ofc-369OfficeJohnC.PolanyiknotUbuntu12.04.5 LTSPC20482013-03-1048818
ofc-369OfficeStanleyB.PrusinerknotUbuntu12.04.5 LTSPC20482013-03-1048818
ofc-369OfficeTadeusReichsteinknotUbuntu12.04.5 LTSPC20482013-03-1048818
ofc-370ConferenceleewardUbuntu12.04.5 LTSPC20482013-03-1063869
ofc-371OfficeSirAlexanderFleminglineUbuntu12.04.5 LTSPC20482013-03-1039148
ofc-371OfficeFrancisW.AstonlineUbuntu12.04.5 LTSPC20482013-03-1039148
ofc-371OfficeJ.GeorgBednorzlineUbuntu12.04.5 LTSPC20482013-03-1039148
ofc-371OfficeAlexisCarrellineUbuntu12.04.5 LTSPC20482013-03-1039148
ofc-371OfficeRichardE.TaylorlineUbuntu12.04.5 LTSPC20482013-03-1039148
ofc-372MachinesbattenUbuntu12.04.5 LTS serverPC81922013-03-1007391
ofc-372MachinesbrigUbuntu12.04.5 LTS serverPC81922013-03-1038589
ofc-372MachinescatUbuntu12.04.5 LTS serverPC81922013-03-1041301
ofc-372MachinesflukeUbuntu12.04.5 LTS serverPC81922013-03-1076706
ofc-372MachinesgearUbuntu12.04.5 LTS serverPC81922013-03-1065550
ofc-373OfficeEdwinG.KrebslogUbuntu12.04.5 LTSPC20482013-03-1095776
ofc-373OfficeJoshuaLederberglogUbuntu12.04.5 LTSPC20482013-03-1095776
ofc-373OfficeAnthonyJ.LeggettlogUbuntu12.04.5 LTSPC20482013-03-1095776
ofc-373OfficeFritzLipmannlogUbuntu12.04.5 LTSPC20482013-03-1095776
ofc-373OfficeIlyaMechnikovlogUbuntu12.04.5 LTSPC20482013-03-1095776
ofc-373OfficeHansvon Euler-ChelpinlogUbuntu12.04.5 LTSPC20482013-03-1095776
ofc-374OfficeStevenChuluffUbuntu12.04.5 LTSPC20482013-03-1059264
ofc-374OfficePierreCurieluffUbuntu12.04.5 LTSPC20482013-03-1059264
ofc-374OfficeVictorGrignardluffUbuntu12.04.5 LTSPC20482013-03-1059264
ofc-374OfficeIvanPavlovluffUbuntu12.04.5 LTSPC20482013-03-1059264
ofc-374OfficeCecilPowellluffUbuntu12.04.5 LTSPC20482013-03-1059264
ofc-374OfficeC.T.R.WilsonluffUbuntu12.04.5 LTSPC20482013-03-1059264
ofc-375OfficeZhoresI.AlferovmainUbuntu12.04.5 LTSPC20482013-03-1074522
ofc-375OfficeGeorgeBeadlemainUbuntu12.04.5 LTSPC20482013-03-1074522
ofc-375OfficeStanleyCohenmainUbuntu12.04.5 LTSPC20482013-03-1074522
ofc-375OfficeGeorgesJ.F.KohlermainUbuntu12.04.5 LTSPC20482013-03-1074522
ofc-375OfficeLeonM.LedermanmainUbuntu12.04.5 LTSPC20482013-03-1074522
ofc-375OfficeTsung-DaoLeemainUbuntu12.04.5 LTSPC20482013-03-1074522
ofc-376Men's RR
ofc-377Elevator
ofc-378OfficeFrancisCrickmidshipUbuntu12.04.5 LTSPC20482013-03-1041267
ofc-378OfficeJamesCroninmidshipUbuntu12.04.5 LTSPC20482013-03-1041267
ofc-378OfficeHerbertA.HauptmanmidshipUbuntu12.04.5 LTSPC20482013-03-1041267
ofc-378OfficeWilliamS.KnowlesmidshipUbuntu12.04.5 LTSPC20482013-03-1041267
ofc-378OfficeErwinSchrodingermidshipUbuntu12.04.5 LTSPC20482013-03-1041267
ofc-379OfficeSirFrankMacfarlaneBurnet
ofc-379OfficeRobertW.Holley
ofc-379OfficeJohnMacleod
ofc-379OfficeAlbertSzent-Gyorgyi
ofc-379OfficeOttoWarburg
ofc-380OfficePaulEhrlichmastUbuntu12.04.5 LTSPC20482013-03-1011044
ofc-380OfficeJohnF.EndersmastUbuntu12.04.5 LTSPC20482013-03-1011044
ofc-380OfficeMasatoshiKoshibamastUbuntu12.04.5 LTSPC20482013-03-1011044
ofc-380OfficeWilliamB.ShockleymastUbuntu12.04.5 LTSPC20482013-03-1011044
ofc-380OfficeE.DonnallThomasmastUbuntu12.04.5 LTSPC20482013-03-1011044
ofc-380OfficeEugeneWignermastUbuntu12.04.5 LTSPC20482013-03-1011044
ofc-381OfficeFerdinandBraunmooringUbuntu12.04.5 LTSPC20482013-03-1057472
ofc-381OfficeJ.HansD.JensenmooringUbuntu12.04.5 LTSPC20482013-03-1057472
ofc-381OfficeErnestRutherfordmooringUbuntu12.04.5 LTSPC20482013-03-1057472
ofc-381OfficeMelvinSchwartzmooringUbuntu12.04.5 LTSPC20482013-03-1057472
ofc-381OfficeGeorgvon BekesymooringUbuntu12.04.5 LTSPC20482013-03-1057472
ofc-382OfficeSirCharlesSherringtonoutboardUbuntu12.04.5 LTSPC20482013-03-1000591
ofc-382OfficeKonradBlochoutboardUbuntu12.04.5 LTSPC20482013-03-1000591
ofc-382OfficePeterC.DohertyoutboardUbuntu12.04.5 LTSPC20482013-03-1000591
ofc-382OfficeCamilloGolgioutboardUbuntu12.04.5 LTSPC20482013-03-1000591
ofc-382OfficeRichardZsigmondyoutboardUbuntu12.04.5 LTSPC20482013-03-1000591
ofc-383OfficeLordToddpierUbuntu12.04.5 LTSPC20482013-03-1024795
ofc-383OfficeJeromeKarlepierUbuntu12.04.5 LTSPC20482013-03-1024795
ofc-383OfficeSeveroOchoapierUbuntu12.04.5 LTSPC20482013-03-1024795
ofc-383OfficeSelmanA.WaksmanpierUbuntu12.04.5 LTSPC20482013-03-1024795
ofc-383OfficeChenNingYangpierUbuntu12.04.5 LTSPC20482013-03-1024795
ofc-384Janitor
ofc-385OfficeSvanteArrheniuspileUbuntu12.04.5 LTSPC20482013-03-1063926
ofc-385OfficeAdolfButenandtpileUbuntu12.04.5 LTSPC20482013-03-1063926
ofc-385OfficeCarloRubbiapileUbuntu12.04.5 LTSPC20482013-03-1063926
ofc-385OfficeSantiagoRamony CajalpileUbuntu12.04.5 LTSPC20482013-03-1063926
ofc-385OfficeFritsZernikepileUbuntu12.04.5 LTSPC20482013-03-1063926
ofc-386OfficeEduardBuchnerportUbuntu12.04.5 LTSPC20482013-03-1027414
ofc-386OfficeD.CarletonGajdusekportUbuntu12.04.5 LTSPC20482013-03-1027414
ofc-386OfficeAlanL.HodgkinportUbuntu12.04.5 LTSPC20482013-03-1027414
ofc-386OfficeJamesB.SumnerportUbuntu12.04.5 LTSPC20482013-03-1027414
ofc-386OfficeHidekiYukawaportUbuntu12.04.5 LTSPC20482013-03-1027414
ofc-387OfficeCarlCoriquarterUbuntu12.04.5 LTSPC20482013-03-1075903
ofc-387OfficeJamesFranckquarterUbuntu12.04.5 LTSPC20482013-03-1075903
ofc-387OfficeGustavHertzquarterUbuntu12.04.5 LTSPC20482013-03-1075903
ofc-387OfficeCarlE.WiemanquarterUbuntu12.04.5 LTSPC20482013-03-1075903
ofc-387OfficeGeoffreyWilkinsonquarterUbuntu12.04.5 LTSPC20482013-03-1075903
ofc-388OfficeGerhardDomagkreefUbuntu12.04.5 LTSPC20482013-03-1017676
ofc-388OfficeRichardR.ErnstreefUbuntu12.04.5 LTSPC20482013-03-1017676
ofc-388OfficeRobertA.MillikanreefUbuntu12.04.5 LTSPC20482013-03-1017676
ofc-388OfficeGeorgeA.OlahreefUbuntu12.04.5 LTSPC20482013-03-1017676
ofc-388OfficeHorstL.StormerreefUbuntu12.04.5 LTSPC20482013-03-1017676
ofc-389OfficeSirRobertRobinsonropeUbuntu12.04.5 LTSPC20482013-03-1058308
ofc-389OfficeChristianAnfinsenropeUbuntu12.04.5 LTSPC20482013-03-1058308
ofc-389OfficeBaruchS.BlumbergropeUbuntu12.04.5 LTSPC20482013-03-1058308
ofc-389OfficeMelvinCalvinropeUbuntu12.04.5 LTSPC20482013-03-1058308
ofc-389OfficeVincentdu VigneaudropeUbuntu12.04.5 LTSPC20482013-03-1058308
ofc-389OfficeJackSteinbergerropeUbuntu12.04.5 LTSPC20482013-03-1058308
ofc-390Electrical

Accounts by Username

usernamehonorificfamilygivenmiddle1middle2generationjoblochomeserveremplid
aamMichelsonAlbertA.physicsofc-363brigempl333
acarrelCarrelAlexismedicineofc-371brigempl157
adolfbButenandtAdolfchemistryofc-385flukeempl039
afcCournandAndreF.medicineofc-362flukeempl211
aflemingSirFlemingAlexandermedicineofc-371battenempl191
ajlLeggettAnthonyJ.physicsofc-373battenempl494
akroghKroghAugustmedicineofc-369battenempl161
alberteEinsteinAlbertphysicsofc-368battenempl348
albertsSzent-GyorgyiAlbertmedicineofc-379flukeempl183
alhHodgkinAlanL.medicineofc-386brigempl227
anfinsenAnfinsenChristianchemistryofc-389brigempl081
bsbBlumbergBaruchS.medicineofc-389battenempl260
cbhHugginsCharlesB.medicineofc-368brigempl234
ccoriCoriCarlmedicineofc-387flukeempl194
cewWiemanCarlE.physicsofc-387battenempl488
cgolgiGolgiCamillomedicineofc-382flukeempl149
charlessSirSherringtonCharlesmedicineofc-382brigempl175
cnyYangChenNingphysicsofc-383flukeempl391
cpowellPowellCecilphysicsofc-374battenempl377
crubbiaRubbiaCarlophysicsofc-385flukeempl447
ctrwWilsonC.T.R.physicsofc-374battenempl356
davidbBaltimoreDavidmedicineofc-365brigempl257
dcgGajdusekD.Carletonmedicineofc-386flukeempl261
eadrianAdrianEdgarmedicineofc-364brigempl174
ebuchnerBuchnerEduardchemistryofc-386battenempl007
edtThomasE.Donnallmedicineofc-380brigempl294
egkKrebsEdwinG.medicineofc-373battenempl298
ernestrRutherfordErnestchemistryofc-381flukeempl008
eruskaRuskaErnstphysicsofc-364brigempl452
erwinsSchrodingerErwinphysicsofc-378flukeempl362
ewignerWignerEugenephysicsofc-380brigempl403
fbraunBraunFerdinandphysicsofc-381brigempl335
fcrickCrickFrancismedicineofc-378flukeempl223
fhaberHaberFritzchemistryofc-363brigempl017
flipmannLipmannFritzmedicineofc-373flukeempl206
fmbSirBurnetFrankMacfarlanemedicineofc-379brigempl220
fwaAstonFrancisW.chemistryofc-371brigempl020
fzernikeZernikeFritsphysicsofc-385flukeempl382
gabriellLippmannGabrielphysicsofc-365flukeempl334
gaoOlahGeorgeA.chemistryofc-388brigempl120
gbeadleBeadleGeorgemedicineofc-375battenempl215
gbinnigBinnigGerdphysicsofc-368flukeempl450
gdomagkDomagkGerhardmedicineofc-388flukeempl185
geoffreyWilkinsonGeoffreychemistryofc-387flukeempl085
georgvvon BekesyGeorgmedicineofc-381flukeempl222
ghertzHertzGustavphysicsofc-387brigempl353
gjfkKohlerGeorgesJ.F.medicineofc-375battenempl281
hahHauptmanHerbertA.chemistryofc-378battenempl102
hansvvon Euler-ChelpinHanschemistryofc-373flukeempl027
hgkKhoranaH.Gobindmedicineofc-362battenempl240
hjmMullerHermannJ.medicineofc-364flukeempl193
hlsStormerHorstL.physicsofc-388flukeempl479
hyukawaYukawaHidekiphysicsofc-386flukeempl376
ilyamMechnikovIlyamedicineofc-373battenempl153
ipavlovPavlovIvanmedicineofc-374battenempl147
jacksSteinbergerJackphysicsofc-389flukeempl457
jamescChadwickJamesphysicsofc-365brigempl363
jaroslavHeyrovskyJaroslavchemistryofc-369battenempl063
jbsSumnerJamesB.chemistryofc-386flukeempl046
jcpPolanyiJohnC.chemistryofc-369battenempl106
jcroninCroninJamesphysicsofc-378brigempl439
jfeEndersJohnF.medicineofc-380flukeempl207
jfibigerFibigerJohannesmedicineofc-362brigempl167
jfranckFranckJamesphysicsofc-387brigempl352
jgbBednorzJ.Georgphysicsofc-371brigempl453
jhdjJensenJ.HansD.physicsofc-381flukeempl402
jkarleKarleJeromechemistryofc-383battenempl103
jmacleodMacleodJohnmedicineofc-379flukeempl165
johanndDeisenhoferJohannchemistryofc-367brigempl110
joshualLederbergJoshuamedicineofc-373flukeempl216
jstarkStarkJohannesphysicsofc-367flukeempl346
jwbSirBlackJamesW.medicineofc-364flukeempl288
kblochBlochKonradmedicineofc-382brigempl229
kmsSiegbahnKaiM.physicsofc-367flukeempl443
kzieglerZieglerKarlchemistryofc-368battenempl069
lmlLedermanLeonM.physicsofc-375battenempl455
mcalvinCalvinMelvinchemistryofc-389battenempl065
melvinsSchwartzMelvinphysicsofc-381brigempl456
mkoshibaKoshibaMasatoshiphysicsofc-380battenempl491
msbBrownMichaelS.medicineofc-363battenempl283
nfrRamseyNormanF.physicsofc-362battenempl460
ottomMeyerhofOttomedicineofc-363flukeempl163
owarburgWarburgOttomedicineofc-379brigempl173
pasSharpPhillipA.medicineofc-364flukeempl300
paulgGreengardPaulmedicineofc-364brigempl314
pcdDohertyPeterC.medicineofc-382battenempl306
pcurieCuriePierrephysicsofc-374brigempl328
pehrlichEhrlichPaulmedicineofc-380brigempl152
pjcCrutzenPaulJ.chemistryofc-367brigempl121
pnurseSirNursePaulmedicineofc-367battenempl318
ramMillikanRobertA.physicsofc-388battenempl350
rblLaughlinRobertB.physicsofc-365brigempl478
retTaylorRichardE.physicsofc-371brigempl463
rfcCurlRobertF.Jr.chemistryofc-362brigempl124
richardzZsigmondyRichardchemistryofc-382flukeempl022
robertrSirRobinsonRobertchemistryofc-389battenempl047
rpfFeynmanRichardP.physicsofc-362battenempl407
rreErnstRichardR.chemistryofc-388flukeempl116
rrossRossRonaldmedicineofc-365brigempl145
rwhHolleyRobertW.medicineofc-379battenempl239
sawWaksmanSelmanA.medicineofc-383battenempl204
sbpPrusinerStanleyB.medicineofc-369brigempl308
schuChuStevenphysicsofc-374flukeempl475
scohenCohenStanleymedicineofc-375battenempl285
sochoaOchoaSeveromedicineofc-383battenempl219
sryy CajalSantiagoRamonmedicineofc-385battenempl150
susumutTonegawaSusumumedicineofc-367brigempl287
svanteaArrheniusSvantechemistryofc-385flukeempl003
tadeusrReichsteinTadeusmedicineofc-369brigempl202
tleeLeeTsung-Daophysicsofc-375flukeempl390
toddLordToddchemistryofc-383brigempl061
victorgGrignardVictorchemistryofc-374battenempl012
vincentddu VigneaudVincentchemistryofc-389battenempl058
vlgGinzburgVitalyL.physicsofc-363flukeempl493
wbsShockleyWilliamB.physicsofc-380flukeempl389
wernerfForssmannWernermedicineofc-363brigempl212
whbBrattainWalterH.physicsofc-368flukeempl388
wskKnowlesWilliamS.chemistryofc-378flukeempl136
ziaAlferovZhoresI.physicsofc-375brigempl483

 


Raspberry Pi demo computing cluster

How do you manage your Raspberry Pi's? A Pi running Debian is subject to bitrot just like any other Linux computer. Here are two Pi's packaged for demo purposes. Note the live display of hfdist activity on the LCD displays. Click to enlarge picture.

This is the initiation of checking the Pi's

pidemo2 root@battleship:~# hfcheck pi
NOTICE HFGENDB=pidemo2
NOTICE hfgen.out is not in cd, doing chdir to /opt/hf/hf-8.15-66d8b4db13e6a5bb37f489981a796e57/gen
# STATUS hostnames came from: file hfgen.out/pidemo2/hostlists/pi
STATUS host pinnace starting,   1 of   2 originally named pinnace
STATUS host pirogue starting,   2 of   2 originally named pirogue
CHECKPOINT waiting on 2 children with results in /tmp/oe.15151
     pinnace 16814       pirogue 16815

This is the live progress report

Thu Jan  7 21:36:30 EST 2016    /tmp/oe.15151
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 574 have 245 for 'usr/lib/python3.4/sqlite3/__pycache__'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 576 have 247 for 'usr/lib/python3.4/test'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 576 have 247 for 'usr/lib/python3.4/test/__pycache__'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 576 have 247 for 'usr/lib/python3.4/test/support'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 576 have 247 for 'usr/lib/python3.4/test/support/__pycache__'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 574 have 245 for 'usr/lib/python3.4/tkinter'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 574 have 245 for 'usr/lib/python3.4/tkinter/__pycache__'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 575 have 245 for 'usr/lib/python3.4/unittest'
pinnace  sev 1 rem | DIFFERENCE wrong mtime, want 575 have 245 for 'usr/lib/python3.4/unittest/__pycache__'

pirogue  sev 0 loc | PROGRESS 'usr/share/doc/ruby1.9.1-examples/examples/webrick/demo-servlet.rb'
pirogue  sev 0 loc | PROGRESS 'usr/share/fonts/X11/encodings/microsoft-cp1253.enc.gz'
pirogue  sev 0 loc | PROGRESS 'usr/share/greenfoot/greenfoot/standalone/greenfoot/core/ObjectDragProxy.class'
pirogue  sev 0 loc | PROGRESS 'usr/share/help/fi/zenity/question.page'
pirogue  sev 0 loc | PROGRESS 'usr/share/icons/Adwaita/16x16/actions/document-page-setup.png'
pirogue  sev 0 loc | PROGRESS 'usr/share/icons/Adwaita/24x24/apps/web-browser.png'
pirogue  sev 0 loc | PROGRESS 'usr/share/icons/Adwaita/48x48/actions/format-text-italic.png'
pirogue  sev 0 loc | PROGRESS 'usr/share/icons/gnome/128x128/mimetypes/libreoffice-oasis-presentation-template.png'
pirogue  sev 0 loc | PROGRESS 'usr/share/icons/gnome/16x16/mimetypes/libreoffice-oasis-master-document.png'




Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2013, 2014, 2015, 2016, 2017, 2018 Brian Bartholomew
Version control: 95415322e7484412c20f1865760617268e7831b6 on 2018-06-18 16:00 -0400