Konwertuj TAR.XZ na DEB
Zbuduj pakiet Debiana ze źródeł TAR.XZ za pomocą narzędzi Debiana, stagingu, metadanych i kontroli zgodności.
Konwertuj pliki TAR.XZ online
Nie mamy jeszcze dedykowanego konwertera online dla TAR.XZ na DEB, ale pliki TAR.XZ możesz przekonwertować online na te formaty:
Chcesz przekonwertować TAR.XZ na DEB?
Daj nam znać. Kolejne konwersje do dodania wybieramy według zainteresowania.
Jak konwertować tar.xz do deb
- Archiwa
- Brak ocen.
System oparty na Debianie może wymagać instalatora .deb, gdy oprogramowanie jest dystrybuowane wyłącznie jako archiwum .tar.xz. Zwykle jest to zadanie związane z pakowaniem, a nie bezpośrednia konwersja formatu, ponieważ użyteczny pakiet DEB wymaga metadanych Debiana, ścieżek instalacji, zależności, a czasami także skryptów opiekuna.
Czym jest format TAR.XZ
.tar.xz łączy archiwum TAR z kompresją XZ. TAR przechowuje pliki i katalogi, a XZ kompresuje wynikowe archiwum. Projekty Linux i Unix często używają go do dystrybucji kodu źródłowego, dokumentacji, przykładów konfiguracji oraz sporadycznie gotowego oprogramowania.
GNU tar, narzędzia XZ, 7-Zip, KDE Ark i GNOME Archive Manager mogą je rozpakować. Przed wyborem metody kompilacji sprawdź zawartość archiwum:
tar -tJf program.tar.xztar -xJf program.tar.xz -C work
Archiwum źródłowe może zawierać istniejący katalog debian/ albo może być częścią pakietu źródłowego Debiana wraz z plikami takimi jak .dsc i debian.tar.xz. Może również zawierać gotowy plik .deb; w takim przypadku rozpakuj lub skopiuj ten pakiet zamiast tworzyć go ponownie.
Czym jest format DEB
DEB to binarny pakiet Debiana używany przez dpkg, apt, Ubuntu Software, KDE Discover i zgodne narzędzia. Wewnętrznie jest to archiwum zawierające archiwum control z metadanymi pakietu oraz archiwum data z plikami instalowanymi w systemie. Metadane mogą określać nazwę pakietu, wersję, architekturę, opis, zależności, sumy kontrolne, pliki konfiguracyjne i skrypty opiekuna.
Pakiety DEB zapewniają instalację za pomocą menedżera pakietów, obsługę zależności, śledzenie wersji, aktualizacje i usuwanie w Debianie, Ubuntu, Linux Mint oraz powiązanych dystrybucjach. Zasadniczo nie są wymienne z pakietami RPM dla Fedory ani z pakietami Arch Linux, a pakiet zbudowany dla jednej wersji dystrybucji może wymagać niezgodnych bibliotek w innej wersji.
Tworzenie DEB z istniejącego pakietowania Debiana
Jeśli rozpakowane źródła zawierają debian/control i debian/rules, użyj narzędzi do pakowania Debiana zamiast ręcznie tworzyć archiwum:
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 wymaga dostępnych repozytoriów źródłowych Debiana w konfiguracji APT. Wynikowy pakiet binarny jest zwykle umieszczany w katalogu nadrzędnym. Zainstaluj pakiet lokalny za pomocą:
sudo apt install ../program_version_arch.deb
Pozwala to APT rozwiązać dostępne zależności; samo dpkg -i nie rozwiązuje brakujących zależności. Jeśli archiwum jest kompletnym pakietem źródłowym Debiana, bardziej odpowiednie może być zbudowanie go z pliku .dsc za pomocą dpkg-source -x niż rozpakowanie wyłącznie pliku .tar.xz.
Pakowanie projektu bez metadanych Debiana
Konwencjonalny projekt źródłowy może używać poleceń innych niż ./configure i make; postępuj zgodnie z plikiem README, INSTALL lub dokumentacją kompilacji. W przypadku projektu obsługującego standardowe polecenia przygotuj instalację w katalogu tymczasowym zamiast zapisywać ją bezpośrednio w uruchomionym systemie:
tar -xJf program.tar.xz
cd program-version
./configure --prefix=/usr
make
rm -rf "$PWD/pkg"
make DESTDIR="$PWD/pkg" install
Utwórz plik control Debiana wewnątrz przygotowanego drzewa. Zastąp każdą przykładową wartość i użyj architektury zgłoszonej przez system docelowy:
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
Użyj dpkg --print-architecture, aby określić natywną architekturę. Ustaw Architecture: all wyłącznie dla treści niezależnych od architektury, takich jak skrypty lub dokumentacja; skompilowane programy wymagają architektury, dla której zostały zbudowane. Wymień jawnie wszystkie zależności dotyczące bibliotek i programów uruchomieniowych, ponieważ dpkg-deb nie potrafi niezawodnie wywnioskować ich z dowolnych plików binarnych.
FPM może automatyzować proste pakowanie katalogu do DEB po przygotowaniu plików:
fpm -s dir -t deb -n program -v 1.0.0 -a amd64 -C pkg usr
FPM nie określa automatycznie poprawnych zależności ani integracji z Debianem. Usługi, wpisy pulpitu, obsługa konfiguracji, wyzwalacze, pliki praw autorskich, tłumaczenia i skrypty opiekuna mogą wymagać dodatkowych prac związanych z pakowaniem.
Narzędzia desktopowe i internetowe
7-Zip, KDE Ark i GNOME Archive Manager nadają się do wyświetlania zawartości lub rozpakowywania plików TAR.XZ, ale nie konwertują dowolnych plików źródłowych na prawidłowy instalowalny DEB. Użyj dpkg-buildpackage w przypadku projektu z metadanymi Debiana oraz dpkg-deb lub FPM w przypadku celowo przygotowanego pakietu.
Konwerter online nie jest odpowiedni do tej konwersji. Usługa internetowa nie może niezawodnie skompilować kodu źródłowego, określić zależności uruchomieniowych, zachować właścicieli i uprawnień Unix ani zweryfikować skryptów instalacyjnych. Internetowe konwertery archiwów mogą ponownie spakować bajty, ale wynik nie musi być pakietem Debiana, a przesłanie zastrzeżonego lub nieopublikowanego kodu źródłowego stwarza ryzyko ujawnienia.
Sprawdzanie zgodności przed instalacją
Przed instalacją przejrzyj wygenerowany pakiet:
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
Przetestuj go na jednorazowej maszynie wirtualnej z Debianem lub Ubuntu, używającej tej samej wersji i architektury co system docelowy:
sudo apt install ./program_1.0.0_amd64.deb
Pakiet utworzony za pomocą make install może pomijać integrację z systemem, aktualizacje, logikę usuwania, definicje usług, wpisy menu, uprawnienia oraz ścieżki charakterystyczne dla danej dystrybucji. Budowanie na podstawie pakietowania Debiana dostarczonego przez projekt nadrzędny lub pakietu źródłowego dystrybucji docelowej zazwyczaj zapewnia dokładniejsze metadane niż opakowanie dowolnego drzewa instalacyjnego TAR.XZ.
Porównanie formatu TAR.XZ z DEB
Jak formaty TAR.XZ i DEB wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.
| Cecha | .TAR.XZ tar archive compressed with XZ | .DEB Debian binary package |
|---|---|---|
| Kompresja | Oba | Oba |
| Współczynnik kompresji | Bardzo wysoki | Średni |
| Szyfrowanie | Nie | Nie |
| Archiwa wieloczęściowe | Nie | Nie |
| Rekord odzyskiwania | Nie | Nie |
| Obsługa systemów operacyjnych | Szeroki | Szeroki |
| Typowy rozmiar pliku | Mały | Mały |
| Otwarty standard | Tak | Tak |
| Wprowadzono | 2009 | 1995 |
| Twórca | LZMA SDK / GNU tar ecosystem | Debian Project |
| Typ MIME | application/x-xz | application/vnd.debian.binary-package |