# Puppy Linux

Puppy Linux è una distribuzione GNU/Linux Live CD creata da Barry Kauler nel 2003, rivolta alla facilità di utilizzo e al limitato consumo di risorse di sistema.

## Storia

Puppy linux venne sviluppato per la prima volta da Barry Kauler, che pubblicò la versione 0.1 il 18 giugno del 2003. La versione di Puppy 2.14 (86,5 MB) utilizzava SeaMonkey come internet suite (principalmente come web browser e e-mail client).
Attualmente l'ultima versione è la S15Pup basata su Slackware sia a 32 bit che a 64 bit. Esistono anche LXPupJammy, basata su Ubuntu 22.04 Jammy Jellyfish, e Vanilla DPup 9.3.X, basata su Debian 11 Bullseye, anche queste con architetture a 32 e 64 bit. La precedente versione 8.0 era denominata BionicPup, rilasciata il 24 Marzo 2019 e compatibile con Ubuntu 18.04.2.
La distribuzione non era basata originariamente su alcun'altra già esistente: era stata infatti scritta da zero. Insieme a Morphix, Puppy Linux è una delle poche distribuzioni LiveCD capaci di salvare i file sul supporto stesso (tramite la masterizzazione in multisessione), consentendo agli utenti di trasportare i dati, aggiungere programmi e personalizzare le impostazioni, utilizzando sempre lo stesso CD.
Per lo sviluppo della distribuzione viene utilizzato Puppy Unleashed un repository concepito per lo sviluppo della distribuzione, rendendo disponibile per la creazione di un CD Live personalizzato. Uno script di semplice utilizzo consente all'utente di scegliere i pacchetti e creare un CD. È possibile eseguire Puppy Linux con Windows 9x/Windows Me.
Offre inoltre una utility, il Puppy floppy boot disk per avviare la distribuzione su PC con BIOS sprovvisto di supporto per USB. È anche possibile, se il BIOS non supporta il boot da driver USB, avviare il sistema dal CD e mantenere lo stato del sistema su una penna USB; questo sarà salvato allo spegnimento e letto automaticamente dalla periferica USB all'avvio del sistema.
Essendo di dimensioni ridotte, ben si presta alla portabilità. L'intero sistema operativo e tutte le applicazioni funzionano - se ve ne è una quantità sufficiente (indicativamente 256Mb) - dalla memoria RAM, dando la possibilità di rimuovere il disco d'avvio dopo che il sistema è stato caricato.
Anche se è possibile installarlo su disco rigido come un qualsiasi sistema operativo, Puppy Linux può essere avviato come Live CD senza scrivere alcunché sul proprio hard disk: volendo, le impostazioni possono essere salvate su chiave USB oppure su un file apposito del proprio disco rigido (anche in una partizione Windows già esistente). Tra le applicazioni già preinstallate abbiamo SeaMonkey/Mozilla Application Suite, AbiWord, Sodipodi, Gnumeric e Gxine/xine.
Può essere avviato da:
* Una penna USB
* Un CD (live-Puppy)
* Un Zip drive o LS-120/240 SuperDisk (zippy-Puppy)
* Un disco rigido (hard-Puppy)
* Una rete (thin-Puppy)
* Un emulatore (emulated-puppy)
* Un floppy boot disk che carica il resto del sistema operativo da altre sorgenti come una penna USB od un CD.

### Interfaccia grafica

Puppy è distribuito con due server grafici: X.Org (più avanzato) e Xvesa (leggero e più compatibile). Un wizard testuale durante la fase di caricamento guida l'utente attraverso la configurazione del server grafico più appropriato per la scheda video e lo schermo. Alla fine del wizard l'utente avrà davanti a sé la scrivania (gestita dal ROX Desktop) ed un window manager. Il window manager usato è JWM, sebbene la nuova Community Edition 2.15 preveda l'uso di IceWM per default.
Quando il sistema viene inizializzato, tutto quello che è compreso nel pacchetto viene decompresso nella memoria RAM, tramite un RAM disk. Per essere caricato completamente nel sistema il PC deve avere più di 128 MB di RAM (con 128MB il disco d'avvio non è "smontabile"); è comunque possibile eseguire Puppy su di un sistema con appena 48 MB di RAM perché parte del sistema può essere copiato nel disco rigido o comunque caricato dal disco d'avvio come una normale distribuzione "live".
Puppy è in pratica un completo sistema che viene eseguito da un RAM disk; le varie applicazioni sono state scelte in modo da avere certe caratteristiche, in particolare si è fatta molta attenzione alla loro dimensione. Le applicazioni GUI sono considerate funzionali e veloci. Dal momento che uno degli obiettivi della distribuzione è essere estremamente facile da installare, ci sono svariati wizard che guidano l'utente attraverso il procedimento di numerose operazioni comuni.

### Gestione pacchetti

Questa distribuzione utilizza un proprio formato di pacchetti: .pet ed un proprio gestore: il puppy package manager. La versione 2.10 utilizzava gli script T2 SDE per compilare i pacchetti di base.
È inoltre possibile utilizzare due gestori di pacchetti, PupGet e DotPup. Sono progetti derivati dall'Advanced Packaging Tool, ed entrambi improntati dalle distribuzioni Debian e Ubuntu (dPup per la prima, uPup per la seconda). Questo nuovo sistema di pacchettizzazione è stato introdotto nella nuova versione 5.00 Lupu Lucis.

## Versioni

È distribuita in due versioni ufficiali, una basata su Ubuntu ed una basata su Slackware; le versioni con supporto a lungo termine (LTS) sono basate solamente su Ubuntu. Quelle ufficiali sono:
* Quirky Unicorn e Slacko Puppy (basate sul Slackware)
* Precise Puppy e Lucid Puppy (basate sul Ubuntu)
Esistono poi diverse respin, non ufficiali e realizzate dai membri della comunità con varie edizioni di dimensioni differenti:
* La versione da 96,1 MB "Chubby Puppy" include la suite OpenOffice.org.
* La versione da 39,9 MB "Barebones Puppy" è senza GUI.
* La versione da 83 MB "zdrv" standard edition, contiene una grande collezione di driver del kernel e firmware.