Chroot sandbox w/ Hardlinked Savefile Snapshot made Via Rsync
I often run puppies in ram because I have a few machines without a hard drive, which also have only slow USB 2.0 connections. Due to the slow IO speed of USB 2.0., this significantly speeds up the puppy and helps to protect the life of the USB drive. However, with such a setup performance could be degraded as more packages are installed onto the system. Additionally, there is a time investment to install new software and the more you install the more likely one is to break something. For instance power failures during writes to the drive may corrupt the drive. Finally, when running a new version of puppy you might fail to get some piece of software working that you had working on a different version of puppy.
In my case, I was beginning to find that internet connectivity was starting to degrade in dpup buster CE (32bit) and also the libraries in dpup buster were getting too old for some software. As a consequence I decided to upgrade to upupGG+D. However, I wasn't able to install libreoffice in upupGG+D. I thought I had installed libreoffice in josejp2424's dpup buster CE (32bit). It turns out that I didn't have libreoffice installed but I was able to install it using pkg, while running josejp2424's dpup buster CE (32bit) in a sandbox using my psandbox.sh script.
This script built the chroot out of separate layers just like a puppy installation and one of these layers was a snapshot of my savefile built from hardlinks and constructed via rsync (see post). My script to start my sandbox is:
The psandbox script is supposed to be able to simulate various pup modes by binding the right folders and creating the correct symoblic links in initrd but not everything was created properly, so what I did was simply edited /etc/rc.d/PUPSTATE to have one line PUPMODE=2, which is the pupmode for a full install. Because the save layer is the top layer, there isn't much difference in appearance between a full install and the combined layered file system. So in this sense rufwoof is correct in the statement, "Fundamentally the distinction between full and frugal can be very gray/grey" (see post).
Edit: I forgot to mention that when I tested the script on lxterminal (upupGG+D as the host), the font in the chroot was white on a while background. I typed the command "rxvt" and I got a terminal in my chroot with white text on a black background.