Che cos'è il formato di file DEB?
I file con estensione .deb contengono pacchetti software Debian utilizzati dai sistemi operativi basati su Linux e dai loro derivati, inclusi Ubuntu, Linux Mint e Kali. Un singolo file .deb è un archivio Unix ar che racchiude tre elementi: un piccolo file di testo debian-binary che indica la versione del formato, un archivio control.tar contenente i metadati e un archivio data.tar contenente i dati effettivi dell'installazione.
L'archivio di controllo (control.tar) memorizza gli script del manutentore e i metadati del pacchetto - nome, versione, dipendenze e altre informazioni di controllo. Sui moderni sistemi Debian 12+ e Ubuntu, l'archivio di controllo utilizza per impostazione predefinita la compressione Zstandard (.zst); i pacchetti più vecchi utilizzano GZIP o XZ.
L'archivio dati (data.tar) contiene i file di installazione effettivi disposti nei loro percorsi di destinazione. Anche questo archivio utilizza la compressione Zstandard nelle versioni attuali, mentre GZIP, BZIP2, LZMA o XZ si trovano nei pacchetti più datati.
I file .udeb, noti anche come «micro deb», condividono molte somiglianze con i file .deb. I file .udeb memorizzano essenzialmente gli stessi dati dei .deb, ma sono limitati ai file funzionali essenziali necessari all'installatore Debian. Una variante correlata, .ddeb, trasporta simboli di debug separati per l'analisi dei crash da parte degli sviluppatori.
- I file
.debsono progettati per essere installati con un gestore di pacchetti -apt,dpkgogdebi- che risolve le dipendenze ed esegue gli script del manutentore. - I file
.debpossono essere convertiti in altri formati di installazione come.rpmutilizzando lo strumentoalien. - Su Windows e macOS, strumenti come 7-Zip possono estrarre i componenti del
.debper l'ispezione, ma non possono installare il pacchetto.
Sicurezza e incolumità
RISCHIO: MEDIUMUn file .deb installa software con privilegi di root ed esegue script del manutentore (preinst/postinst), quindi un pacchetto malevolo può compromettere completamente il sistema - trattalo come un programma di installazione, non come un file di dati. Installa i file .deb solo dai repository ufficiali della distribuzione o dai siti ufficiali dei fornitori (dove le firme GPG di APT o l'HTTPS del fornitore offrono garanzie); diffida dei download casuali di file .deb. Estrarre un .deb con 7-Zip per guardarne l'interno è innocuo; l'installazione è il passaggio rischioso. Ispeziona le dipendenze con GDebi prima di procedere.
Dettagli del formato
in sintesiProgrammi che aprono file DEB
sudo apt install ./package.deb - installa il pacchetto E risolve le sue dipendenze. sudo dpkg -i package.deb quindi sudo apt -f install per correggere eventuali dipendenze mancanti. Dettagli tecnici
specifiche approfondite| Formato contenitore | Archivio Unix `ar`; inizia con il magic byte di 8 byte `!<arch>\n` all'offset 0 |
| Struttura interna | Tre membri `ar` in ordine: `debian-binary` (versione formato), `control.tar.*` (metadati + script), `data.tar.*` (file installati) |
| Marcatore versione formato | Il membro `debian-binary` contiene la stringa ASCII `2.0`; questo formato è stabile dal 1995 |
| Compressione archivio di controllo | Zstandard (`.zst`) su Debian 12+ e Ubuntu 22.04+; XZ su versioni precedenti; GZIP su pacchetti legacy |
| Compressione archivio dati | Zstandard (`.zst`) per impostazione predefinita nelle attuali Debian/Ubuntu; anche GZIP, BZIP2, LZMA o XZ nei pacchetti più vecchi |
| Tipo MIME | `application/vnd.debian.binary-package` (registrato); anche `application/x-deb` |
| Controllo integrità | File `md5sums` all'interno di `control.tar`; APT verifica i metadati del repository tramite GPG (`Release.gpg` / `InRelease`) |
| Strumenti di installazione | `dpkg` (livello basso); `apt` / `apt-get` (front-end per la risoluzione delle dipendenze); `gdebi` (installatore grafico/CLI per file singoli) |
| Campi metadati del pacchetto | Memorizzati nel file `control` all'interno di `control.tar`; campi obbligatori: Package, Version, Architecture, Maintainer, Description |
| Piattaforme supportate | Debian, Ubuntu, Linux Mint, Kali Linux, Raspberry Pi OS, Pop!_OS; legacy iOS jailbreak (Cydia) |
| Variante micro-deb .udeb | Pacchetto ridotto per l'installatore Debian - senza script del manutentore, metadati minimi, nessuna risoluzione delle dipendenze |
| Variante debug .ddeb | Pacchetto con simboli di debug separati scaricato automaticamente dai gestori di crash (`apport`, `gdb`) |
| Autenticazione repository | I repository sono firmati con GPG; il file `.deb` in sé non trasporta alcuna firma individuale |
| Conversione tra formati | `alien` converte `.deb` in `.rpm`, Slackware `.tgz` e altri formati di installazione |
| Dimensione tipica del file | Da pochi KB (utility minime) a diverse centinaia di MB (giochi, toolchain IDE, pacchetti multimediali) |
| Rilasciato | 1995 (the modern dpkg 'ar' .deb format; Debian itself dates to 1993) |
| Ultima versione | deb format version 2.0 (the '2.0' string in debian-binary; stable for decades) |
| Standard aperto | Sì · royalty-free |
| Specifica | manpages.debian.org |
Conversioni DEB
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file DEB.
Domande frequenti
Come installo un file .deb su Ubuntu?
sudo apt install ./package.deb, che installa anche tutte le dipendenze richieste.Perché `dpkg -i` dice che mancano delle dipendenze?
sudo apt -f install subito dopo, oppure usa semplicemente sudo apt install ./file.deb fin dall'inizio.Posso aprire un file .deb su Windows?
Qual è la differenza tra .deb e .rpm?
alien può convertirli con alcune riserve.Come si estrae un .deb senza installarlo?
dpkg-deb -x file.deb outdir/ per i file, oppure dpkg-deb -e per le informazioni di controllo. Su Windows/macOS, aprilo con 7-Zip/Keka.