Konwertuj zip do deb

Konwertuj ZIP na DEB

Przekształć oprogramowanie zgodne z ZIP w prawidłowy pakiet Debian z metadanymi, ścieżkami, uprawnieniami i kontrolami.

Konwertuj pliki ZIP online

Nie mamy jeszcze dedykowanego konwertera online dla ZIP na DEB, ale pliki ZIP możesz przekonwertować online na te formaty:

Jak konwertować zip do deb

System oparty na Debianie może wymagać pakietu .deb, aby oprogramowanie można było instalować, aktualizować i usuwać za pomocą APT oraz dpkg. Archiwum ZIP trzeba rozpakować i złożyć z metadanymi pakietu Debiana; zmiana nazwy .zip na .deb nie tworzy pakietu, który można zainstalować.

Czym jest ZIP

ZIP to uniwersalny format archiwum używany przez Eksplorator Windows, macOS Archive Utility, 7-Zip, wydania GitHub, systemy kompilacji i dostawców oprogramowania. Grupuje pliki i może je kompresować, ale nie definiuje ścieżek instalacji systemu Linux, zależności pakietów, architektury CPU, właściciela, uprawnień ani sposobu odinstalowywania.

Archiwum ZIP może zawierać kod źródłowy, przenośne zasoby, oprogramowanie Windows, pliki binarne systemu Linux lub istniejący pakiet Debiana. Przed próbą utworzenia pakietu sprawdź jego zawartość:

unzip -l release.zip

Jeśli archiwum zawiera już plik .deb, wypakuj i użyj tego pakietu zamiast tworzyć go ponownie:

unzip release.zip '*.deb'

Czym jest DEB

DEB to format pakietów binarnych używany przez Debian, Ubuntu, Linux Mint i powiązane dystrybucje. DEB jest archiwum ar zawierającym znacznik debian-binary, archiwum control z metadanymi pakietu oraz archiwum data z plikami do zainstalowania.

Metadane control identyfikują nazwę pakietu, wersję, architekturę, opiekuna, zależności i opis. Archiwum data zwykle instaluje pliki wykonywalne w /usr/bin, współdzielone pliki programu w /usr/lib lub /usr/share, a konfigurację w /etc.

Prawidłowo zbudowany pakiet można zainstalować za pomocą apt install ./package.deb. APT może pobierać zadeklarowane zależności ze skonfigurowanych repozytoriów, natomiast dpkg rejestruje zainstalowane pliki, aby można je było później poprawnie usunąć.

Tworzenie DEB z odpowiedniej zawartości ZIP

Pakuj wyłącznie oprogramowanie, które jest już zgodne z docelowym wydaniem Debiana i CPU. Standardowym narzędziem graficznym i wiersza poleceń jest dpkg-deb, dostarczane w ramach zwykłej instalacji dpkg. Tworzy ono prawidłowy pakiet, ale nie odgaduje zależności ani miejsca, w którym powinny znajdować się pliki.

Zainstaluj narzędzia do wypakowywania i opcjonalnego sprawdzania pakietów:

sudo apt update && sudo apt install unzip lintian

Utwórz osobne katalogi do wypakowywania i umieszczania plików pakietu, a następnie przejrzyj wypakowane pliki:

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

Skopiuj pliki do katalogu tymczasowego, używając docelowych ścieżek instalacji. Natywny plik wykonywalny o nazwie myapp zainstaluj w następujący sposób:

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

Umieść dane specyficzne dla aplikacji w ścieżkach takich jak pkg/usr/share/myapp lub pkg/usr/lib/myapp. Nie kopiuj bez sprawdzenia katalogu najwyższego poziomu archiwum bezpośrednio do /, nie zastępuj plików dostarczanych przez inny pakiet ani nie instaluj dowolnych plików bezpośrednio w /usr.

Utwórz plik pkg/DEBIAN/control z prawidłowymi metadanymi:

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.

Nazwy pakietów muszą być zapisane małymi literami i mogą zawierać litery, cyfry, +, - oraz .. Używaj Architecture: all wyłącznie w przypadku niezależnych od architektury skryptów, dokumentacji, motywów lub danych; dla natywnych plików binarnych i bibliotek używaj wartości takich jak amd64 lub arm64. Deklaruj wyłącznie sprawdzone zależności: ldd może ujawnić wymagane nazwy bibliotek współdzielonych, ale nie identyfikuje niezawodnie pakietów Debiana ani minimalnych wersji, które je dostarczają.

Zbuduj pakiet z zapisanym właścicielem root w jego archiwum:

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

Sprawdź i zweryfikuj wynik przed dystrybucją:

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

Przetestuj go na jednorazowej maszynie wirtualnej, w kontenerze lub systemie testowym:

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

Zgodność i ograniczenia pakowania

Opakowanie niezgodnego oprogramowania w DEB nie sprawi, że będzie ono działać w systemie Linux. Pliki Windows .exe, aplikacje macOS, pakiety Androida i pliki binarne zbudowane dla innego CPU wymagają zgodnego środowiska uruchomieniowego, portu lub ponownej kompilacji; umieszczenie ich w DEB zmienia jedynie sposób dostarczania.

Archiwa ZIP często nie zachowują uprawnień wykonywania systemu Unix. Dla programów wykonywalnych i skryptów używaj trybu 0755; zwykłe pliki i biblioteki zwykle używają trybu 0644. Sprawdź, czy zainstalowane pliki nie zależą od ścieżek względnych względem oryginalnego katalogu ZIP.

Jeśli pakiet instaluje edytowalne pliki konfiguracyjne w /etc, wyszczególnij te pliki w DEBIAN/conffiles, aby aktualizacje pakietu zachowywały lokalne zmiany. Dodawaj skrypty opiekuna tylko wtedy, gdy jest to konieczne; skrypty są uruchamiane z podwyższonymi uprawnieniami podczas instalacji i usuwania.

DEB nie jest z natury mniejszy niż ZIP. Oba formaty mogą kompresować dane, natomiast DEB zawiera również metadane pakietu i może używać innych ustawień kompresji.

Żaden renomowany konwerter online nie jest w stanie bezpiecznie określić prawidłowych lokalizacji plików, uprawnień, zależności, architektury i skryptów instalacyjnych na podstawie dowolnej zawartości ZIP. Unikaj przesyłania zastrzeżonego kodu źródłowego lub plików wykonywalnych do serwisów konwertujących; buduj lokalnie za pomocą dpkg-deb. W przypadku oprogramowania rozpowszechnianego jako kod źródłowy użyj plików pakowania Debiana lub właściwego procesu tworzenia pakietu źródłowego Debiana zamiast ponownie pakować wydanie ZIP.

Porównanie formatu ZIP z DEB

Jak formaty ZIP i DEB wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików ZIP i DEB
Cecha .ZIP ZIP archive .DEB Debian binary package
Kompresja Oba Oba
Współczynnik kompresji Średni Średni
Szyfrowanie Tak Nie
Archiwa wieloczęściowe Tak Nie
Rekord odzyskiwania Nie Nie
Obsługa systemów operacyjnych Szeroki Szeroki
Typowy rozmiar pliku Średni Mały
Otwarty standard Tak Tak
Wprowadzono 1989 1995
Twórca Phil Katz / PKWARE Debian Project
Typ MIME application/zip application/vnd.debian.binary-package