Unterschied zwischen .deb-Dateien und .run-Dateien

10

Was ist der Unterschied zwischen dem Erstellen und Installieren von .deb-Dateien und dem Ausführen einer .run-Datei ?

Mandar Shinde
quelle
Haben Sie besondere Beispiele im Sinn?
slm

Antworten:

8

.debDateien sind Pakete für dpkg , den einfachen Debian-Paketmanager (der von APT und seinen Verwandten unter der Haube aufgerufen wird). Eine .debDatei ist ein Paket für Debian oder für ein Derivat wie Ubuntu oder Mint.

Debian-Pakete enthalten die zum Paket gehörenden Dateien sowie eine „Steuerdatei“, die die Abhängigkeiten und andere Metainformationen des Pakets beschreibt, sowie Installationsskripte, die ausgeführt werden, wenn das Paket installiert, aktualisiert oder deinstalliert wird.

Sie können den Inhalt einer .debDatei mit dpkg -cund anzeigen dpkg -I. Wenn Sie keine haben dpkg, können Sie ar t foo.debdie Teile einer .debDatei auflisten und ar x foo.deb control.tar.gzdas control.tar.gzTeil extrahieren (und ähnlich für andere Teile).

Red Hat (und Verwandte wie CentOS und Fedora), SuSE und andere verwenden rpm , ein anderes Format mit ähnlichen Eigenschaften. Es gibt andere auf anderen Unix-Systemen.

.runist keine Standarderweiterung. Eine .runDatei können Sie vermutlich ausführen. Es kann ein Programm installieren oder etwas völlig anderes tun.

Gilles 'SO - hör auf böse zu sein'
quelle
8

Im Allgemeinen ähnelt eine .deb-Datei einer Zip-Datei, die Dateien sowie kurze Skripts enthält, die nach der Installation ausgeführt werden können, um Benutzer, Gruppen usw. nach der Installation zum System hinzuzufügen.

Eine .run-Datei ist normalerweise entweder eine einzelne ausführbare Binärdatei oder ein Shell-Skript, das einen Binär-Blob enthält, der installiert werden kann. Wenn es sich um die Shell-Skriptvariante handelt, enthält sie häufig einen binären Blob, der häufig synonym mit einer rekursiven Zip- oder TAR-Datei ist. Mit anderen Worten, es enthält Verzeichnisstrukturen von Dateien.

In anderen Fällen enthält diese Art von .run-Datei einfach .deb- oder .rpm-Dateien, die auf der Festplatte ausgegeben werden und entweder einzeln installiert werden können, oder das Skript, das sie enthält, gibt sie auf der Festplatte aus und versucht es dann um sie mit der Paketmanager-Software Ihres Systems zu installieren.

Ein Beispiel hierfür wäre, wenn Sie das Java JDK von Oracle herunterladen. Es ist in der Regel eine einzige ausführbare Datei, die , wenn sie ausgeführt werden , die .deb oder .rpm - Dateien auf der Festplatte Dump, und installieren Sie sie dann mit the package management tools: dpkg, apt, yum, oder rpm.

Beispiel

Hier ist ein Beispiel dafür, wie der Download / die Installation mit einer dieser .run-Dateien aussehen würde. Die Erweiterung ist .bin, aber dies ist einfach kosmetisch. Die Erweiterung ist wirklich nicht relevant, außer um Benutzern die Unterscheidung zwischen den verschiedenen Dateitypen zu erleichtern.

$ 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

In der obigen Datei werden Pakete für die verschiedenen Komponenten des JDK ausgegeben. Anschließend können Sie entweder alle oder nur die benötigten Komponenten installieren.

Auf diese Weise können zusätzliche Dinge erledigt werden, die über die Installation eines Pakets hinausgehen. Zum Beispiel hat Oracle eine Lizenzvereinbarung, die Sie akzeptieren sollen:

10.5 Diese Vereinbarung ist die gesamte Vereinbarung der Parteien in Bezug auf ihren Gegenstand. Es ersetzt alle vorherigen oder gleichzeitigen mündlichen oder schriftlichen Mitteilungen, Vorschläge, Bedingungen, Zusicherungen und Gewährleistungen und hat Vorrang vor widersprüchlichen oder zusätzlichen Bestimmungen von Zitaten, Bestellungen, Bestätigungen oder sonstigen Mitteilungen zwischen den Parteien in Bezug auf seinen Gegenstand, einschließlich Bi Code-Lizenzen, ergänzende Bedingungen oder andere Lizenzen, die in der lizenzierten Software enthalten sind. Änderungen dieser Vereinbarung sind nur verbindlich, wenn sie schriftlich von einem bevollmächtigten Vertreter jeder Partei unterzeichnet wurden.

Stimmen Sie den oben genannten Lizenzbedingungen zu? [ja oder Nein]

Mit diesem obigen Installationsprogramm können Sie sehen, dass es nur einen binären Blob von Dateiverzeichnissen enthält:

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/
...

In diesem Fall soll diese Art der Installation nicht den Paketmanager aufrufen, sondern lediglich den Inhalt in einem einzelnen Verzeichnisbaum ablegen, damit Sie ihn beliebig verschieben können.

In Produktionsumgebungen ist es häufig der Fall, dass Sie den Paketmanager nicht verwenden möchten, sondern mehr Kontrolle über Bereitstellungen haben möchten. Möglicherweise haben Sie mehrere Anwendungen, die Sie bereitstellen, und für die jeweils eine andere Version des JDK erforderlich ist. Mit dieser Methode können Sie alle einfacher nebeneinander existieren lassen als über den Paketmanager.

$ 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

Verweise

slm
quelle