This wizard only works when Puppy runs from the USB drive.
The type of memory which USB drives use can only support about
1000000 read/write operations. This creates a problem when running any
program, and especially operating system, from the USB drive. The
problem is: how to avoid frequent writes to the USB?
Puppy solves this problem using unionfs (or aufs, depending on the Puppy version). This is explained here,
see the section about PUPMODE 13. Unionfs allows to keep
all the changes to the filesystem in RAM. For example, suppose you have
a file on your USB drive, and you modify this file. When you modify the
file, Puppy actually first copies the file to RAM, and then keeps the
modified file in RAM. So, all the modifications to the filesystem are
actually stored in RAM.
This solves the problem of frequent writes to the USB memory. But
still, at some point we have to "save" all the changes from RAM to the
USB memory. Because otherwise the changes will be lost after the
reboot.
There are several ways to organize the saving of RAM to USB. The most
natural thing is to save regularly, every 30 minutes. This is
the default option. The other two options are:
- do not save regularly, but only when you click on
and during the shutdown
- do not save at all, not even during the shutdown
The second option is useful in the situation when you want to try
some
modification (like installing a new program) and not sure if you like
the result, so you might want to go back. Just disable saving from RAM
to USB, and all the changes will be lost after the reboot. And if you
do like the changes you made, you can always turn on saving, so your
changes will persist after the reboot.
The "advanced options" have to do with saving the so-called whiteout files.
Attention: advanced options will be reset after the reboot.
A brief explanation of whiteout files:
- Regular whiteout files. The whiteout files are needed when you want to erasea
file on the USB. Again, in Puppy the file is not actually erased, but
instead the special "whiteout file" is created in the ramdisk, which
tells the system that it should ignore that "erased" file and make it
invisible. What happens to that "whiteout file" during saving? The
natural thing would be to actually erase that file on the USB which is
"whited out". After that file was erased, the "whiteout file" itself is
not needed anymore, so we just erase it as well. However, this is not
always the right thing to do. The problem is, that some files on the
Puppy filesystem come from the "squashes". Squashes are read-only
compressed filesystems. You cannot actually erase the file on the
squash, because the squash is read-only. If you really want to get rid
of such a file, all you can do is to create a whiteout for it. Now, the
question is, do we want this whiteout to be saved when we save files
from RAM to USB? If we do not save it, then the "erased" file from the
squash will reappear after the reboot. By default, the whiteout files
are not saved.
- Dir-opaque whiteout files. The
.wh.__dir_opaque file tells the system to ignore all the files in the
possible folders with the same name on the lower brunches of the
filesystem. Again, the dir-opaque files are not saved by default.