I have couple of servers running off of an usb stick each. Servers are basically hypervizors.
What I was thinking of doing is distributing binary updates in form of downloading system image and unpacking it directly onto live usb disk device, followed by a reboot. This technique would boil down to
dd if=newimage.img of=/dev/sda && reboot.
However, I have tried this, and it doesn't quite work as expected. Newly imaged disk is unable to boot.
As it's possible to run series of commands on each host and have them updated that way most of the time, this is not something critical to me. But, I'd like to learn if there's a way to unpack disk image on top of live running system, and have it boot properly into new environment, whichever it is. For example, I might decide to replace those linuxes by completely different OS some day, who knows :)