Hi chilibowl,
wiak has an infinitely greater knowledge about Linux --all versions and their internals-- than I. But I think his post may be somewhat misleading. Technically correct, it is comparing a Full Install of Linux distros designed to be run as Full Install with a Puppy Linux's 'Frugal Install'. Puppy Linux was never designed to run as a Full Install.
It was originally created to co-exist on a computer manufactured and marketed to run ONLY Windows. Initially, the only means to escape that limitation was that in order to install Windows one had to be able to boot from a CD [or floppy-drive]. So the original Puppys were created to boot from a CD.
What happened next was that someone figured out how to relocate Puppy's system files from a CD to a hard-drive, and edit Window's boot-loader so as to offer a choice of booting Windows or the Puppy now on the Hard-drive. The next steps were (a) the development of a means by which additional applications and data could be preserved without regard to what media Puppy booted from > what other distros when booted from a USB-Key refer to as 'Persistence'; and (b) the development of boot-loaders automating the establishment of a boot-loader offering the choice of what system to boot.
That was, and still is, all that a Frugal Install is: The location of system files on a hard-drive or USB-Key which provide a means of preserving additions to that system. Even today it is rare that there will be more than 8 system files. From a layman's viewpoint, what appears to happen on boot-up is that the files within those system files are 'merged in ram': analogously to the way graphic programs manage layers. For a more technical explanation read, https://www.forum.puppylinux.com/viewto ... 827#p55827
A dozen or so years ago --when computers sold rarely had more than 256 Mbs of RAM and even dual-core CPUs were in their infancy-- someone realized that it would take less time to boot Puppy and open applications if the system files were decompressed and their contents written as individual files to a hard-drive. Today, that difference is measured in micro-seconds. That's what a 'Full install' of a Puppy does. The Full install mechanism has never been upgraded: nor --once you appreciate the benefits of a Frugal Install-- has there been any reason to.
A frugal install on a Linux formatted partition can use a SaveFolder. A SaveFolder will automatically expand to make use of the entire available space on that partition, if necessary. Almost all the benefits of a ‘Full Install’ without any of the detriments. [The only justifications I’m aware of for still using a ‘Full Install’ is if you intend to compile large applications or transcode large video files. There a Frugal Puppys employment of RAM will slow the process to some extent].
Puppys operate as Root/Administrator, although programs can be set up to run as 'Spot', a Limited User. Full install Linuxes operate as a limited user with the ability to switch to Administrator by issuing a password. One difference is that even when running Puppy as a Full install, except for assigning applications to Spot, there is no built in restriction as to what a hacker or malicious program can access or do. Web-browsers are often published to 'run-as-spot' for that reason.
There is no easy way to fix a broken or corrupted Full Puppy Install. If at all possible, fixing it will involve many hours of detailed examination, analysis, and manual editing without any reasonable assurance of success. A frugal install, on the other hand, consists primarily of READ-ONLY system files and ONE Read-Write SaveFile-or-SaveFolder. The READ-ONLY system files can not be corrupted. And it only takes a couple of seconds (maybe a minute or 2 depending on its size) to back-up a SaveFile/Folder. Problem? No problem.
Ditch the 'broken' SaveFile/Folder and put the backup to use.
As bigpup wrote, there's rarely a reason to 'update/upgrade'. But he refers to 'the system as whole'. Individual applications can be updated. The update will be written to the SaveFile/Folder and have priority in the 'merge file system'. With a Frugal Puppy, a problem update can be uninstalled, once again allowing you to make use of the 'built-in' application. But the install of a update to a Full install over-writes the old files; and uninstall will leave you with nothing.
A Frugal install can, a Full install can't, make use of applications packaged as an SFS. An SFS can be loaded/unloaded. When a new version becomes available, you can unload the old, load the new and if not satisfied, revert to the old.
Puppys system consists of between 4 and 8 'system files'. Among those are 2 or 3 referred to generally as 'the kernel'. These are vmlinuz --the kernel, itself, being analogous Linux's engine and the platform upon which the rest of the system is built; drivers --being kernel-specific files by which vmlinuz communicates with your computers hard-ware; and firmware, also needed to communicate with hardware, but not kernel-specific. While there is rarely a need to upgrade kernels, newer kernels may offer some newly developed advantages and security benefits. There's an application you can use to update [or 'down-date' if there's a problem] a Frugal Puppy's 'kernel', it takes less than 5 minutes to manually do that. Updating a Full install may leave you with the not-infrequently experienced condition of updating 'major distros': a borked system.
As far as I know, the only thing(s) which can't easily be updated in a Frugal Install are the glibc libraries and other libraries which depend on them. This is the limitation to which wiak referred. glibc is a 'foundation' system. An operating system, itself, can only use one and some 'builtin' applications will depend on a specific version. Replacing it will break those. Most applications don't. Indirectly, web-browsers do. Openssl accepts only a range of glibc and openssl is the mechanism used by web-browsers to communicate with web-sites. Someday, your Puppy --any Puppy-- will not be able to run a web-browser whose openssl is acceptable to some websites. Someday. But not today. Currently most websites will still allow access to web-browsers a half-dozen years old. And when that day comes you will still have the option to run web-browsers in a 'Chroot' --an application which uses its own glibc libraries, isolated from your main operating system.
Why Centos 7? If you must have Centos 7, it’s far easier to set it up first, then install a Puppy rather than the other way around. This is true of any ‘Major Linux’ because they don’t ‘understand’ Puppys, and recognized them as an operating system with which a hard-drive is to be shared. Puppys, on the other hand, are designed to ‘co-exist’ with one, more or many other operating systems.
But if you’re not wedded to Centos 7, may I suggest you take a look at wiak’s weedogit application. https://www.forum.puppylinux.com/viewto ... 074#p50074 weedogit enables a user to setup [theoretically any, but] –currently 43-- ‘major’ distributions to function ‘with persistence’ very much (from a User's prospective) like a Frugal Puppy Linux. But Centos 7 isn’t among those 43. These are:
distro01="WeeDog anypup (default vdpup64)"; subdirectory01="KL_vdpup64"
distro02="PopOS64"; subdirectory02="WDL_pop-os"
distro03="EndeavourOS XFCE"; subdirectory03="WDL_endeavXFCE"
distro04="manjaro-xfce"; subdirectory04="WDL_manjaXFCE"
distro05="manjaro-kde"; subdirectory05="WDL_manjaKDE"
distro06="manjaro-gnome"; subdirectory06="WDL_manjaGNOME"
distro07="MakuluLinux-Shift-x64-Ubuntu"; subdirectory07="WDL_makuluU"
distro08="MX-21_X64 XFCE"; subdirectory08="WDL_MXxfce"
distro09="MX-21_X64 XFCE ahs"; subdirectory09="WDL_MXxfce_ahs" # advanced hardware support - newer PCs
distro10="MX-21_X64 KDE"; subdirectory10="WDL_MXkde" # with ahs for newer PCs
distro11="MX-21_X64 fluxbox"; subdirectory11="WDL_MxFlux"
distro12="MX-21_386 fluxbox"; subdirectory12="WDL_MxFlux32" # 32bit variant
distro13="Zorin Lite XFCE"; subdirectory13="WDL_zorinlXFCE"
distro14="NeonKDE"; subdirectory14="WDL_neonKDE"
distro15="GarudaSway"; subdirectory15="WDL_garuSWAY"
distro16="Bodhi Std"; subdirectory16="WDL_bod"
distro17="MassOS"; subdirectory17="WDL_masso"
distro18="TinyCoreLinux64 flwm"; subdirectory18="KL_TCL64"
distro19="KLV-Airedale64"; subdirectory19="KLV-Airedale64" # frugal install from official iso
distro20="Intel Clear Linux"; subdirectory20="WDL_intclear"
distro21="Ubuntu_live"; subdirectory21="WDL_bunt"
distro22="Mint Cinnamon live"; subdirectory22="WDL_mintCin"
# --- NEW ---
distro23="linux-lite"; subdirectory23="WDL_linlite"
distro24="bunsen-lithium"; subdirectory24="WDL_bunsenlithium"
distro25="LXLE-Focal"; subdirectory25="WDL_LXLE-Focal"
distro26="tails-amd64"; subdirectory26="WDL_tails-amd64"
distro27="Debian_live"; subdirectory27="WDL_debi"
distro28="Regata_OS"; subdirectory28="WDL_regata"
distro29="Kodachi"; subdirectory29="WDL_kodachiXFCE"
distro30="SysLinuxOS"; subdirectory30="WDL_syslinuxMATE"
distro31="4MLinux"; subdirectory31="WDL_4ML" # extremely experimental WDL conversion!
distro32="austrumi"; subdirectory32="WDL_aust"
distro33="Fedora Rawhide cmdline"; subdirectory33="WDL_fedraw"
distro34="Xubuntu"; subdirectory34="WDL_xbunt"
distro35="Lubuntu"; subdirectory35="WDL_lbunt"
distro36="Mabox"; subdirectory36="WDL_mabo"
distro37="Sparky mingui"; subdirectory37="WDL_sparkmingui"
distro38="Sparky lxqt"; subdirectory38="WDL_sparklxqt"
distro39="Sparky mate"; subdirectory39="WDL_sparkmate"
distro40="Sparky xfce"; subdirectory40="WDL_sparkxfce"
distro41="Sparky kde"; subdirectory41="WDL_sparkkde"
distro42="Sparky gameover"; subdirectory42="WDL_sparkgameO"
distro43="Sparky multimedia"; subdirectory43="WDL_sparkmultimed"