Converti tar.xz in deb

Converti TAR.XZ in DEB

Crea un pacchetto Debian dal sorgente TAR.XZ con gli strumenti Debian, lo staging, i metadata e i controlli di compatibilità.

Converti i file TAR.XZ online

Non abbiamo ancora un convertitore online dedicato per TAR.XZ in DEB, ma puoi convertire i file TAR.XZ online in questi formati:

Vuoi convertire TAR.XZ in DEB?

Faccelo sapere. Scegliamo le prossime conversioni da aggiungere in base all'interesse.

Come convertire tar.xz in deb file

  • Archivi

Un sistema basato su Debian può richiedere un installer .deb quando il software viene distribuito solo come archivio .tar.xz. Di solito si tratta di un’attività di packaging, non di una conversione diretta del formato, perché un DEB utilizzabile necessita di metadati Debian, percorsi di installazione, dipendenze e talvolta script del maintainer.

Cos'è il formato TAR.XZ

.tar.xz combina un archivio TAR con la compressione XZ. TAR memorizza file e directory; XZ comprime l’archivio risultante. I progetti Linux e Unix lo usano comunemente per codice sorgente, documentazione, esempi di configurazione e occasionalmente software precompilato.

GNU tar, le XZ utilities, 7-Zip, KDE Ark e GNOME Archive Manager possono estrarlo. Esaminare l’archivio prima di scegliere un metodo di build:

tar -tJf program.tar.xz
tar -xJf program.tar.xz -C work

Un archivio di sorgenti può contenere una directory debian/ esistente oppure può far parte di un Debian source package insieme a file come .dsc e debian.tar.xz. Può anche contenere un .deb già pronto; in tal caso, estrarre o copiare quel package invece di ricrearlo.

Cos'è il formato DEB

Un DEB è un Debian binary package utilizzato da dpkg, apt, Ubuntu Software, KDE Discover e strumenti compatibili. Internamente è un archivio contenente un control archive con i metadati del package e un data archive con i file installati sul sistema. I metadati possono specificare il nome del package, la versione, l’architettura, la descrizione, le dipendenze, i checksum, i file di configurazione e gli script del maintainer.

I package DEB forniscono installazione tramite package manager, gestione delle dipendenze, tracciamento delle versioni, aggiornamenti e rimozione su Debian, Ubuntu, Linux Mint e distribuzioni correlate. In genere non sono intercambiabili con i package RPM per Fedora o con i package di Arch Linux, e un package creato per una release di una distribuzione può richiedere librerie incompatibili su un’altra.

Creare un DEB da un packaging Debian esistente

Se i sorgenti estratti contengono debian/control e debian/rules, usare gli strumenti di packaging Debian invece di creare manualmente un archivio:

sudo apt update
sudo apt install build-essential debhelper devscripts dpkg-dev
mkdir work
tar -xJf program.tar.xz -C work
cd work/program-version
sudo apt build-dep .
dpkg-buildpackage -us -uc -b

apt build-dep richiede repository Debian dei sorgenti utilizzabili nella configurazione di APT. Il binary package risultante viene normalmente collocato nella directory superiore. Installare un package locale con:

sudo apt install ../program_version_arch.deb

In questo modo APT può risolvere le dipendenze disponibili; dpkg -i da solo non risolve le dipendenze mancanti. Se l’archivio è un Debian source package completo, può essere più appropriato crearlo dal suo file .dsc con dpkg-source -x invece di estrarre solo il .tar.xz.

Creare un package per un progetto senza metadati Debian

Un progetto di sorgenti convenzionale può usare comandi diversi da ./configure e make; seguire il relativo README, INSTALL o la documentazione di build. Per un progetto che supporta i comandi convenzionali, eseguire lo staging dell’installazione in una directory temporanea invece di scrivere direttamente nel sistema in esecuzione:

tar -xJf program.tar.xz
cd program-version
./configure --prefix=/usr
make
rm -rf "$PWD/pkg"
make DESTDIR="$PWD/pkg" install

Creare un control file Debian all’interno dell’albero sottoposto a staging. Sostituire ogni valore di esempio e usare l’architettura indicata dal sistema di destinazione:

mkdir -p pkg/DEBIAN
cat > pkg/DEBIAN/control <<'EOF'
Package: program
Version: 1.0.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: Package Maintainer <maintainer@example.org>
Depends: libc6
Description: Short program description
 A longer package description uses an indented continuation line.
EOF
fakeroot dpkg-deb --build pkg program_1.0.0_amd64.deb

Usare dpkg --print-architecture per identificare l’architettura nativa. Impostare Architecture: all solo per contenuti indipendenti dall’architettura, come script o documentazione; i programmi compilati necessitano dell’architettura per cui sono stati creati. Elencare esplicitamente tutte le dipendenze da librerie e programmi runtime, perché dpkg-deb non è in grado di dedurle in modo affidabile da binari arbitrari.

FPM può automatizzare il packaging semplice da directory a DEB dopo aver eseguito lo staging dei file:

fpm -s dir -t deb -n program -v 1.0.0 -a amd64 -C pkg usr

FPM non determina automaticamente le dipendenze corrette né l’integrazione Debian. Servizi, desktop entries, gestione della configurazione, trigger, file di copyright, traduzioni e script del maintainer possono richiedere ulteriore lavoro di packaging.

Strumenti desktop e online

7-Zip, KDE Ark e GNOME Archive Manager sono adatti per visualizzare o estrarre file TAR.XZ, ma non convertono file di sorgenti arbitrari in un DEB valido e installabile. Usare dpkg-buildpackage per un progetto con metadati Debian e dpkg-deb o FPM per un package sottoposto deliberatamente a staging.

Un convertitore online non è appropriato per questa conversione. Un web service non può compilare in modo affidabile il codice sorgente, determinare le dipendenze runtime, preservare proprietari e permessi Unix o convalidare gli script di installazione. I convertitori online di archivi possono riconfezionare i byte, ma il risultato non è necessariamente un Debian package e il caricamento di sorgenti proprietari o non ancora rilasciati comporta un rischio di divulgazione.

Verificare la compatibilità prima dell’installazione

Esaminare il package generato prima di installarlo:

dpkg-deb --info program_1.0.0_amd64.deb
dpkg-deb --contents program_1.0.0_amd64.deb
lintian program_1.0.0_amd64.deb

Testarlo in una macchina virtuale Debian o Ubuntu usa e getta con la stessa release e architettura della destinazione:

sudo apt install ./program_1.0.0_amd64.deb

Un package creato da make install può omettere l’integrazione con il sistema, gli aggiornamenti, la logica di rimozione, le definizioni dei servizi, le voci di menu, i permessi e i percorsi specifici della distribuzione. La creazione a partire dal packaging Debian upstream o dal source package della distribuzione di destinazione produce generalmente metadati più accurati rispetto all’inserimento in un package di un albero di installazione TAR.XZ arbitrario.

Confronto formato: TAR.XZ vs DEB

Come i formati TAR.XZ e DEB si confrontano sulle proprietà più importanti per questa conversione.

Confronto dei formati TAR.XZ e DEB
Proprietà .TAR.XZ tar archive compressed with XZ .DEB Debian binary package
Compressione Entrambi Entrambi
Rapporto di compressione Molto alto Medio
Crittografia No No
Archivi suddivisi No No
Record di recupero No No
Supporto sistema operativo Ampio Ampio
Dimensione tipica del file Piccolo Piccolo
Standard aperto Sì Sì
Introdotto 2009 1995
Sviluppatore LZMA SDK / GNU tar ecosystem Debian Project
Tipo MIME application/x-xz application/vnd.debian.binary-package

Altre conversioni di file .tar.xz

Conversione inversa

Conversione in .deb
da altri formati

Condividi sui social media: