Konversi zip ke deb

Konversi ZIP menjadi DEB

Ubah software ZIP yang kompatibel menjadi Debian package yang valid dengan metadata, paths, permissions, dan checks.

Konversi file ZIP secara online

Kami belum punya konverter online khusus untuk ZIP ke DEB, tetapi Anda bisa mengonversi file ZIP secara online ke format berikut:

Bagaimana mengkonversi zip ke deb berkas

Sistem berbasis Debian mungkin memerlukan paket .deb agar software dapat diinstal, ditingkatkan versinya, dan dihapus melalui APT dan dpkg. Arsip ZIP harus dibongkar dan disusun dengan metadata paket Debian; mengganti nama .zip menjadi .deb tidak akan membuat paket yang dapat diinstal.

Apa itu ZIP

ZIP adalah format arsip serbaguna yang digunakan oleh Windows Explorer, macOS Archive Utility, 7-Zip, rilis GitHub, sistem build, dan vendor software. ZIP mengelompokkan file dan dapat mengompresnya, tetapi tidak menentukan jalur instalasi Linux, dependensi paket, arsitektur CPU, kepemilikan, permission, atau perilaku uninstall.

ZIP dapat berisi source code, aset portabel, software Windows, binary Linux, atau paket Debian yang sudah ada. Periksa isinya sebelum mencoba mengemasnya:

unzip -l release.zip

Jika arsip sudah berisi file .deb, ekstrak dan gunakan paket tersebut daripada membuatnya ulang:

unzip release.zip '*.deb'

Apa itu DEB

DEB adalah format paket binary yang digunakan oleh Debian, Ubuntu, Linux Mint, dan distribusi terkait. DEB adalah arsip ar yang berisi marker debian-binary, control archive dengan metadata paket, dan data archive dengan file yang akan diinstal.

Metadata control-nya mengidentifikasi nama paket, versi, arsitektur, maintainer, dependensi, dan deskripsi. Data archive biasanya menginstal executable di bawah /usr/bin, file program bersama di bawah /usr/lib atau /usr/share, dan konfigurasi di bawah /etc.

Paket yang dibuat dengan benar dapat diinstal dengan apt install ./package.deb. APT dapat memperoleh dependensi yang dideklarasikan dari repository yang dikonfigurasi, sedangkan dpkg mencatat file yang diinstal agar nantinya dapat dihapus dengan bersih.

Membuat DEB dari isi ZIP yang sesuai

Hanya kemas software yang sudah kompatibel dengan rilis Debian dan CPU target. Tool desktop dan command-line standar adalah dpkg-deb, yang disediakan oleh instalasi dpkg normal. Tool ini membuat paket yang valid, tetapi tidak menebak dependensi atau lokasi file.

Instal tool ekstraksi dan pemeriksaan paket opsional:

sudo apt update && sudo apt install unzip lintian

Buat direktori ekstraksi dan staging paket secara terpisah, lalu periksa file yang diekstrak:

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

Salin file ke direktori staging menggunakan jalur instalasi yang dimaksudkan. Untuk executable native bernama myapp, instal sebagai berikut:

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

Tempatkan data khusus aplikasi di bawah jalur seperti pkg/usr/share/myapp atau pkg/usr/lib/myapp. Jangan menyalin direktori tingkat teratas arsip secara sembarangan ke /, menimpa file yang disediakan paket lain, atau menginstal file sembarang secara langsung di bawah /usr.

Buat pkg/DEBIAN/control dengan metadata yang valid:

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.

Nama paket harus menggunakan huruf kecil dan dapat berisi huruf, angka, +, -, dan .. Gunakan Architecture: all hanya untuk script, dokumentasi, tema, atau data yang tidak bergantung pada arsitektur; gunakan nilai seperti amd64 atau arm64 untuk binary dan library native. Deklarasikan hanya dependensi yang telah diverifikasi: ldd dapat menampilkan nama shared library yang diperlukan, tetapi tidak dapat secara andal mengidentifikasi paket Debian atau versi minimum yang menyediakannya.

Buat paket dengan kepemilikan root yang dicatat di dalam arsipnya:

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

Periksa dan validasi hasilnya sebelum didistribusikan:

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

Uji di virtual machine, container, atau sistem pengujian yang dapat dibuang:

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

Kompatibilitas dan batasan packaging

Wrapper DEB tidak membuat software yang tidak kompatibel dapat berjalan di Linux. File .exe Windows, aplikasi macOS, paket Android, dan binary yang dibuat untuk CPU lain memerlukan runtime, port, atau build ulang yang kompatibel; menempatkannya di dalam DEB hanya mengubah cara distribusinya.

Arsip ZIP sering kali tidak mempertahankan permission executable Unix. Gunakan mode 0755 untuk program dan script executable; file biasa dan library biasanya menggunakan 0644. Pastikan file yang diinstal tidak bergantung pada relative path dari direktori ZIP asli.

Jika paket menginstal konfigurasi yang dapat diedit di /etc, cantumkan file tersebut di DEBIAN/conffiles agar upgrade paket mempertahankan perubahan lokal. Tambahkan maintainer script hanya jika diperlukan; script berjalan dengan privilege yang ditingkatkan selama instalasi dan penghapusan.

DEB pada dasarnya tidak lebih kecil daripada ZIP. Kedua format dapat mengompres data, sementara DEB juga menyertakan metadata paket dan mungkin menggunakan pengaturan kompresi yang berbeda.

Tidak ada online converter bereputasi baik yang dapat menentukan lokasi file, permission, dependensi, arsitektur, dan installation script yang benar dengan aman dari isi ZIP sembarang. Hindari mengunggah source code atau executable proprietary ke situs conversion; lakukan build secara lokal dengan dpkg-deb. Untuk software yang didistribusikan sebagai source code, gunakan file Debian packaging-nya atau workflow Debian source-package yang tepat, bukan mengemas ulang release ZIP.

ZIP vs DEB: perbandingan format

Bagaimana format ZIP dan DEB dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file ZIP dan DEB
Properti .ZIP ZIP archive .DEB Debian binary package
Kompresi Keduanya Keduanya
Rasio kompresi Sedang Sedang
Enkripsi Ya Tidak
Arsip terpisah Ya Tidak
Catatan pemulihan Tidak Tidak
Dukungan sistem operasi Luas Luas
Ukuran file umum Sedang Kecil
Standar terbuka Ya Ya
Diperkenalkan 1989 1995
Pengembang Phil Katz / PKWARE Debian Project
Tipe MIME application/zip application/vnd.debian.binary-package