Konversi TAR.XZ menjadi DEB
Membangun paket Debian dari source TAR.XZ dengan Debian tools, staging, metadata, dan compatibility checks.
Konversi file TAR.XZ secara online
Kami belum punya konverter online khusus untuk TAR.XZ ke DEB, tetapi Anda bisa mengonversi file TAR.XZ secara online ke format berikut:
Ingin mengonversi TAR.XZ ke DEB?
Beri tahu kami. Kami memilih konversi berikutnya yang akan ditambahkan berdasarkan minat.
Bagaimana mengkonversi tar.xz ke deb berkas
- File terkompresi
- Belum ada peringkat.
Sistem berbasis Debian mungkin memerlukan installer .deb ketika software hanya didistribusikan sebagai arsip .tar.xz. Ini biasanya merupakan tugas packaging, bukan konversi format langsung, karena DEB yang dapat digunakan memerlukan metadata Debian, path instalasi, dependensi, dan terkadang maintainer scripts.
Apa itu format TAR.XZ
.tar.xz menggabungkan arsip TAR dengan kompresi XZ. TAR menyimpan file dan direktori; XZ mengompresi arsip yang dihasilkan. Proyek Linux dan Unix umumnya menggunakannya untuk source code, dokumentasi, contoh konfigurasi, dan terkadang software yang telah dikompilasi.
GNU tar, utilitas XZ, 7-Zip, KDE Ark, dan GNOME Archive Manager dapat mengekstraknya. Periksa arsip sebelum memilih metode build:
tar -tJf program.tar.xztar -xJf program.tar.xz -C work
Arsip source mungkin berisi direktori debian/ yang sudah ada, atau mungkin merupakan bagian dari Debian source package bersama file seperti .dsc dan debian.tar.xz. Arsip tersebut juga mungkin berisi .deb yang siap digunakan; dalam kasus itu, ekstrak atau salin package tersebut alih-alih melakukan build ulang.
Apa itu format DEB
DEB adalah Debian binary package yang digunakan oleh dpkg, apt, Ubuntu Software, KDE Discover, dan tools yang kompatibel. Secara internal, DEB merupakan arsip yang berisi control archive dengan metadata package dan data archive dengan file yang diinstal pada sistem. Metadata dapat menentukan nama package, versi, arsitektur, deskripsi, dependensi, checksum, file konfigurasi, dan maintainer scripts.
Package DEB menyediakan instalasi melalui package manager, penanganan dependensi, pelacakan versi, upgrade, dan penghapusan pada Debian, Ubuntu, Linux Mint, serta distribusi terkait. DEB umumnya tidak dapat dipertukarkan dengan RPM packages untuk Fedora atau Arch Linux packages, dan package yang dibuat untuk satu rilis distribusi mungkin memerlukan library yang tidak kompatibel pada rilis lain.
Build DEB dari Debian packaging yang sudah ada
Jika source yang diekstrak berisi debian/control dan debian/rules, gunakan packaging tools Debian alih-alih membuat arsip secara manual:
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 memerlukan source repositories Debian yang dapat digunakan dalam konfigurasi APT. Binary package yang dihasilkan biasanya ditempatkan di direktori induk. Instal local package dengan:
sudo apt install ../program_version_arch.deb
Ini memungkinkan APT menyelesaikan dependensi yang tersedia; dpkg -i saja tidak menyelesaikan dependensi yang hilang. Jika arsip tersebut merupakan Debian source package yang lengkap, melakukan build dari file .dsc dengan dpkg-source -x mungkin lebih sesuai daripada hanya mengekstrak .tar.xz.
Packaging project tanpa metadata Debian
Source project konvensional mungkin menggunakan command selain ./configure dan make; ikuti README, INSTALL, atau dokumentasi build-nya. Untuk project yang mendukung command konvensional, siapkan instalasinya ke dalam direktori sementara alih-alih menulis langsung ke sistem yang sedang berjalan:
tar -xJf program.tar.xz
cd program-version
./configure --prefix=/usr
make
rm -rf "$PWD/pkg"
make DESTDIR="$PWD/pkg" install
Buat file control Debian di dalam staged tree. Ganti setiap nilai contoh, dan gunakan arsitektur yang dilaporkan oleh sistem target:
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
Gunakan dpkg --print-architecture untuk mengidentifikasi arsitektur native. Tetapkan Architecture: all hanya untuk konten yang tidak bergantung pada arsitektur seperti scripts atau dokumentasi; program yang dikompilasi memerlukan arsitektur yang digunakan saat build. Cantumkan semua dependensi library dan program runtime secara eksplisit, karena dpkg-deb tidak dapat menyimpulkannya secara andal dari binary sembarang.
FPM dapat mengotomatiskan packaging direktori-ke-DEB sederhana setelah file disiapkan:
fpm -s dir -t deb -n program -v 1.0.0 -a amd64 -C pkg usr
FPM tidak secara otomatis menentukan dependensi yang benar atau integrasi Debian. Services, desktop entries, penanganan konfigurasi, triggers, copyright files, translations, dan maintainer scripts mungkin memerlukan pekerjaan packaging tambahan.
Tools desktop dan online
7-Zip, KDE Ark, dan GNOME Archive Manager sesuai untuk melihat atau mengekstrak file TAR.XZ, tetapi tidak mengonversi source files sembarang menjadi DEB yang valid dan dapat diinstal. Gunakan dpkg-buildpackage untuk project dengan metadata Debian dan dpkg-deb atau FPM untuk package yang sengaja disiapkan.
Online converter tidak sesuai untuk konversi ini. Web service tidak dapat secara andal mengompilasi source code, menentukan dependensi runtime, mempertahankan ownership dan permissions Unix, atau memvalidasi installation scripts. Online archive converters mungkin hanya mengemas ulang byte, tetapi hasilnya belum tentu merupakan Debian package dan mengunggah source proprietary atau yang belum dirilis menimbulkan risiko pengungkapan.
Periksa kompatibilitas sebelum instalasi
Tinjau package yang dihasilkan sebelum menginstalnya:
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
Uji package tersebut dalam virtual machine Debian atau Ubuntu yang disposable dengan rilis dan arsitektur yang sama seperti target:
sudo apt install ./program_1.0.0_amd64.deb
Package yang dibuat dari make install dapat menghilangkan integrasi sistem, upgrade, logika penghapusan, service definitions, menu entries, permissions, dan path khusus distribusi. Melakukan build dari upstream Debian packaging, atau dari source package distribusi target, umumnya menghasilkan metadata yang lebih akurat daripada membungkus installation tree TAR.XZ sembarang.
TAR.XZ vs DEB: perbandingan format
Bagaimana format TAR.XZ dan DEB dibandingkan pada properti yang paling penting untuk konversi ini.
| Properti | .TAR.XZ tar archive compressed with XZ | .DEB Debian binary package |
|---|---|---|
| Kompresi | Keduanya | Keduanya |
| Rasio kompresi | Sangat tinggi | Sedang |
| Enkripsi | Tidak | Tidak |
| Arsip terpisah | Tidak | Tidak |
| Catatan pemulihan | Tidak | Tidak |
| Dukungan sistem operasi | Luas | Luas |
| Ukuran file umum | Kecil | Kecil |
| Standar terbuka | Ya | Ya |
| Diperkenalkan | 2009 | 1995 |
| Pengembang | LZMA SDK / GNU tar ecosystem | Debian Project |
| Tipe MIME | application/x-xz | application/vnd.debian.binary-package |
Informasi tentang ekstensi dan jenis file disediakan oleh File-Extensions.org