whiteout or .wh files are created in pupsave file of a frugal install when -builtin packages are deleted using remove_builtin -a file from a loaded sfs (pupxxx.sfs, zdrv or other) is deleted -a pet is uninstalled Their purpose is to mask files which can't actually be deleted so they disappear from directories, menus etc. For example, if files 1 and 2 are present in pupxxx.sfs and file2 is "removed", the result in the layered file system is: ""
what you see     | file1 | |
pup_rw | .wh.file2 | |
pup_ro# | file1     | file2 |