Was ist der Unterschied zwischen dem Erstellen und Installieren von .deb-Dateien und dem Ausführen einer .run-Datei ?
Was ist der Unterschied zwischen dem Erstellen und Installieren von .deb-Dateien und dem Ausführen einer .run-Datei ?
Antworten:
.deb
Dateien sind Pakete für dpkg , den einfachen Debian-Paketmanager (der von APT und seinen Verwandten unter der Haube aufgerufen wird). Eine .deb
Datei 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 .deb
Datei mit dpkg -c
und anzeigen dpkg -I
. Wenn Sie keine haben dpkg
, können Sie ar t foo.deb
die Teile einer .deb
Datei auflisten und ar x foo.deb control.tar.gz
das control.tar.gz
Teil 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.
.run
ist keine Standarderweiterung. Eine .run
Datei können Sie vermutlich ausführen. Es kann ein Programm installieren oder etwas völlig anderes tun.
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
.
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