Lewati ke konten

Konversi PKG menjadi DEB

Kemas ulang konten PKG Solaris atau macOS sebagai DEB Debian dan periksa kompatibilitas Linux.

Konversi file PKG secara online

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

Ingin mengonversi PKG ke DEB?

Beri tahu kami. Kami memilih konversi berikutnya yang akan ditambahkan berdasarkan minat.

Bagaimana mengkonversi pkg ke deb berkas

Sistem Debian atau Ubuntu mengharapkan software dalam package .deb, sedangkan software yang diperoleh sebagai .pkg mungkin ditujukan untuk Solaris atau macOS. Mengganti nama extension tidak mengonversi package karena struktur archive, metadata, script, binary, dan persyaratan operating system berbeda.

Apa itu format PKG

PKG adalah extension yang digunakan oleh beberapa format package, bukan satu archive standard universal. Dalam konteks Archives, format yang relevan terutama adalah package Solaris SVR4 dan package macOS Installer.

Package Solaris berisi file aplikasi, metadata seperti pkginfo dan pkgmap, informasi dependency, permission, dan installation script. Tools Solaris mencakup pkgmk, pkgtrans, dan pkgadd. Package Solaris dapat berupa package berformat directory atau archive datastream.

Package macOS umumnya dibuat dengan productbuild. Isinya dapat mencakup distribution definition, component package, compressed payload, metadata property-list, dan installation script macOS. Payload dapat berisi executable Mach-O, framework, job launchd, dan file lain yang memerlukan macOS.

Identifikasi operating system sumber sebelum mencoba melakukan konversi. File .pkg adalah installation package, bukan indikasi bahwa program di dalamnya dapat berjalan di Linux.

Apa itu format DEB

DEB adalah native binary package format untuk Debian, Ubuntu, Linux Mint, dan distribution berbasis Debian lainnya. Secara internal, format ini adalah archive ar yang berisi control metadata dan data archive; member yang umum mencakup control.tar.* dan data.tar.*.

Tools Debian seperti dpkg dan APT menggunakan metadata untuk mencatat nama package, version, architecture, dependency, conflict, file ownership, dan maintainer script. Oleh karena itu, DEB berguna ketika destination system memerlukan Debian packaging atau ketika package harus di-install dari private Debian repository.

Cara mengonversi package Solaris PKG

Tidak ada automatic PKG-to-DEB converter yang umum. alien mengonversi format seperti RPM dan tidak membuat package Solaris atau macOS sembarang menjadi compatible dengan Debian. Package Solaris harus di-unpack dan di-repackage, dan binary-nya mungkin tetap perlu di-build ulang untuk Linux.

  1. Gunakan Solaris environment, atau environment yang berisi packaging utilities Solaris. Untuk package Solaris datastream, extract ke directory format dengan command seperti pkgtrans -x input.pkg /tmp/pkg-extracted. Pastikan syntax yang tepat melalui manual pkgtrans pada system yang ter-install karena source dan destination package type memengaruhi command tersebut.
  2. Periksa pkginfo, pkgmap, dependency file, dokumentasi, permission, serta request atau installation script. Perlakukan script sebagai code dan jangan menyalin script khusus Solaris ke Debian package tanpa perubahan.
  3. Siapkan staging directory dengan layout yang sesuai dengan filesystem location Linux yang dituju. Misalnya, letakkan executable di stage/usr/bin dan shared data di stage/usr/share/example. Hapus file khusus Solaris dan ganti executable yang incompatible dengan Linux build.
  4. Buat Debian control metadata di stage/DEBIAN/control. Contoh minimalnya adalah:
mkdir -p stage/DEBIAN
cat > stage/DEBIAN/control <<'EOF'
Package: example
Version: 1.0.0
Section: misc
Priority: optional
Architecture: amd64
Maintainer: Package Maintainer <maintainer@example.org>
Description: Example application repackaged for Debian
 Repackaged from a Solaris PKG archive.
EOF
  1. Build dan periksa package:
dpkg-deb --build stage example_1.0.0_amd64.deb
dpkg-deb --info example_1.0.0_amd64.deb
dpkg-deb --contents example_1.0.0_amd64.deb

Deklarasikan nama Debian dependency yang sebenarnya di field Depends, atur Architecture ke architecture binary Linux, dan pertahankan executable bits, ownership, serta configuration path yang diperlukan. Untuk package yang dikelola secara berkelanjutan, buat Debian source tree dengan debhelper dan build dengan dpkg-buildpackage, bukan mengandalkan directory DEBIAN yang dibuat secara manual. fpm dapat membuat DEB dari directory yang telah disiapkan dengan fpm -s dir -t deb, tetapi tidak menerjemahkan binary, dependency, atau installation semantics.

Cara menangani package macOS PKG

Di macOS, periksa flat package dengan xar -xf input.pkg atau expand dengan pkgutil. Periksa payload, component package, distribution metadata, dan script sebelum menyalin apa pun ke staging directory.

Executable macOS, framework, launch agent, atau system integration tidak dapat menjadi program Linux hanya dengan menempatkannya di dalam DEB archive. Repackage macOS PKG hanya jika package tersebut berisi payload yang compatible dengan Linux atau jika Anda memiliki source code untuk build versi Linux. Jika tidak, dapatkan Linux release dari vendor dan package-kan release tersebut.

Batasan compatibility dan testing

Repackaging mengubah container, bukan programnya. Binary Solaris bergantung pada interface Solaris, sedangkan binary macOS bergantung pada Darwin dan framework macOS. DEB dapat berhasil di-install sementara executable-nya langsung gagal atau tidak memiliki service dan library yang diperlukan.

Tinjau setiap maintainer script sebelum installation karena script dapat membuat user, mengaktifkan service, mengubah configuration, dan menulis di luar data path package. Uji hasilnya dalam disposable virtual machine atau container, misalnya dengan sudo apt install ./example_1.0.0_amd64.deb, lalu verifikasi execution, upgrade, removal, dependency, permission, dan service behavior.

Online service yang bereputasi umumnya tidak menyediakan automatic Solaris- atau macOS-PKG-to-DEB conversion yang dapat dipercaya. Meng-upload proprietary package dapat mengungkap binary dan installation script, sementara web converter tidak dapat mengatasi incompatibility operating system atau CPU architecture. Sebagai gantinya, gunakan local tools seperti pkgtrans, xar, pkgutil, dpkg-deb, debhelper, atau fpm.

PKG vs DEB: perbandingan format

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

Perbandingan format file PKG dan DEB
Properti .PKG macOS installer package .DEB Debian binary package
Kompresi Lossless Keduanya
Rasio kompresi — Sedang
Enkripsi Tidak Tidak
Arsip terpisah Tidak Tidak
Catatan pemulihan Tidak Tidak
Dukungan sistem operasi Terbatas Luas
Ukuran file umum Besar Kecil
Standar terbuka Tidak Ya
Diperkenalkan — 1995
Pengembang Apple Debian Project
Tipe MIME — application/vnd.debian.binary-package

Informasi tentang ekstensi dan jenis file disediakan oleh File-Extensions.org

Konversi berkas pkg lainnya

Konversi terbalik

Konversi ke deb
dari format lain

Bagikan di media sosial:

Sudah diunduh

File ini sudah diunduh. Demi privasi Anda, file langsung kami hapus dari server setelah diunduh, sehingga tidak bisa diunduh lagi. Jika Anda membutuhkannya sekali lagi, konversi ulang file tersebut.