Přeskočit na obsah

Převod souboru TAR.XZ do DEB

Sestavte Debian package ze zdrojového archivu TAR.XZ pomocí Debian tools, stagingu, metadat a kontrol kompatibility.

Převádějte soubory TAR.XZ online

Pro převod TAR.XZ do DEB zatím vlastní online konvertor nemáme, ale soubory TAR.XZ můžete online převést do těchto formátů:

Chcete převádět TAR.XZ na DEB?

Dejte nám vědět. Podle zájmu vybíráme, které převody přidáme jako další.

Jak převést soubor tar.xz do formátu deb

Systém založený na Debianu může vyžadovat instalační balíček .deb, pokud je software distribuován pouze jako archiv .tar.xz. Obvykle jde o úlohu zabalení, nikoli o přímou konverzi formátu, protože použitelný DEB potřebuje metadata Debianu, instalační cesty, závislosti a někdy také skripty správce balíčku.

Co je formát TAR.XZ

.tar.xz kombinuje archiv TAR s kompresí XZ. TAR ukládá soubory a adresáře; XZ komprimuje výsledný archiv. Projekty pro Linux a Unix jej běžně používají pro zdrojový kód, dokumentaci, příklady konfigurace a příležitostně předpřipravený software.

GNU tar, nástroje XZ, 7-Zip, KDE Ark a GNOME Archive Manager jej dokážou rozbalit. Před volbou způsobu sestavení archiv zkontrolujte:

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

Zdrojový archiv může obsahovat existující adresář debian/ nebo může být součástí zdrojového balíčku Debianu spolu se soubory jako .dsc a debian.tar.xz. Může také obsahovat hotový .deb; v takovém případě tento balíček rozbalte nebo zkopírujte namísto jeho opětovného sestavení.

Co je formát DEB

DEB je binární balíček Debianu, který používají dpkg, apt, Ubuntu Software, KDE Discover a kompatibilní nástroje. Interně jde o archiv obsahující řídicí archiv s metadaty balíčku a datový archiv se soubory instalovanými v systému. Metadata mohou určovat název balíčku, verzi, architekturu, popis, závislosti, kontrolní součty, konfigurační soubory a skripty správce balíčku.

Balíčky DEB poskytují instalaci pomocí správce balíčků, správu závislostí, sledování verzí, aktualizace a odstraňování v systémech Debian, Ubuntu, Linux Mint a souvisejících distribucích. Obecně je nelze zaměňovat s balíčky RPM pro Fedora ani s balíčky Arch Linuxu a balíček sestavený pro jednu verzi distribuce může na jiné vyžadovat nekompatibilní knihovny.

Sestavení DEB z existujícího balíčkování Debianu

Pokud rozbalený zdrojový kód obsahuje debian/control a debian/rules, použijte nástroje pro balíčkování Debianu namísto ručního vytváření archivu:

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 vyžaduje použitelné zdrojové repozitáře Debianu v konfiguraci APT. Výsledný binární balíček se obvykle umístí do nadřazeného adresáře. Lokální balíček nainstalujete pomocí:

sudo apt install ../program_version_arch.deb

APT tak může vyřešit dostupné závislosti; samotný příkaz dpkg -i chybějící závislosti neřeší. Pokud je archiv úplným zdrojovým balíčkem Debianu, může být vhodnější sestavení z jeho souboru .dsc pomocí dpkg-source -x než rozbalení pouze souboru .tar.xz.

Zabalení projektu bez metadat Debianu

Konvenční zdrojový projekt může používat jiné příkazy než ./configure a make; postupujte podle jeho souboru README, INSTALL nebo dokumentace k sestavení. U projektu, který podporuje konvenční příkazy, připravte instalaci do dočasného adresáře namísto přímého zápisu do běžícího systému:

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

Ve stromu připraveném k instalaci vytvořte řídicí soubor Debianu. Nahraďte každou ukázkovou hodnotu a použijte architekturu uvedenou cílovým systémem:

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

Pomocí dpkg --print-architecture zjistíte nativní architekturu. Architecture: all nastavte pouze pro obsah nezávislý na architektuře, například skripty nebo dokumentaci; kompilované programy potřebují architekturu, pro kterou byly sestaveny. Výslovně uveďte všechny závislosti na běhových knihovnách a programech, protože dpkg-deb je nedokáže spolehlivě odvodit z libovolných binárních souborů.

FPM může po přípravě souborů automatizovat jednoduché balíčkování adresáře do DEB:

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

FPM automaticky neurčuje správné závislosti ani integraci s Debianem. Služby, položky plochy, zpracování konfigurace, spouštěče, soubory s autorskými právy, překlady a skripty správce balíčku mohou vyžadovat další práci na balíčkování.

Desktopové a online nástroje

7-Zip, KDE Ark a GNOME Archive Manager jsou vhodné k prohlížení nebo rozbalování souborů TAR.XZ, ale nedokážou převést libovolné zdrojové soubory na platný instalovatelný DEB. Pro projekt s metadaty Debianu použijte dpkg-buildpackage a pro záměrně připravený balíček dpkg-deb nebo FPM.

Online převodník není pro tuto konverzi vhodný. Webová služba nedokáže spolehlivě zkompilovat zdrojový kód, určit běhové závislosti, zachovat vlastnictví a oprávnění Unixu ani ověřit instalační skripty. Online převodníky archivů mohou znovu zabalit bajty, ale výsledkem nemusí být balíček Debianu a nahrání proprietárního nebo dosud nevydaného zdrojového kódu představuje riziko úniku informací.

Kontrola kompatibility před instalací

Vygenerovaný balíček před instalací zkontrolujte:

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

Otestujte jej v dočasném virtuálním počítači s Debianem nebo Ubuntu, který používá stejnou verzi a architekturu jako cílový systém:

sudo apt install ./program_1.0.0_amd64.deb

Balíček vytvořený pomocí make install může postrádat integraci se systémem, aktualizace, logiku odstraňování, definice služeb, položky nabídek, oprávnění a cesty specifické pro danou distribuci. Sestavení z upstreamového balíčkování Debianu nebo ze zdrojového balíčku cílové distribuce obecně poskytuje přesnější metadata než zabalení libovolného instalačního stromu TAR.XZ.

TAR.XZ vs DEB: srovnání formátů

Jak si formáty TAR.XZ a DEB stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů TAR.XZ a DEB
Vlastnost .TAR.XZ tar archive compressed with XZ .DEB Debian binary package
Komprese Obojí Obojí
Poměr komprese Velmi vysoký Střední
Šifrování Ne Ne
Rozdělené archivy Ne Ne
Obnovovací záznam Ne Ne
Podpora operačního systému Široká Široká
Typická velikost souboru Malé Malé
Otevřený standard Ano Ano
Zavedeno 2009 1995
Vývojář LZMA SDK / GNU tar ecosystem Debian Project
MIME typ application/x-xz application/vnd.debian.binary-package

Informace o příponách a typech souborů poskytuje File-Extensions.org

Často kladené otázky

Lze převést soubor TAR.XZ přímo na DEB?

Ne, pouhé opětovné zabalení nestačí; DEB je potřeba vytvořit z připravených souborů a metadat balíčku. Obsah TAR.XZ je nutné uspořádat pro instalaci a balíček musí obsahovat údaje, jako jsou název, verze, architektura a závislosti.

Zachová DEB původní soubory a strukturu složek archivu TAR.XZ?

Ne nutně; DEB obsahuje soubory vybrané a uspořádané pro instalaci, nikoli automaticky kopii původního archivu. Zdrojové soubory nebo dokumentace mohou být vynechány a cesty se mohou lišit od struktury složek archivu.

Proč se nedaří vytvořit DEB z TAR.XZ?

Častou příčinou jsou chybějící nebo neúplná metadata balíčku Debian, například povinné informace control. Vytváření může také selhat, pokud jsou soubory připravené ve špatných umístěních nebo deklarovaná architektura a závislosti neodpovídají obsahu.

Bude DEB fungovat na každém systému založeném na Debianu?

Ne; kompatibilita závisí na architektuře balíčku, závislostech a distribuci a verzi cílového systému. Samotný původní archiv TAR.XZ neurčuje, na kterých systémech lze výsledný balíček nainstalovat.

Podobné .tar.xz konverze

Reverzní konverze

Konverze do .deb
z jiných formátů

Sdílejte na sociálních sítích:

Soubor už byl stažen

Tento soubor už byl stažen. Kvůli ochraně soukromí jsme ho hned po stažení smazali ze serveru, takže ho nejde stáhnout znovu. Pokud ho potřebujete ještě jednou, převeďte soubor znovu.