Debian è una distribuzione GNU/Linux sviluppata da una comunità internazionale e progettata per funzionare su desktop, server, macchine virtuali e infrastrutture cloud. È conosciuta soprattutto per il suo modello di sviluppo conservativo: la release stable privilegia prevedibilità, coerenza dei pacchetti e manutenzione nel tempo, caratteristiche particolarmente interessanti quando il sistema deve rimanere operativo senza inseguire continuamente le versioni software più recenti.

Se stai cercando informazioni su Debian server, c’è però una distinzione da chiarire subito: non esiste una diversa edizione del sistema operativo chiamata “Debian Server” paragonabile, come naming di prodotto, a Ubuntu Server. In genere con questa espressione si indica Debian configurato per eseguire servizi server, spesso senza ambiente desktop e con soltanto i componenti necessari al workload.

In questa guida vediamo quindi cos’è Debian, come funzionano le sue versioni, quando ha senso sceglierlo, quale immagine scaricare, come installarlo e quali configurazioni affrontare quando deve diventare la base di un server reale.

Cos’è Debian e cosa lo distingue dalle altre distribuzioni Linux

Debian è contemporaneamente un progetto, una comunità e una distribuzione GNU/Linux. Non nasce come prodotto di un singolo vendor commerciale: viene sviluppato da Debian Developers e contributor distribuiti in molti Paesi, secondo regole pubbliche che riguardano sviluppo, gestione dei pacchetti e software libero.

Questa impostazione è formalizzata anche nel Debian Social Contract, che definisce gli impegni del progetto verso utenti e comunità del software libero.

Debian non va quindi confuso con il kernel Linux. Linux è il kernel, cioè il componente che gestisce risorse hardware, processi, memoria e altre funzioni di basso livello. Debian costruisce intorno al kernel un sistema operativo completo con strumenti GNU, librerie, utility, package manager, repository, installer e migliaia di pacchetti software mantenuti in modo coordinato.

Pacchetti .deb, dpkg e APT

Una delle caratteristiche centrali dell’ecosistema Debian è il formato dei pacchetti .deb.

Il componente di basso livello che installa e gestisce questi pacchetti è dpkg. Nella normale amministrazione del sistema, però, difficilmente lavorerai soltanto con dpkg, perché non è lui a svolgere tutto il lavoro di risoluzione delle dipendenze e gestione dei repository.

Per questo entra in gioco APT, Advanced Package Tool. Quando esegui:

sudo apt update

APT aggiorna le informazioni disponibili sui pacchetti nei repository configurati. Quando invece esegui:

sudo apt install nginx

APT determina quali pacchetti servono, risolve le dipendenze e delega le operazioni necessarie al sistema di gestione sottostante.

In pratica:

  • dpkg lavora direttamente con i pacchetti Debian;
  • apt è l’interfaccia normalmente utilizzata dall’amministratore per repository, dipendenze, installazioni e aggiornamenti;
  • i repository permettono di mantenere un insieme coerente di software senza cercare manualmente file da installare sul Web.

Questa separazione è importante soprattutto sui server: installare software casualmente al di fuori dei repository o mescolare distribuzioni diverse può rendere molto più difficile mantenere il sistema coerente nel tempo.

Perché Ubuntu e molte altre distribuzioni derivano da Debian

L’influenza di Debian va oltre la distribuzione stessa. Ubuntu, per esempio, deriva storicamente da Debian e condivide il formato .deb, APT e una parte rilevante dell’ecosistema dei pacchetti.

Questo non significa però che Debian e Ubuntu siano intercambiabili.

Ubuntu ha un proprio ciclo di rilascio, repository, patch, strumenti, scelte predefinite e un ecosistema commerciale legato a Canonical. Debian mantiene invece un processo di sviluppo e rilascio autonomo.

Lo stesso ragionamento vale per le numerose distribuzioni derivate da Debian: condividere una base tecnologica non significa necessariamente avere lo stesso ciclo di vita o le stesse decisioni progettuali.

A cosa serve Debian: desktop, sviluppo, server e cloud

Debian è una distribuzione general-purpose. Può essere installata su un computer personale con un’interfaccia grafica completa oppure ridotta a un sistema essenziale che esegue soltanto pochi servizi di rete.

Il punto non è quindi chiedersi se Debian sia “da desktop” o “da server”, ma quali componenti installare per il lavoro che deve svolgere la macchina.

Debian come sistema desktop

Su desktop puoi utilizzare ambienti grafici come GNOME, KDE Plasma, Xfce e altre alternative disponibili nei repository.

La filosofia rimane quella della distribuzione: un sistema composto da pacchetti mantenuti insieme, con aggiornamenti gestiti attraverso APT e una separazione piuttosto netta tra la base del sistema e ciò che decidi di aggiungere.

Per chi vuole semplicemente una macchina desktop che proponga sempre le versioni applicative più nuove, altre distribuzioni possono risultare più aggressive negli aggiornamenti. Debian stable privilegia deliberatamente un equilibrio diverso.

Debian per sviluppo e workstation tecniche

Debian può essere una buona base anche per ambienti di sviluppo, soprattutto quando vuoi che workstation, VM e server condividano una piattaforma simile.

Compilatori, runtime, database, web server, strumenti di automazione e container possono essere installati attraverso i repository o tramite le modalità raccomandate dai rispettivi progetti.

La considerazione importante è un’altra: stable non nasce per offrire automaticamente l’ultima versione disponibile di ogni stack. Se un progetto richiede precisamente una release recente di Node.js, PHP, Python, PostgreSQL o un altro componente, verifica prima la versione realmente disponibile e il metodo di installazione consigliato.

Debian come server

Un server è una macchina o un sistema che mette a disposizione risorse e servizi ad altri client. Debian può costituire il sistema operativo sottostante per molti di questi workload.

Puoi usarlo, per esempio, come:

  • web server;
  • application server;
  • database server;
  • file server;
  • reverse proxy;
  • host per container;
  • server DNS;
  • sistema di backup;
  • nodo di elaborazione;
  • macchina per servizi interni;
  • VPS esposta su Internet.

Un database come MariaDB, per esempio, può essere installato su Debian insieme al resto dello stack applicativo, ma la corretta configurazione dipende dal carico, dalla memoria disponibile, dalla strategia di backup e dal livello di esposizione del servizio.

Debian su cloud e macchine virtuali

Non devi necessariamente partire da un’ISO.

La pagina ufficiale per ottenere Debian mette a disposizione anche immagini cloud utilizzabili con OpenStack, QEMU e diversi provider pubblici.

Su un VPS o su una piattaforma cloud il flusso tipico è infatti diverso da quello di un server fisico: scegli un’immagine già preparata, avvii l’istanza e intervieni successivamente su account, aggiornamenti, rete, SSH, firewall e servizi.

Questa distinzione evita un errore frequente nelle guide: installare Debian e distribuire Debian nel cloud sono due percorsi diversi verso lo stesso sistema operativo.

Debian 13 Trixie: qual è la versione stabile e quale scegliere

Debian mantiene più rami contemporaneamente. Per capire quale installare bisogna prima separare stable, testing e unstable.

La stable corrente è Debian 13, nome in codice Trixie. La point release disponibile al momento della verifica di questa guida è 13.6.

La documentazione sulle release Debian definisce stable come la release destinata alla produzione e quella raccomandata in via generale.

RamoCodename correnteCaratteristica principaleUso tipico
stableTrixieRelease ufficiale, cambiamenti più controllatiServer, produzione, desktop che privilegiano stabilità
testingForkyPacchetti più recenti in preparazione della futura stableTest, desktop tecnici, sviluppo con maggiore tolleranza al cambiamento
unstableSidArea di sviluppo attivoSviluppatori Debian e utenti esperti

Schema del passaggio da Debian unstable Sid a testing Forky e stable Trixie
Il modello Debian distingue unstable, testing e stable: i tre rami hanno funzioni diverse nel ciclo di sviluppo.

Stable non significa immobile

Definire Debian stable come “vecchio” è una semplificazione poco utile.

Quando una release diventa stable, le versioni principali di molti pacchetti cambiano meno rispetto a una distribuzione rolling. Questo riduce una classe di variazioni durante il ciclo di vita del sistema, mentre correzioni e aggiornamenti di sicurezza continuano a essere distribuiti secondo le policy del progetto.

Per un server questo trade-off può essere vantaggioso: una macchina che esegue un’applicazione in produzione non ha necessariamente bisogno della versione appena pubblicata di ogni componente.

Ha bisogno soprattutto di una piattaforma di cui l’amministratore possa comprendere e controllare il ciclo di modifica.

Cosa significa Debian 13.6

Il .6 non identifica una nuova generazione della distribuzione.

Debian 13.6 è una point release della stessa Debian 13: incorpora nel supporto installativo e nella release gli aggiornamenti accumulati nel frattempo. Non deve quindi essere interpretata come se fosse una Debian 14.

Per un sistema già correttamente aggiornato, l’arrivo di una point release non significa normalmente reinstallare la macchina da zero.

Quanto viene mantenuta una release Debian

Il ciclo standard di una stable copre complessivamente circa cinque anni: una prima fase di supporto Debian completo e una successiva fase LTS.

Questa durata è uno dei motivi per cui il progetto è interessante in infrastrutture che devono essere pianificate con un orizzonte più lungo di pochi mesi.

Va comunque ricordato che supporto del sistema operativo e supporto della tua applicazione non sono la stessa cosa. Un software commerciale può certificare solo determinate distribuzioni o versioni, indipendentemente dal fatto che Debian sia ancora mantenuto.

Debian 12 Bookworm è ancora utilizzabile?

Debian 12 Bookworm è ormai oldstable ed è entrata nel periodo LTS.

Questo non significa che una macchina Bookworm esistente debba essere immediatamente sostituita. Se il sistema è supportato, aggiornato e legato a un’applicazione che richiede quella release, esistono motivi legittimi per continuare a mantenerlo.

Per una nuova installazione senza vincoli particolari, invece, partire dalla stable corrente è normalmente la scelta più razionale. Eviti di costruire un nuovo server su un ciclo già più avanzato.

Debian server: cosa significa e perché viene usato sui server

“Debian server” descrive soprattutto un ruolo del sistema, non un’edizione separata.

Puoi utilizzare la stessa distribuzione stable per creare una workstation oppure un server. Quello che cambia è la selezione dei pacchetti, la configurazione, la superficie di rete e il modo in cui amministri la macchina.

Esiste davvero un’edizione Debian Server?

Non esiste un prodotto separato chiamato Debian Server nello stesso senso in cui Canonical distribuisce Ubuntu Server.

Durante un’installazione Debian puoi scegliere di non installare alcun ambiente desktop e mantenere soltanto il sistema base con gli strumenti e i servizi necessari.

Il risultato è quello che normalmente si cerca quando si parla di Debian server:

una Debian essenziale, amministrata prevalentemente da riga di comando e configurata per erogare servizi.

Questo ha anche un vantaggio pratico: non installare componenti che non servono riduce pacchetti da mantenere e processi non necessari. Non va però trasformato in una regola assoluta: un server può tecnicamente avere anche una GUI se esiste una ragione concreta per farlo.

Web server, database e servizi di rete

Debian è adatto a molti workload perché i repository comprendono una quantità ampia di software server e l’amministratore può costruire la macchina attorno al servizio necessario.

Una configurazione web potrebbe includere, per esempio:

Debian
├── Nginx o Apache
├── runtime applicativo
├── database
├── SSH
├── firewall
└── sistema di backup e monitoraggio

Il punto importante è che il sistema operativo è soltanto uno strato dell’infrastruttura. La stabilità della distribuzione non compensa un database non sottoposto a backup, un servizio esposto inutilmente o credenziali amministrative deboli.

Server fisico, VPS, VM o cloud

Debian può essere eseguito in tutti questi contesti, ma l’installazione cambia.

Su un server fisico devi occuparti direttamente di firmware, storage, bootloader, RAID e compatibilità hardware.

Su una VM parte dell’hardware è virtualizzato.

Su un VPS molte decisioni vengono prese dal provider e ricevi un sistema già avviato.

Nel cloud puoi partire da un’immagine pronta e automatizzare configurazione e provisioning.

Per questo una buona procedura di amministrazione non deve coincidere con una sola sequenza di schermate dell’installer.

Perché stable è normalmente il ramo corretto in produzione

Il server di produzione è il caso in cui il vantaggio di stable emerge meglio.

Un pacchetto più recente non è automaticamente migliore per un sistema operativo in produzione. Ogni modifica significativa può introdurre incompatibilità con configurazioni, librerie, applicazioni o procedure operative già esistenti.

Con stable il compromesso è esplicito: meno movimento delle versioni principali in cambio di una base più prevedibile.

Non significa assenza di rischi. Prima di aggiornare sistemi critici resta buona pratica avere backup verificati, conoscere i cambiamenti rilevanti e, quando il servizio lo giustifica, provare gli aggiornamenti su un ambiente separato.

Perché scegliere Debian per un server

Debian non è “il miglior sistema operativo per server” in senso assoluto. È una scelta forte quando le caratteristiche del suo modello coincidono con ciò che richiede l’infrastruttura.

Aggiornamenti relativamente prevedibili

Il primo vantaggio è il modello stable.

Se gestisci una macchina che deve rimanere coerente nel tempo, un ciclo conservativo può ridurre la frequenza con cui sei costretto ad affrontare major upgrade dei componenti di base.

Questo aiuta soprattutto quando l’applicazione dipende da versioni precise di librerie, runtime o servizi.

Ciclo di supporto chiaro

Il secondo vantaggio è la separazione tra stable, oldstable e LTS.

Sai quale ramo stai utilizzando e puoi programmare la migrazione invece di trattare l’aggiornamento del sistema operativo come un evento improvviso.

La parte difficile non è installare una nuova release. È verificare prima:

  • compatibilità applicativa;
  • configurazioni deprecate;
  • repository aggiuntivi;
  • estensioni;
  • database;
  • servizi;
  • modalità di rollback.

Ecosistema di pacchetti maturo

APT e i repository Debian coprono un ecosistema molto ampio.

Per un amministratore significa poter installare una grande parte dello stack attraverso un modello coerente, invece di costruire ogni componente manualmente.

Questo vantaggio diminuisce quando il tuo workload richiede versioni che non coincidono con quelle della stable. In quel caso devi decidere consapevolmente se usare backports, container, repository del vendor o un’altra distribuzione.

Indipendenza dal vendor

Debian è sviluppato dal progetto Debian e non dipende dal ciclo commerciale di una singola azienda.

Per alcune organizzazioni questo è un vantaggio; per altre può essere un limite.

Se hai bisogno di un contratto centralizzato con il vendor del sistema operativo, certificazioni specifiche o strumenti enterprise integrati, una piattaforma supportata commercialmente può risultare più semplice da inserire nei processi aziendali.

La neutralità del progetto è un criterio di scelta, non un vantaggio universale.

Download Debian: quale immagine scegliere

La prima scelta pratica avviene prima ancora dell’installazione.

Debian propone modalità differenti perché non tutte le macchine hanno gli stessi requisiti.

Netinst: la scelta più pratica con una connessione Internet

L’immagine netinst contiene ciò che serve per avviare l’installazione e recupera dalla rete i pacchetti necessari.

È normalmente una buona scelta quando:

  • la macchina ha una connessione funzionante;
  • vuoi scaricare un’immagine relativamente compatta;
  • preferisci installare soltanto ciò che serve;
  • stai preparando un server tradizionale.

Non è invece la soluzione migliore quando la macchina deve essere configurata completamente offline.

Immagine completa per installazioni offline

Le immagini più grandi includono molti più pacchetti e rendono più semplice completare l’installazione senza una connessione Internet disponibile in quel momento.

Sono utili in reti isolate, laboratori o ambienti in cui non puoi fare affidamento sull’accesso ai mirror durante il setup.

Scaricare un’immagine molto più grande non rende però il sistema finale “più completo” in senso qualitativo. Cambia soprattutto da dove arrivano i pacchetti durante l’installazione.

Immagini live per provare Debian

Le immagini live permettono di avviare un ambiente Debian senza installarlo immediatamente sul disco.

Hanno particolare senso per un desktop, perché consentono di controllare in anticipo elementi come:

  • grafica;
  • rete;
  • audio;
  • periferiche;
  • ambiente desktop;
  • compatibilità generale.

Per un server headless la live image è normalmente meno interessante di netinst o di un’immagine cloud appropriata.

Immagini cloud

Se la destinazione è OpenStack, una VM QEMU o un provider supportato, partire dall’immagine cloud ufficiale può eliminare completamente il passaggio dell’installer tradizionale.

Il sistema viene distribuito già predisposto per la virtualizzazione e passa rapidamente alla fase davvero importante: configurazione dell’istanza, accesso, aggiornamento e servizi.

Quali architetture supporta Debian

Uno dei punti di forza storici del progetto è la disponibilità su più architetture.

Per Debian 13 le architetture previste per nuove installazioni comprendono:

ArchitetturaScenario
amd64Server e PC Intel/AMD a 64 bit
arm64Server ARM, SBC e infrastrutture cloud compatibili
armhfARM con Hard Float ABI
ppc64elSistemi IBM POWER little-endian
riscv64Sistemi RISC-V a 64 bit
s390xIBM System z

Ci sono due precisazioni importanti.

i386, cioè il vecchio PC a 32 bit, non è più una normale architettura per nuove installazioni della stable corrente: viene mantenuta come co-architecture per eseguire software a 32 bit su amd64.

armel è invece mantenuta per determinati percorsi di upgrade, non per nuove installazioni.

Prima di scaricare un’ISO non affidarti quindi alla generica distinzione “32 o 64 bit”: controlla sempre l’architettura effettivamente supportata dalla release e dall’hardware che devi utilizzare.

Come installare Debian passo passo

La guida ufficiale all’installazione rimane il riferimento quando devi gestire configurazioni o hardware particolari. Qui ci concentriamo sul percorso decisionale tipico, soprattutto per una macchina destinata a diventare server.

1. Verifica dati, architettura e destinazione

Prima di avviare l’installer devi sapere almeno:

  • quale disco verrà utilizzato;
  • se contiene dati da conservare;
  • quale architettura usa la macchina;
  • se il boot avviene in UEFI;
  • come sarà collegata alla rete;
  • se installerai da ISO o userai un’immagine già predisposta.

Il partizionamento può cancellare dati in modo irreversibile. Se stai intervenendo su una macchina esistente, il backup viene prima dell’installer.

2. Scarica l’immagine adatta

Per un normale server con accesso alla rete sceglierei generalmente netinst.

Dopo il download è buona pratica verificare checksum e autenticità dell’immagine utilizzando le informazioni pubblicate dal progetto Debian, soprattutto se la ISO deve diventare la base di sistemi di produzione.

3. Crea il supporto di avvio

Su hardware fisico dovrai normalmente scrivere l’immagine su una chiavetta USB o altro supporto compatibile e configurare BIOS/UEFI per eseguire il boot da quel dispositivo.

In una macchina virtuale puoi invece collegare direttamente l’ISO come unità virtuale.

4. Configura lingua, tastiera e rete

L’installer rileva l’hardware e tenta di configurare la rete.

Con DHCP la procedura è normalmente automatica. Per un server può però essere necessario definire successivamente un indirizzo stabile o utilizzare la configurazione prevista dal provider.

Non confondere l’indirizzo configurato durante il setup con una strategia definitiva di rete: su VM e cloud possono intervenire DHCP, network configuration del provider, VLAN, subnet e indirizzi pubblici separati.

5. Scegli hostname, utente e modalità amministrativa

L’hostname dovrebbe identificare la macchina in modo utile all’interno dell’infrastruttura. Nomi casuali diventano velocemente scomodi quando i server aumentano.

Debian permette inoltre di scegliere come gestire l’account root.

Se durante l’installazione non imposti una password per root, l’account viene disabilitato e il primo utente creato può ricevere privilegi amministrativi attraverso sudo.

È una differenza importante perché molti tutorial assumono automaticamente un modello di accesso che potrebbe non corrispondere alla configurazione realmente scelta.

6. Partiziona i dischi

L’installer propone modalità guidate e configurazioni più avanzate.

Per una VM semplice un layout guidato può essere sufficiente. Un server fisico o un workload specifico può invece richiedere:

  • LVM;
  • cifratura;
  • RAID;
  • filesystem separati;
  • strategie particolari per database o log.

Non esiste un partizionamento “SEO-style” valido per ogni server. La struttura dello storage deve partire da capacità, resilienza, crescita prevista e procedura di recovery.

7. Configura il mirror dei pacchetti

Se utilizzi netinst, il mirror Debian diventa la sorgente dalla quale l’installer recupera gran parte del software.

Una volta completata l’installazione, le sorgenti APT restano un elemento centrale della manutenzione della macchina.

8. Seleziona soltanto i componenti necessari

È qui che una normale installazione può diventare, di fatto, un Debian server.

Se la macchina deve essere amministrata da terminale, puoi evitare l’ambiente desktop e installare la base del sistema insieme agli strumenti necessari.

Se prevedi di accedere da remoto, puoi includere il server SSH durante la selezione del software oppure installarlo successivamente.

Non installare però servizi soltanto perché “potrebbero servire”. Ogni demone attivo è qualcosa da aggiornare, configurare e, se esposto, proteggere.

9. Installa il bootloader e riavvia

Completata l’installazione, configura il bootloader secondo la situazione indicata dall’installer, rimuovi il supporto di installazione quando richiesto e avvia il nuovo sistema.

A questo punto il lavoro non è concluso.

Hai installato Debian; non hai ancora completato la configurazione del server.

Cosa configurare subito dopo l’installazione di un Debian server

La fase post-installazione è quella che trasforma una macchina appena avviata in un sistema che puoi amministrare con un minimo di controllo.

L’ordine preciso dipende dal workload, ma alcune verifiche sono quasi sempre sensate.

Aggiorna l’indice dei pacchetti

Per prima cosa aggiorna le informazioni APT:

sudo apt update

Poi verifica gli aggiornamenti disponibili e applicali secondo la policy della macchina:

sudo apt upgrade

I due comandi non fanno la stessa cosa. Il primo aggiorna la conoscenza dei repository; il secondo interviene sui pacchetti installati.

Su sistemi critici non trattare comunque upgrade come un rituale automatico. Controlla i cambiamenti, disponi di backup e stabilisci come reagire a un eventuale problema.

Verifica hostname e rete

Puoi iniziare con pochi comandi:

hostnamectl
ip -br address
ip route

Servono rispettivamente a controllare l’identità della macchina, gli indirizzi assegnati alle interfacce e la tabella di routing.

Se il server deve essere raggiungibile tramite un nome DNS, verifica anche la corrispondenza tra configurazione del sistema, record DNS e indirizzo effettivamente pubblicato.

Configura SSH

Per un server remoto, SSH diventa normalmente il principale strumento amministrativo.

Prima di esporlo su Internet conviene definire:

  • quali utenti possono accedere;
  • se utilizzare autenticazione a chiave;
  • come gestire l’accesso amministrativo;
  • quali indirizzi devono poter raggiungere il servizio;
  • come proteggere e ruotare le credenziali.

La nostra guida a SSH approfondisce il protocollo e il funzionamento dell’accesso remoto senza ridurlo alla sola apertura della porta 22.

Controlla quali servizi sono in ascolto

Un controllo utile è:

sudo ss -tulpn

Ti permette di vedere quali socket TCP e UDP sono in ascolto e quali processi li stanno utilizzando.

La domanda da farti non è “quante porte devo chiudere?”, ma quali servizi deve realmente offrire questa macchina e a chi.

Un database destinato soltanto all’applicazione locale, per esempio, non dovrebbe essere pubblicato indiscriminatamente sulla rete soltanto perché può farlo.

Configura il firewall

Debian utilizza il framework nftables come base moderna per il filtering di rete.

Se vuoi gestirlo direttamente puoi installare e abilitare il servizio:

sudo apt install nftables
sudo systemctl enable --now nftables

Le regole reali devono però essere progettate sulla tua infrastruttura. Copiare un ruleset casuale può essere peggio che non averne uno, soprattutto quando il server dipende da accessi remoti che potresti bloccare.

Su cloud e VPS ricorda inoltre che possono esistere due livelli di filtering: quello del sistema operativo e security group/firewall del provider.

Pianifica sicurezza, log e backup

Gli aggiornamenti di sicurezza sono indispensabili, ma non bastano da soli.

Un server dovrebbe avere almeno:

  • una strategia di backup;
  • una procedura di ripristino verificabile;
  • monitoraggio dello spazio disco;
  • controllo dei log;
  • gestione delle credenziali;
  • inventario dei servizi esposti;
  • una procedura per gli aggiornamenti;
  • un criterio per major upgrade e fine supporto.

Il backup non è realmente una protezione finché non sai se puoi ripristinarlo.

APT, dpkg e repository Debian: come funziona la gestione dei pacchetti

La gestione dei pacchetti è uno dei punti in cui capire il meccanismo evita molti problemi futuri.

La Debian Reference dedicata ad APT e ai pacchetti distingue chiaramente i diversi livelli del sistema.

Differenza tra APT e dpkg

dpkg conosce lo stato dei pacchetti installati e opera sui file .deb.

APT lavora a un livello superiore e utilizza le informazioni dei repository per trovare versioni, dipendenze e aggiornamenti.

Per l’uso interattivo normale i comandi più comuni sono:

sudo apt update
sudo apt upgrade
sudo apt install nome-pacchetto
sudo apt remove nome-pacchetto
sudo apt search termine
sudo apt show nome-pacchetto

Usare direttamente dpkg -i per pacchetti scaricati da fonti casuali non deve diventare la modalità standard con cui costruisci il sistema.

debian.sources e il formato deb822

Molti tutorial storici mostrano esclusivamente /etc/apt/sources.list con una riga per repository.

La stable corrente utilizza normalmente il più moderno formato deb822, con file .sources sotto:

/etc/apt/sources.list.d/

Il file tipico è:

/etc/apt/sources.list.d/debian.sources

Il formato organizza ogni sorgente attraverso campi espliciti come:

Types:
URIs:
Suites:
Components:

È più strutturato delle vecchie righe deb ... e rende più leggibili configurazioni complesse.

Sui sistemi che utilizzano ancora il formato storico, APT mette inoltre a disposizione:

sudo apt modernize-sources

Non è necessario convertire una macchina alla cieca soltanto perché esiste il comando. Se il sistema è in produzione, verifica prima il file generato e mantieni una copia della configurazione precedente.

Stable, security, updates e backports

I repository non hanno tutti lo stesso ruolo.

La stable costituisce la base del sistema.

Il repository security distribuisce gli aggiornamenti di sicurezza pertinenti.

Gli updates permettono di distribuire alcuni cambiamenti necessari prima della point release successiva.

I backports servono invece a rendere disponibili determinati pacchetti ricompilati da rami più recenti per la stable.

Questo non significa che dovresti aggiungere backports a ogni server. Usali quando esiste un requisito concreto per quella versione, non per trasformare progressivamente stable in una distribuzione più difficile da prevedere.

Repository esterni: il costo che spesso si vede troppo tardi

Aggiungere un repository di terze parti può essere perfettamente legittimo. Molti vendor distribuiscono così il proprio software.

Il costo emerge però durante:

  • major upgrade;
  • cambio delle chiavi di firma;
  • fine supporto del repository;
  • conflitti di dipendenze;
  • sostituzione di pacchetti presenti anche in Debian.

Per questo conviene tenere un inventario delle sorgenti esterne e sapere perché ciascuna è presente.

Un server sul quale nessuno ricorda da dove arrivino metà dei pacchetti è molto più difficile da aggiornare in sicurezza.

Debian vs Ubuntu Server vs CentOS Stream: quale scegliere

Debian, Ubuntu Server e CentOS Stream sono tutte piattaforme Linux utilizzabili su server, ma non seguono lo stesso modello.

Il confronto utile non è quindi “quale distro è migliore?”, bensì quale modello si adatta meglio al software, al supporto e all’infrastruttura che devi gestire.

CriterioDebianUbuntu ServerCentOS Stream
ModelloStable, testing e unstableRelease periodiche con versioni LTSStream continuo legato allo sviluppo di RHEL
Gestione pacchettiAPT / dpkgAPT / dpkgDNF / RPM
GovernanceDebian Project e comunitàUbuntu + CanonicalCentOS Project con forte integrazione nell’ecosistema Red Hat
Approccio serverBase general-purpose molto configurabileProdotto server esplicito, forte presenza cloud e supporto commercialeParticolarmente rilevante per l’ecosistema Enterprise Linux
Punto di forzaPrevedibilità e neutralità della baseEcosistema, documentazione vendor e servizi CanonicalAllineamento tecnico con il percorso di sviluppo RHEL
Da verificare prima di scegliereVersione dei pacchetti e certificazioni vendorRequisiti di supporto e componenti CanonicalCompatibilità hardware/software e modello Stream

Debian vs Ubuntu Server

Se vuoi una base community-driven molto conservativa e preferisci controllare in modo diretto i componenti installati, Debian stable è una scelta forte.

Ubuntu Server può essere più pratico quando il progetto beneficia esplicitamente dell’ecosistema Canonical, di una documentazione vendor molto estesa, di immagini certificate da determinati provider o di specifiche opzioni di supporto commerciale.

La parentela fra le due distribuzioni non elimina questa differenza.

Debian vs CentOS Stream

CentOS Stream appartiene a un ecosistema differente anche a livello di package management.

Il progetto CentOS descrive Stream come il ramo da cui vengono create le minor release di RHEL. Questo lo rende particolarmente interessante quando il software e i processi dell’organizzazione gravitano già attorno a Red Hat Enterprise Linux.

Debian ha invece un proprio ciclo stable e non cerca di occupare quella posizione nell’ecosistema RHEL.

Quale sceglierei per scenario

Debian stable ha molto senso quando cerchi una base general-purpose, prevedibile, indipendente da un singolo vendor e compatibile con il tuo workload.

Ubuntu Server diventa interessante quando contano particolarmente ecosistema Canonical, supporto commerciale, certificazioni o procedure già costruite attorno a Ubuntu.

CentOS Stream è da considerare quando il requisito è restare vicino al mondo RHEL ed Enterprise Linux.

Prima viene quindi il software che devi eseguire. Poi il modello operativo. Soltanto dopo il nome della distribuzione.

Vantaggi e limiti di Debian

Il vantaggio più evidente di Debian non è un singolo programma. È la combinazione fra modello stable, package management, ampiezza della piattaforma e governance del progetto.

Tra i motivi concreti per sceglierlo ci sono:

  • sistema adatto a infrastrutture che privilegiano prevedibilità;
  • repository molto ampi;
  • disponibilità su più architetture;
  • ottima adattabilità da installazioni minimali a desktop completi;
  • forte documentazione tecnica;
  • ciclo di manutenzione chiaramente separato fra stable e LTS;
  • assenza della necessità di legarsi a un singolo vendor commerciale.

Ci sono però anche trade-off reali.

I pacchetti della stable possono non essere quelli più recenti

È una conseguenza del modello, non un bug.

Se il tuo progetto deve adottare rapidamente una major release appena pubblicata di un componente fondamentale, potresti dover ricorrere a backports, container, repository vendor o un’altra distribuzione.

Alcuni software certificano altre distribuzioni

Prodotti enterprise e applicazioni commerciali possono dichiarare supporto ufficiale soltanto per specifiche versioni di Ubuntu, RHEL o altre piattaforme.

In quel caso “funziona su Debian” e “il vendor supporta Debian” sono due affermazioni completamente diverse.

Per infrastrutture aziendali questa differenza può pesare più di qualsiasi preferenza tecnica.

Debian richiede che tu sappia cosa vuoi dal sistema

La distribuzione non impedisce di costruire un desktop semplice, ma tende a lasciare molte decisioni all’amministratore.

Questo è un vantaggio se vuoi controllo.

È meno vantaggioso se preferisci che il vendor definisca per te un percorso molto guidato, un set di strumenti proprietari o un servizio commerciale integrato.

Domande frequenti su Debian

Debian è Linux?

Debian è una distribuzione GNU/Linux: utilizza il kernel Linux e costruisce intorno ad esso un sistema operativo completo con strumenti, librerie, package manager e repository.

Linux e Debian non sono quindi sinonimi.

Debian è gratuito?

Debian può essere scaricato e utilizzato gratuitamente. Il progetto si impegna a mantenere libero il sistema Debian secondo le Debian Free Software Guidelines.

Esistono inoltre aree dell’archivio per software che non soddisfa gli stessi criteri e i media ufficiali possono includere firmware necessario a far funzionare hardware che lo richiede. È quindi meglio evitare la formula semplicistica secondo cui “ogni cosa disponibile per Debian è necessariamente software libero”.

Debian è adatto ai principianti?

Può esserlo, soprattutto per chi vuole imparare Linux comprendendo il funzionamento reale del sistema.

Per un desktop completamente inesperto Ubuntu o altre distribuzioni possono offrire impostazioni iniziali e percorsi più guidati.

Su un server, invece, la difficoltà dipende soprattutto dall’amministrazione che viene dopo l’installazione: rete, sicurezza, backup e servizi non diventano semplici soltanto cambiando distribuzione.

Debian server può avere un’interfaccia grafica?

Sì.

Non esiste un vincolo tecnico che impedisca di installare un ambiente grafico su una macchina utilizzata come server.

La domanda corretta è se quella GUI serva realmente. Su server amministrati da remoto spesso non offre un vantaggio sufficiente a giustificare pacchetti e processi aggiuntivi.

Ubuntu è basato su Debian?

Sì, Ubuntu deriva da Debian e condivide elementi importanti dell’ecosistema, compresi pacchetti .deb e APT.

Ubuntu ha però repository, ciclo di release, patch, supporto e decisioni progettuali propri. Non conviene quindi trattare un tutorial Ubuntu come se fosse automaticamente valido su Debian, o viceversa.

Conclusione

Debian è interessante perché permette di partire da una base relativamente essenziale e costruire sopra di essa il sistema che serve davvero, senza obbligare desktop, server e cloud a seguire lo stesso percorso.

Per un nuovo server general-purpose, Debian stable è la scelta che valuterei quando la priorità è una piattaforma prevedibile, ben documentata e compatibile con il software che devi eseguire.

Se invece il progetto richiede esplicitamente l’ecosistema Canonical, certificazioni legate a Ubuntu o supporto commerciale integrato, Ubuntu Server può risultare più adatto. Se l’infrastruttura appartiene al mondo RHEL, CentOS Stream merita una valutazione distinta.

La scelta della distribuzione, però, è soltanto l’inizio. Un Debian server diventa affidabile quando aggiorni con criterio, limiti i servizi esposti, controlli l’accesso remoto, organizzi backup e log e sai già come affronterai il prossimo major upgrade prima che diventi urgente.