1 08/04/2026 18/04/2026 7 min

Podman su Debian 12 si installa senza giri strani nella maggior parte dei casi: il pacchetto è nei repository ufficiali e il flusso corretto è aggiornare gli indici, installare il runtime, verificare che il sistema lo veda davvero e poi fare un test con un container minimo. La parte importante non è “mettere il pacchetto”, ma arrivare a un setup pulito, verificabile e reversibile.

Questa guida parte dal presupposto di lavorare su Debian 12 Bookworm e su una macchina con accesso ai repository standard. Se sei in un ambiente con proxy, mirror interni o storage molto stretto, conviene controllare prima il contesto: Podman funziona bene, ma come ogni runtime container si appoggia a rete, cgroup, storage locale e spazio disco.

Podman su Debian 12: cosa installi davvero

Podman è un motore OCI senza daemon centrale. Questo cambia parecchio rispetto a Docker: i container non dipendono da un servizio sempre in esecuzione, e il modello operativo è più vicino all’esecuzione di processi isolati che a un demone monolitico. Su Debian 12 è una scelta sensata quando vuoi ridurre dipendenze di servizio e tenere più chiaro il confine tra runtime, immagini e storage locale.

Dal punto di vista pratico, installare Podman significa ottenere il binario principale e i componenti necessari per gestire immagini, container e storage. Se aggiungi strumenti come buildah e skopeo, ampli il set operativo: il primo serve per costruire immagini OCI, il secondo per ispezionarle o copiarle senza avviarle.

Prerequisiti e controlli prima dell’installazione

Prima di toccare i pacchetti, verifica tre cose: versione del sistema, connettività ai repository e spazio su disco. Sono controlli banali, ma sono anche quelli che evitano di perdere tempo quando l’installazione fallisce per cause esterne a Podman.

  1. Verifica che il sistema sia Debian 12 e che il codice release sia bookworm.
cat /etc/os-release
cat /etc/debian_version

Atteso: in /etc/os-release trovi VERSION_CODENAME=bookworm. Se il sistema non è Bookworm, i pacchetti e il comportamento possono differire.

  1. Aggiorna l’indice pacchetti e verifica che i repository rispondano.
sudo apt update

Atteso: nessun errore di DNS, proxy o firma. Se apt update fallisce, prima sistemi rete e sorgenti APT, poi installi Podman.

  1. Controlla lo spazio disponibile su root e su /var.
df -h /
df -h /var

Atteso: margine sufficiente per immagini, layer e volumi. Se il filesystem è quasi pieno, l’installazione può anche riuscire ma l’uso reale del runtime diventa instabile.

Installazione di Podman dai repository Debian

Su Debian 12 la via più lineare è usare il pacchetto ufficiale. Non serve aggiungere repository esterni nella maggior parte dei casi, e questa è già una buona notizia per manutenzione e sicurezza.

sudo apt update
sudo apt install podman

Dopo l’installazione, verifica subito che il binario risponda e che il runtime riesca a leggere il contesto del sistema.

podman --version
podman info

Atteso: podman --version restituisce una versione coerente con i pacchetti installati e podman info mostra dettagli su storage, cgroup e configurazione del runtime. Se podman info fallisce, il problema è spesso a livello di kernel, cgroup o storage locale, non del solo pacchetto.

Se vuoi vedere esattamente da dove arriva il pacchetto e quali dipendenze porta con sé, usa anche:

apt show podman

È utile quando devi confrontare due host o capire se una macchina sta usando la versione del repository standard oppure un’origine diversa.

Pacchetti utili da affiancare a Podman

Podman da solo basta per iniziare, ma in un ambiente reale conviene valutare subito alcuni pacchetti complementari. La scelta dipende da cosa devi fare davvero, non da abitudine.

  • podman-docker: aggiunge compatibilità con il comando docker per script o procedure legacy.
  • buildah: utile per costruire immagini in modo nativo OCI.
  • skopeo: utile per ispezionare, verificare e copiare immagini senza avviarle.
sudo apt install podman-docker buildah skopeo

Se hai già Docker installato, valuta con attenzione podman-docker: può essere comodo per la compatibilità, ma non va messo “per default” se non hai script che lo richiedono davvero.

Verifica del runtime con un container di prova

La verifica vera non è vedere il pacchetto installato, ma far partire un container semplice e ottenere un output prevedibile. Questo ti dice se funzionano immagine, rete, storage e runtime insieme.

podman run --rm docker.io/library/alpine:latest echo ok

Atteso: il comando scarica l’immagine se non è già presente e stampa ok. Se il pull fallisce, guarda prima rete e DNS; se il container parte ma non esegue correttamente, controlla il runtime e i permessi del contesto utente.

Per un controllo più completo, puoi lanciare un container interattivo e verificare che il filesystem e la shell siano disponibili.

podman run --rm -it docker.io/library/alpine:latest sh

Dentro il container puoi eseguire uname -a, cat /etc/os-release e un semplice ping se il pacchetto è presente nell’immagine. L’obiettivo è capire se il runtime è davvero operativo, non solo installato.

Uso rootless: perché conviene e cosa controllare

Uno dei motivi per preferire Podman è la possibilità di lavorare in modalità rootless, cioè senza dare privilegi amministrativi ai container. Su una macchina Debian 12 è spesso la scelta migliore per l’uso quotidiano, perché riduce il rischio operativo e limita l’impatto di un container compromesso.

Per usare Podman come utente normale, di solito non devi fare molto oltre all’installazione. Però è utile verificare che il sistema supporti correttamente user namespace e che il tuo account abbia una shell e una home funzionanti, perché lo storage rootless vive nel profilo utente.

podman info | grep -i rootless

Atteso: il runtime indica che stai operando in modalità rootless quando lanci il comando senza sudo. Se invece stai usando sudo, stai cambiando contesto e storage, quindi i risultati non sono equivalenti.

Avvio automatico, servizi e integrazione con systemd

Podman si integra bene con systemd, ma questo non significa che devi trasformare subito ogni container in un servizio. La cosa sensata è partire con un test manuale, poi decidere se il container va gestito come unità persistente o come esecuzione puntuale.

Se ti serve un servizio, il flusso tipico è generare o scrivere un’unità systemd per il container e poi gestirla come qualsiasi altro servizio Linux. In questo modo ottieni riavvio controllato, log centralizzati e una governance più chiara rispetto a uno script lanciato a mano.

systemctl --user status

Se lavori rootless, il controllo può essere fatto nel namespace utente. In contesti server classici, invece, può avere senso una unità di sistema dedicata. La scelta dipende dal modello operativo, non dal gusto personale.

Problemi tipici dopo l’installazione

I problemi più frequenti non sono legati al pacchetto in sé, ma a dipendenze di contesto. I casi classici sono: repository non raggiungibili, spazio disco insufficiente, cgroup non coerenti, storage corrotto o differenze tra esecuzione rootless e rootful.

  1. Se apt update fallisce, la causa è quasi sempre esterna a Podman: DNS, proxy, mirror o certificati del repository.
  2. Se podman info fallisce, controlla kernel, cgroup e storage locale.
  3. Se il container non parte, verifica immagine, rete e permessi del contesto utente.

Per una diagnosi rapida, i comandi più utili sono quelli che mostrano stato e log del sistema prima di cambiare qualcosa. Non ha senso reinstallare alla cieca se il filesystem è pieno o se il problema è un errore di rete verso il registry.

Disinstallazione e rollback pulito

Se devi tornare indietro, la rimozione del pacchetto è semplice. Il punto da non dimenticare è che i dati dei container, le immagini scaricate e i volumi possono restare sul disco se li hai creati.

sudo apt remove podman

Se vuoi pulire anche i pacchetti accessori, rimuovi quelli installati insieme. Prima però verifica se qualche servizio o script dipende da podman o dal wrapper docker fornito da podman-docker.

sudo apt remove podman-docker buildah skopeo

Se hai creato container o volumi come utente, i dati possono trovarsi nel profilo locale o nelle directory di storage di Podman. Prima di cancellare, controlla cosa c’è davvero sul sistema e conserva ciò che ti serve per un eventuale ripristino.

Checklist finale per un’installazione fatta bene

Una installazione corretta di Podman su Debian 12 non si misura solo dalla presenza del pacchetto, ma da una sequenza minima di verifiche: sistema coerente, repository raggiungibili, spazio sufficiente, versione corretta e container di test avviato con successo.

  • VERSION_CODENAME=bookworm confermato.
  • apt update completato senza errori.
  • sudo apt install podman eseguito dal repository ufficiale.
  • podman info funzionante.
  • podman run --rm docker.io/library/alpine:latest echo ok completato con output atteso.

Assunzione: la macchina è Debian 12 standard, con accesso ai repository ufficiali e senza vincoli particolari di rete o policy che impongano mirror o pacchetti custom.