Konverze zip do deb

Převod souboru ZIP do DEB

Převeďte kompatibilní ZIP software na platný Debian package s metadaty, cestami, oprávněními a kontrolami.

Převádějte soubory ZIP online

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

Jak převést soubor zip do formátu deb

Systém založený na Debianu může potřebovat balíček .deb, aby bylo možné software instalovat, aktualizovat a odstraňovat prostřednictvím APT a dpkg. Archiv ZIP je nutné rozbalit a sestavit s metadaty balíčku Debian; přejmenování .zip na .deb nevytvoří instalovatelný balíček.

Co je ZIP

ZIP je univerzální formát archivu používaný aplikacemi Windows Explorer, macOS Archive Utility, 7-Zip, vydáními na GitHubu, build systémy a dodavateli softwaru. Sdružuje soubory a může je komprimovat, ale nedefinuje instalační cesty Linuxu, závislosti balíčku, architekturu CPU, vlastníka, oprávnění ani chování při odinstalaci.

ZIP může obsahovat zdrojový kód, přenositelné prostředky, software pro Windows, binární soubory Linuxu nebo existující balíček Debian. Před pokusem o vytvoření balíčku zkontrolujte jeho obsah:

unzip -l release.zip

Pokud archiv již obsahuje soubor .deb, rozbalte a použijte tento balíček místo jeho opětovného sestavování:

unzip release.zip '*.deb'

Co je DEB

DEB je formát binárních balíčků používaný distribucemi Debian, Ubuntu, Linux Mint a souvisejícími distribucemi. DEB je archiv ar obsahující značku debian-binary, řídicí archiv s metadaty balíčku a datový archiv se soubory určenými k instalaci.

Jeho řídicí metadata určují název balíčku, verzi, architekturu, správce, závislosti a popis. Datový archiv obvykle instaluje spustitelné soubory do /usr/bin, sdílené programové soubory do /usr/lib nebo /usr/share a konfiguraci do /etc.

Správně sestavený balíček lze nainstalovat pomocí apt install ./package.deb. APT může získat deklarované závislosti z nakonfigurovaných repozitářů, zatímco dpkg zaznamenává nainstalované soubory, aby je bylo možné později čistě odstranit.

Vytvoření DEB z vhodného obsahu ZIP

Balíčkujte pouze software, který je již kompatibilní s cílovou verzí Debianu a CPU. Standardním desktopovým a nástrojovým programem příkazového řádku je dpkg-deb, který je součástí běžné instalace dpkg. Vytváří platný balíček, ale neodhadne závislosti ani to, kam soubory patří.

Nainstalujte nástroje pro rozbalování a volitelnou kontrolu balíčků:

sudo apt update && sudo apt install unzip lintian

Vytvořte samostatné adresáře pro rozbalování a přípravu balíčku a poté zkontrolujte rozbalené soubory:

rm -rf work pkg
mkdir -p work pkg/DEBIAN
unzip release.zip -d work
find work -maxdepth 3 -type f

Zkopírujte soubory do přípravného adresáře pomocí jejich zamýšlených instalačních cest. Nativní spustitelný soubor s názvem myapp nainstalujte takto:

install -Dm755 work/myapp pkg/usr/bin/myapp

Data specifická pro aplikaci umístěte do cest, jako jsou pkg/usr/share/myapp nebo pkg/usr/lib/myapp. Nekopírujte bez rozmyslu adresář nejvyšší úrovně archivu přímo do /, nepřepisujte soubory dodávané jiným balíčkem a neinstalujte libovolné soubory přímo pod /usr.

Vytvořte soubor pkg/DEBIAN/control s platnými metadaty:

Package: myapp
Version: 1.0.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: Example Maintainer <maintainer@example.com>
Depends: libc6 (>= 2.34)
Description: Command-line application
A longer package description.

Názvy balíčků musí být psány malými písmeny a mohou obsahovat písmena, číslice, +, - a .. Architecture: all použijte pouze pro skripty nezávislé na architektuře, dokumentaci, motivy nebo data; pro nativní binární soubory a knihovny použijte hodnoty jako amd64 nebo arm64. Deklarujte pouze ověřené závislosti: ldd může odhalit názvy požadovaných sdílených knihoven, ale nedokáže spolehlivě určit balíčky Debianu ani minimální verze, které je poskytují.

Sestavte balíček tak, aby byl v jeho archivu zaznamenán vlastník root:

dpkg-deb --build --root-owner-group pkg myapp_1.0.0_amd64.deb

Před distribucí výsledek zkontrolujte a ověřte:

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

Otestujte jej v jednorázovém virtuálním počítači, kontejneru nebo testovacím systému:

sudo apt install ./myapp_1.0.0_amd64.deb
myapp
sudo apt remove myapp

Omezení kompatibility a balíčkování

Obal DEB nezpůsobí, že nekompatibilní software poběží v Linuxu. Soubory Windows .exe, aplikace macOS, balíčky Androidu a binární soubory vytvořené pro jiný CPU vyžadují kompatibilní runtime, port nebo nové sestavení; jejich umístění do DEB pouze mění způsob distribuce.

Archivy ZIP často nezachovávají oprávnění Unixu pro spouštění. Pro spustitelné programy a skripty použijte režim 0755; běžné soubory a knihovny obvykle používají 0644. Zkontrolujte, zda nainstalované soubory nejsou závislé na relativních cestách z původního adresáře ZIP.

Pokud balíček instaluje upravitelnou konfiguraci do /etc, uveďte tyto soubory v DEBIAN/conffiles, aby aktualizace balíčku zachovaly místní změny. Skripty správce přidávejte pouze v nezbytných případech; skripty se během instalace a odstraňování spouštějí s rozšířenými oprávněními.

DEB není ze své podstaty menší než ZIP. Oba formáty mohou komprimovat data, přičemž DEB navíc obsahuje metadata balíčku a může používat jiná nastavení komprese.

Žádný renomovaný online převaděč nedokáže z libovolného obsahu ZIP bezpečně určit správná umístění souborů, oprávnění, závislosti, architekturu a instalační skripty. Vyhněte se nahrávání proprietárního zdrojového kódu nebo spustitelných souborů na weby pro převod; sestavujte lokálně pomocí dpkg-deb. U softwaru distribuovaného jako zdrojový kód použijte jeho soubory pro balíčkování Debianu nebo řádný postup pro zdrojové balíčky Debianu namísto opětovného zabalení vydaného ZIPu.

ZIP vs DEB: srovnání formátů

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

Srovnání souborových formátů ZIP a DEB
Vlastnost .ZIP ZIP archive .DEB Debian binary package
Komprese Obojí Obojí
Poměr komprese Střední Střední
Šifrování Ano Ne
Rozdělené archivy Ano Ne
Obnovovací záznam Ne Ne
Podpora operačního systému Široká Široká
Typická velikost souboru Střední Malé
Otevřený standard Ano Ano
Zavedeno 1989 1995
Vývojář Phil Katz / PKWARE Debian Project
MIME typ application/zip application/vnd.debian.binary-package