When comparing Puppy Linux vs CentOS, the Slant community recommends Puppy Linux for most people. In the question“What are the best Linux distributions for desktops?” Puppy Linux is ranked 10th while CentOS is ranked 48th. The most important reason people chose Puppy Linux is:
Puppy Linux requires 128MB of RAM and 333Mhz of CPU, although 256MB of RAM is recommended.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Extremely low minimum system requirements
Puppy Linux requires 128MB of RAM and 333Mhz of CPU, although 256MB of RAM is recommended.
Pro The whole OS runs off of RAM
Since Puppy Linux is completely loaded and run off of RAM instead of HDD, it's read/write speed is not a factor.
Pro Designed to run as a live USB/CD
A portable version, that can be carried on a thumb drive without requiring installation, weighs less than 100MB; a Live CD - less than 150MB. You can even save your settings and files for Puppy on the external device/media.
Running off a live CD also has security benefits, as your system will reset to the known config after each boot.
Pro Different distro based versions available
Puppy Linux offers a few different releases.
The first is an Ubuntu based release called Tahrpup, by using this version the user is able to take advantage of all software and support from Ubuntu.
The second version is called Slacko, which is built upon the Slackware binaries.
The third is called Wary and it is built to support older hardware than the rest.
And the fourth is called Quirky, which is used as a base to explore new ideas.
Pro Linux distro designed for this exact purpose
Pro Offers a long term support release
Puppy Linux offers an LTS release called Precise.
Pro It can be the only distro that works
Sometimes, Puppy Linux is the only distro that works on an old machine: all other distros are more demanding.
Pro JWM used as window manager
JWM is a low resource window manager that is used in most Puppy Linux installs.
Pro Greatly favours stability over anything else
CentOS favours stability over being up-to date. For this reason it ships with packages that may be up to two years behind in order to ensure stability over everything else.
Using older versions for packages means that they have been thoroughly tested and used in production for quite some time, and are ensured to play well with each-other.
This strategy has paid off quite a lot in the past. One example is the Heartbleed bug which left CentOS unaffected since it was using a two-year old OpenSSL library which did not have the bug.
Pro Applications don't have to take into account potentially breaking changes in libraries
Since CentOS backports all updates and bug fixes to older versions in order to maintain package compatibility across releases, applications hosted on Red Hat Linux don't have to worry about potential breaking changes in libraries they use, especially language libraries.
Pro Good long term support
Pro Built-in disaster recovery solutions through clusters
CentOS has several built-in solutions for disaster recovery. For example, it comes with pacemaker which can be configured to manage multi-site and and stretch clusters across multiple geographical locations for disaster recovery and scalability. It can also be configured to trigger notifications when the status of a managed cluster changes by using enhanced pacemaker alerts.
Pro Supports multiple PHP versions
You can install multiple PHP versions and have them available for different users.
Pro Built-in support for containers
Comes with built-in management tools for containers (Atomic CLI, Cockpit) and a container runtime in the form of Docker engine.
Cons
Con A bit ugly
Using puppy makes you feel like you just jumped 20 years into the past. Being that the purpose of Puppy Linux is to run or really low resource machines the software used is often on the older side, which is precisely why it has a 20 year old look.
Con Not as light as it used to be
It's light, but not as light as it was 1-2 years ago.
Con Smallest software library ever
You can barely find any precompiled packages for Puppy.
Con No built in compositing
Being a low resource distro there is zero built in compositing for the JWM window manager. Though one can be added through a bit of work.