Perbedaan antara file .deb dan file .run


10

Apa perbedaan antara membuat file .deb dan menginstalnya dan hanya menjalankan file .run ?


1
Apakah Anda memiliki contoh-contoh tertentu dalam pikiran?
slm

Jawaban:


8

.debfile adalah paket untuk dpkg , manajer paket Debian tingkat rendah (yang dipanggil di bawah tenda oleh APT dan kerabatnya). Sebuah .debfile adalah paket untuk Debian atau untuk seperti turunan Ubuntu atau Mint.

Paket Debian berisi file yang termasuk dalam paket serta "file kontrol" yang menjelaskan dependensi paket dan meta-informasi lainnya, dan skrip instalasi yang dieksekusi ketika paket diinstal, ditingkatkan atau dihapus.

Anda dapat melihat konten .debfile dengan dpkg -cdan dpkg -I. Jika tidak dpkg, Anda dapat menggunakan ar t foo.debuntuk membuat daftar bagian-bagian .debfile dan ar x foo.deb control.tar.gzuntuk mengekstraksi control.tar.gzbagian (dan juga untuk bagian lain).

Red Hat (dan kerabatnya seperti CentOS dan Fedora), SuSE dan lainnya menggunakan rpm , format yang berbeda dengan karakteristik yang sama. Ada yang lain di sistem unix lainnya.

.runbukan ekstensi standar. Suatu .runfile mungkin adalah sesuatu yang dapat Anda jalankan. Ini dapat menginstal program atau melakukan sesuatu yang sama sekali berbeda.


8

Secara umum file .deb mirip dengan file zip, yang berisi file bersama dengan skrip pendek yang dapat menjalankan instalasi posting untuk menambahkan pengguna, grup, dll ke sistem setelah instalasi.

File .run biasanya berupa satu biner yang dapat dieksekusi atau skrip shell yang berisi gumpalan biner yang dapat diinstal. Jika itu adalah variasi skrip shell, sering kali akan berisi gumpalan biner yang seringkali identik dengan file zip rekursif atau file tar. Dengan kata lain itu akan mengandung struktur direktori file.

Di lain waktu, jenis file .run ini hanya akan berisi file .deb atau .rpm yang akan dibuang ke disk, dan dapat diinstal secara terpisah, atau skrip yang berisinya, akan membuangnya ke disk, dan kemudian mencoba untuk menginstalnya menggunakan perangkat lunak manajer paket sistem Anda.

Contohnya adalah jika Anda mengunduh Java JDK dari Oracle. Ini biasanya file executable tunggal yang ketika dijalankan akan membuang .deb atau .rpm file ke disk, dan kemudian menginstalnya menggunakan the package management tools: dpkg, apt, yum, atau rpm.

Contoh

Berikut ini contoh tampilan unduhan / instalasi dengan salah satu file .run ini. Ekstensinya adalah .bin, tetapi ini hanya kosmetik, ekstensi ini benar-benar tidak ada relevansinya selain untuk membantu pengguna membedakan antara berbagai jenis file.

$ wget http://www.java.net/download/jdk7/archive/b125/binaries/jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin
$ ./jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin

Di sini file di atas akan membuang paket untuk berbagai komponen yang membentuk JDK, setelah itu Anda dapat menginstal semuanya atau hanya yang Anda butuhkan.

Melakukannya dengan cara ini memungkinkan hal-hal tambahan dapat dilakukan di luar hanya menginstal paket. Misalnya Oracle memiliki perjanjian lisensi yang mereka ingin Anda terima:

10.5 Perjanjian ini adalah seluruh perjanjian para pihak yang berkaitan dengan pokok bahasannya. Ini menggantikan semua komunikasi lisan atau tertulis, proposal, ketentuan, representasi dan jaminan sebelumnya atau kontemporer sebelum dan sezaman serta menang atas setiap pertentangan, atau kebijakan tambahan dari setiap kutipan, pesanan, pengakuan, atau komunikasi lain antara pihak-pihak yang berkaitan dengan materi pelajarannya, termasuk semua Bi Lisensi Kode, Ketentuan Tambahan, atau lisensi lain yang terkandung dalam Perangkat Lunak Berlisensi. Tidak ada modifikasi pada Perjanjian ini yang mengikat, kecuali secara tertulis dan ditandatangani oleh perwakilan resmi dari masing-masing pihak.

Apakah Anda menyetujui ketentuan lisensi di atas? [ya atau tidak]

Dengan penginstal di atas, Anda dapat melihat bahwa itu hanya berisi gumpalan biner dari direktori file:

Extracting...
UnZipSFX 5.52 of 28 February 2005, by Info-ZIP (http://www.info-zip.org).
   creating: jdk1.7.0/
   creating: jdk1.7.0/lib/
  inflating: jdk1.7.0/lib/jexec      
   creating: jdk1.7.0/lib/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-attach.jar  
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-host-views.jar  
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/locale/
...

Dalam hal ini jenis instalasi ini dimaksudkan untuk tidak memanggil manajer paket tetapi hanya untuk membuang konten ke pohon direktori tunggal sehingga Anda dapat memindahkannya ke mana saja yang Anda inginkan.

Dalam lingkungan produksi seringkali Anda tidak ingin menggunakan manajer paket, tetapi lebih memiliki kontrol atas penyebaran. Mungkin Anda memiliki beberapa aplikasi yang Anda gunakan dan masing-masing membutuhkan versi JDK yang berbeda. Dengan menggunakan metode ini, Anda dapat memiliki semuanya secara lebih mudah daripada mengatakan melalui manajer paket.

$ pwd
/home/saml/jdk1.7.0
[saml@grinchy jdk1.7.0]$ ls -l
total 19308
drwxr-xr-x  2 saml saml     4096 Jan 13  2011 bin
-r--r--r--  1 saml saml     2487 Jan 13  2011 COPYRIGHT
drwxr-xr-x  5 saml saml     4096 Jan 13  2011 db
drwxr-xr-x 11 saml saml     4096 Jan 13  2011 demo
drwxr-xr-x  3 saml saml     4096 Jan 13  2011 include
drwxr-xr-x  6 saml saml     4096 Sep 29 10:57 jre
drwxr-xr-x  3 saml saml     4096 Sep 29 10:57 lib
-r--r--r--  1 saml saml     9005 Jan 13  2011 LICENSE
drwxr-xr-x  4 saml saml     4096 Jan 13  2011 man
-r--r--r--  1 saml saml    25379 Jan 13  2011 README.html
-r--r--r--  1 saml saml    20320 Jan 13  2011 README_ja.html
-r--r--r--  1 saml saml    15160 Jan 13  2011 README_zh_CN.html
-r--r--r--  1 saml saml     5348 Sep 29 10:58 register.html
-r--r--r--  1 saml saml     5645 Sep 29 10:58 register_ja.html
-r--r--r--  1 saml saml     4951 Sep 29 10:58 register_zh_CN.html
drwxr-xr-x  8 saml saml     4096 Jan 13  2011 sample
-rw-r--r--  1 saml saml 19631790 Jan 13  2011 src.zip

Referensi

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.