'FULL' or 'FRUGAL'..? PET.....or SFS?
Evening, all.
I want to try and clarify a few 'misconceptions' that exist around some of Pup's basic operating parameters. Specifically; 'Which type of install do I need?', and 'What software formats should I use?'
Well, let's try to clear these points up in that order.
Installation Type:-
The 'Full' install
Most people come to Puppy as one of two types. Either as a Windows user, looking for an alternative; they've heard that Puppy is small, easy to use, and fun. Or, as an existing Linux user, often during a 'distro-hopping' phase.
The 'full' install is totally conventional, and is what most people will be used to. Their OS occupies the whole of their partition, and that's accepted practice. So, naturally, folks opt for the 'full' install, thinking that's what they want. The term 'frugal' is in itself confusing. A lot of people take it to mean it's a 'basic', 'frills-free', 'poor man's' version of the OS, lacking in features.....so they go for the 'full', thinking that's the better choice.
Only with Puppy, it's anything but.....!!
The 'Frugal' install
The term 'frugal' merely refers to the fact that Pup is frugal with drive space, With a frugal install, your Puppy OS consists of three main items; yes, that's right. Just 3 items. The Puppy 'xxxxxxx'.sfs file, which contains everything the system needs to function, The initrd; the initial 'ram-disk'. And 'vmlinuz'; the kernel itself.
You may have a 'z_drv', or an 'a_drv' SFS file. These usually contain additional system drivers, utilities, etc.....whatever extras the developer may think will be needed.
The SFS files are 'read-only'. This means that every time Puppy boots, it's using a brand-new, squeaky-clean version of the file-system. This is a good thing. No corruption, you see.
We always like to ascertain RAM amount, when newcomers ask how to use Puppy, because this determines the type of install that's best suited for the hardware. Assuming the machine has at least 512 MB or more of RAM, Puppy will decompress the contents of the read-only system files fully into RAM, and will run from there.....because RAM is by far & away the fastest component of any computer.
This is normally envisaged practice for Pup. This is how Barry K. designed her to run, right from the very beginning.
The 'full' install functions in the normal way, pulling data from the drive as & when it's required, working with it, then writing the changed data back to the drive. This is how 99% of OSs work, and have done so for many years.
This is what we usually recommend for hardware that is 'RAM-challenged'; which doesn't have a lot to play with. For these machines, the 'full' install actually works better than the 'frugal' will. Under these circumstances, the frugally-installed Pup will make substantial use of the swap-space. It won't have any choice. There are documented cases of individuals successfully running Pup on only 64 MB of RAM.....
So; to 'sum-up':-
Plenty of RAM; use a 'frugal' install.
RAM-challenged; go for the 'full' install.
-------------------------------------------------------------------------------------
Software:-
This is where it gets even more confusing for newcomers. Existing Linux users are used to a Package Manager; well, Pup has one of those, too. The repositories, however, are not staffed, full-time, by people whose job it is to do nothing but check and maintain the lists of packages. Most Pups are one-man affairs, so once the initial repo is set-up, it tends to be a 'fixed' snapshot in time ever afterward.
This is where the vast amounts of user-compiled .pet and SFS packages come into the equation.
There are two types of 'standard' Puppy package:-
The .pet package, and the SFS package.
PET stands for 'Puppy Enhanced Tarball'. You may have heard that it stands for 'Puppy's Extra Treats'; this was whimsically coined by a blogger some years ago.....but the name has stuck, and has passed into Linux folk-lore.
An SFS is a Squash File System; Linux users will know that this is an entire file-system, or set of file-system entries compiled together, compressed into a single package. Most people running one of the Ubuntu-based distros will have used one of these at some stage, as the 'Casper' file in the ISO image is no more nor less than the same thing.
--------------------------------------------------------------------
The .pet package installs into the system in much the same way as a PPM entry; dependencies are checked, and an entry is made in the .packages directory in/root, so that Pup can keep track of what's installed. These will uninstall in the normal way, via the Package Manager.
The SFS packages are a rather different concept. I'm not going into the details of how Puppy sees, and works with, the file-system. For those of you possessed of enquiring minds, you'll probably find this to be of interest. Be warned; it gets rather technical, the further you read into it:-
http://barryk.org/puppylinux/development/howpuppyworks.html
Essentially, these are designed to 'load' and 'unload', on-the-fly, as and when you wish to use them. This way, they don't occupy permanent space in your Puppy 'save-file' or 'save-folder'. There's been reams written on the Forum, often passionately so, about keeping your save-file/folder as lean as possible. This, a description of the differences betwixt the two, and the methods for backing-up Puppy, can be found here:-
https://www.bleepingcomputer.com/forums/t/633850/puppy-linux-corner/?p=4133099
SFS packages work best with a 'frugal' install, as they insert themselves into the 'layering' of the unionfs filesystem in such a way that you, the user, sees them as an integral part of the whole thing.....only Puppy knows that they are not intended to be permanent. They're normally used for large packages, that would otherwise occupy a substantial portion of the 'save'-file/folder.
You can install an SFS package to a 'full' install of Pup, but once there, it's permanent. There is no easy way to remove it, since SFS packages don't supply an entry for /root/.packages.....so the PPM can't track down the components, and remove them for you, automagically. It's strictly a manual job.....all the way.
So; to sum up:-
'Frugal' installs can make use of either .pet or SFS packages.....or install from the PPM.
'Full' installs are recommended to only use .pet packages, or install from the PPM.
Hope that clears up a wee bit of the 'fog'!
Mike.
Edited by Mike_Walsh, 02 February 2017 - 11:37 AM.