Edit December 7, 2020:
You know it finally occurred to me that you may be able to save time and effort by using Puli. https://forum.puppylinux.com/viewtopic.php?p=2551#p2551 or EasyOS, for the reasons explained on this thread. https://forum.puppylinux.com/viewtopic. ... 873#p11873. In particular, read rufwoof's post, https://forum.puppylinux.com/viewtopic. ... 122#p12122. Edit 3/13/21: also note my post here, viewtopic.php?p=19808#p19808. But then you'll miss all the fun of learning how Puppies function, selecting one which you like and training it your way. Original revision follows:
History of this Post.
This is only slightly edited from the post @ http://murga-linux.com/puppy/viewtopic. ... 066#974066 which had last been edited in February 2020. It was part of a continuing discussion started by jpeps on ‘How to Remove the Automatic Save’ and combining some of the work which appeared on shinobar’s thread “Keep your savefile slim and healthy”, http://murga-linux.com/puppy/viewtopic. ... 769#468769, Together those discussions spanned 18 pages. Combining the two beneficial actions had some undesirable side-effects. The February 2020 post put all the ‘workarounds’ known to me to those side-effects in one place and brought it up to that date.
=-=-=-=-=-=-=-=-=-=-=-=-=---=-=-
On boot-up a Puppy will copy into RAM its operating system files, all of which are READ-ONLY with the exception of what you, as User, have SAVED to you SaveFile or Folder. If you never SAVE, your system will be as pristine as the when you first deployed it.
Your SaveFile/Folder enables you to Save the changes you’ve made to your system. By default, a Frugal Puppy is setup to execute an automatic Save every 30 minutes. jpeps’ thread showed the method(s) to modify that interval to Never while retaining your ability to manually execute a Save when you want.
When a SAVE is executed everything in RAM –with the exception of files in /tmp-- is copied to Storage. By EVERYTHING, I mean including the new applications you’ve installed, the settings and customizations to your applications, which SFS applications will be loaded at boot-up, files downloaded into /root/Downloads, /root/spot/Downloads, /home/spot/Downloads, any datafiles you wrote to or edited in /root/my-documents, all the mistakes you’ve made by installing or changing applications, and all the junk which got downloaded while you surfed the web even if you didn’t know you downloaded it.
Obviously, you don’t want to preserve the latter bunch.
Which is why, although I may test changes at any time, I do not perform a Save until I’ve re-booted, only made the changes I want, and (except if pertaining to Web-browsers) especially before going on line.
Removing the Automatic Save has the following beneficial effects on your system: (1) Reduces the likelihood of corrupting your SaveFile or installing gibberish into a SaveFolder when a scheduled Save occurs during a power-surge or power-outage; (2) corrupting a SaveFile on reboot/shutdown when the amount of files to be Saved exceeds the available space in a SaveFile; (3) Saving errors, non-functional applications or just junk you’ve unknowing picked up while surfing; and (4) incrementally filing up a SaveFile with such unwanted files. Deleting non-functional applications does not entirely restore the space in your SaveFile which had been used by that application.
If you are booting from a USB-Stick and using a Puppy first published since about 2015 all you have to do is open Menu>System>Puppy Event Manager, Click the Save Sessions Tab, change the Save Interval to 0 (zero); AND check the “Ask at Shutdown” box. Unchecked, Puppy will automatically Save at Shutdown.
If that Puppy is on your hard-drive, you ALSO have to “trick” Puppy into ‘thinking’ it is booted from a USB-Stick. By default, the boot argument on the kernel/linux line is either silent or reads pmedia=atahd. Edit that argument, or include one, to read pmedia=ataflash.
Pre-2015 Puppies have an earlier grub4dos version. With those Puppies, you ALSO have to install shinobar’s updated grub4dos available from here, http://hg.shinobar.server-on.net/puppy/opt/. The only way I know of determining whether the updated grub4dos is necessary is to perform the other steps, reboot –to make certain they are in effect-- then shutdown again and carefully watch if despite those changes the Puppy still performs a Save at shutdown.
Removing the Automatic Save, however, has it downsides. You have to remember to Save if you want a change to become permanent. And there are many times you would have to perform a Save if you don’t take steps to change how Puppies work after removing the Automatic Save.
Like all Linux distros of which I’m familiar when an application is instructed to save a data-file it first offers to save it in your Home Folder (the functional equivalent of Windows’ ‘Documents and Settings’ Folder). This is also the first location from which applications will offer to open a previously saved file. In Puppies, your Home Folder is /root and the contents of /root are only in Random Access Memory until Saved. It’s kind of annoying to spend time writing, periodically having LibreOffice save the additions/changes and later boot into Puppy and discover all your work is missing. The /my-documents folder is in /root; /root was in RAM and RAM wasn’t Saved to Storage. Of course, I could have Saved RAM to Storage; but this would have Saved everything then in RAM to Storage.
There’s an easy Workaround. And it forms the basis for all others. Open two file-manager windows, one to /root and the other to /mnt/home. Using rox on a standard Puppy’s desktop, Left-clicking the ‘Files’ or ‘Home’ icon at the Top-Left corner of your monitor will open a window to /root, your Home Folder. Just above your Task-bar are icons representing your drives/partitions and providing short-cuts to them. The one which immediately on boot-up has an ‘x’ in its top-right corner represents your home drive/partition –otherwise known as /mnt/home (or /mnt/dev_save). Left-clicking it will open a window of your Home Partition. Remember, while your Home Folder is in RAM, your Home Partition is on Storage. Within your Home Folder you’ll see a folder named “my-documents”. Left-Press, Hold, then drag that folder into your Home Partition Window. From the popup menu, select Move. Again Left-Press, Hold then drag the “my-documents” folder back into your Home Folder. From the popup menu select Link(relative). This will create a symbolic link (short-cut/symlink) in your Home Folder directly to the ‘my-documents’ folder which is now on your Home Partition and, thus, on Storage. Anything you write to the ‘my-documents’ folder and folders you create in the ‘my-documents’ folder will be immediately written to Storage. No further Save is necessary. Similarly, selecting the /my-documents folder from an application's file menu as the location from which a data-file is to be opened, immediately takes that application to the ‘my-documents’ folder on /mnt/home (Storage).
After its been relocated, to expedite access to it, you may find it helpful to bookmark the my-documents folder; and any other folder you move to or create in /mnt/home.
An advantage of keeping data-files outside of your SaveFile is that they’re immediately available if you ever want or need to replace your Puppy. [They are never in a corrupted SaveFile/Folder]. Of course you can access them by browsing to them. But you can again link them to /root. However, you’ll first have to delete [Right-Click>delete] the auto-created-by-Puppy-and-empty /root/my-documents folder. You can’t create a symlink in a folder which already has a file/folder with the same name.
One of the other folders you’ll want to move out of /root is the ‘Downloads’ folder which, I believe, is created the first time you download a file using firefox or one of its clones/forks – palemoon and seamonkey. The procedure set out above is exactly the same with regard to the Downloads folder. But rather than move it to /mnt/home you could move it to /mnt/home/my-documents.
You can create any special folders you think may be useful --videos, music, whatever-- on /mnt/home and symlink them to /root. Open a window to /mnt/home. Right-click an empty space and from the popup menu Select New>directory. Give it a name. Then drag it into /root and select Link(relative).
With the Downloads folder outside of /root it is easier to test pets without actually installing them. You can left-click a pet to “install” it, but until a Save is executed it is only in RAM. Menu>Exit>Restart-x (AKA Graphical Server) will cause Puppy to re-catalog what is currently on it’s system. You can then run the pet or examine its binary with ldd* to determine if any library is missing. If a pet can’t be run, rebooting without Saving clears it completely from your system. Libraries which ldd showed as missing, if located, can be installed and the application tested again. Once you’re satisfied with a pet, you can reboot without Saving, browse to your Downloads folder, install the application and any necessary dependencies and immediately Save. Alternatively, applications which conflict with others can sometimes be converted into SFSes, loaded when needed, unloaded when not. [Look for posts about creating SFSes].
* To use ldd, browse to the location of a binary, open a terminal and type 'ldd NAME_OF_BINARY'. Some Puppies have Menu>Utilities>List dynamic dependencies. Most Puppies permit you to Right-Click a binary and select ListDD from the popup menu.
Puppy Package Manager is an application requiring special handling. The records PPM uses to determine what repos are available and their contents are files in the /root/.packages folder. Note the “.”/dot, signifying a hidden file or folder. Left-click Rox’s “Eye” to reveal them. Being in /root, an updating of those records will only be kept if a Save is executed. Bringing PPM up to date is among the first steps I take after creating a SaveFile/Folder. Before exploring the possibility of adding new applications by employing PPM, I’ll update it again immediately after booting into Puppy. However, the first time I run PPM, I make the following system changes before Saving:
Click the Configuration Tool (Crossed-Tools icon at the top-left), then click the Options Menu. Place Check-marks for the following:
Always redownload packages when they preexist – required to create self-sufficient SFSes; also lessens the occasions when PPM halts, seeking input.
Do not delete downloaded packages after installation – as initial ‘install’ is only for testing
Then, where it says “Save PKGs in:” change the location from /root to /mnt/home/Downloads. That location is on Storage and, being the same location where browsers download files, provides for consistency. But any folder on /mnt/home will do and, if you are not conscientious about moving files out of ‘Downloads’, perhaps be better. Perhaps a folder named Testing.
I don't allow PPM to AutoInstall. Depending on the circumstances, I use the tool on PPM's Top-Right to select either "Download Packages (No Install)" or "Download all (packages and dependencies)".
Web-browsers: Puppy Devs will usually include some Web-browser which makes it easy for you to get online almost OOTB. I recommend, however, that you replace or supplement the included web-browser with one (or more) of the portable web-browsers you’ll find here viewforum.php?f=90 specifically titled “Portable”.
“Not-portable” firefox, seamonkey and palemoon place their profiles (settings, addons, bookmarks) in hidden folders in /root. To change or preserve them, you have to execute a SAVE. When you visit a website it downloads files to your computer (so that it doesn’t have to do that again the next time you view its webpages). The above “Not-portable” web-browsers locate those files in a hidden cache folder, also in /root. Web-caches can quickly add up to hundreds of megabytes. By default, they will be using RAM, reducing the amount of RAM you have for actual work; slowing the responsiveness of your applications and may even result in a crash of your operating system.
Portable web-browsers can be run from anywhere. You can locate their folders on /mnt/home. They are designed to locate both cache and profiles within their own folder.
If you are not using a portable web-browser, I recommend moving its cache folder out of /root to somewhere on /mnt/home and symlinking it back, using the same technique as above described for the /root/Download folder.
Edit March 2021: I've had 2nd thoughts about portable web-browsers. They're great for maximizing the amount of available RAM to view websites. But unless you take steps to "harden" your system, and/or use web-browsers designed for privacy and/or security you may be compromising your system. Take the time to examine the Additional Software >Browsers Section for security oriented Browsers such as Ungoogle-Chromium, LibreWolf, or a properly configured Iron; for the discussions about addons/extensions which enhance privacy/security; clear cache often, always on closing; and, at least, consider running web-browsers as Spot.
Running Web-browsers as Spot: This thread explains the concept, benefits and limitations, viewtopic.php?p=1024#p1024. Depending on how the Web-brower was build or configured the Spot folder will either be /root/spot or /home/spot. If the application running as spot is, itself, locate within the Spot folder, to preserve any changes –new bookmarks, addons, etc-- a Save will be required. Cache files will also be in the Spot folder. As you don’t want to preserve them, you’ll want to delete them before executing a SAVE.
Spot's Downloads are a different story. They will be in the /spot/Downloads folder. The web-browsers which peebee publishes (and others using his technique) enable downloaded files to have root privileges. You can just move them. But the downloaded files using the web-browsers Mike Walsh publishes do not have root privileges. Mike has published a 'permission changer’ which not only moves files out of /Spot/Downloads, but changes their permissions. It can safely be used with any web-browser since the file you end up with has 'root-permissions' and is in your 'regular' Download folder. You can find a copy of the ‘permission changer’ at the bottom of this post. viewtopic.php?p=1024#p1024
Remember, you can set a Bookmark to any folder in any file-manager. Additionally, AFAIK, all recent Puppies using Rox as file-manager provide a “copy-to” function on the Right-Click menu. If you are going to do a lot of uploading with a Web-browser running as Spot, you may want to establish its Uploads folder as a Right-Click copy-to Location.
One other thing you might want to consider. Nic007 has published a Suite of useful apps, https://forum.puppylinux.com/viewtopic.php?f=106&t=1694. Among them is Save2SFS. Using it, you can store your changes in a READ-ONLY sfs. Thereafter, you can operate WITHOUT a SaveFile/Folder: an operating system almost invulnerable to malware; or with a very small SaveFile –perhaps just holding the instruction as to which SFS to load at bootup-- until you find some new application you just can’t live without. Then you can, again, create a new adrv or ydrv,