Was sind .deb und .rpm und wie unterscheiden sie sich von .msi? [geschlossen]

30

Was sind diese Dateiformate und wie unterscheiden sie sich vom .msiFormat in Windows? Welche Vor- und Nachteile haben diese Paketverwaltungssysteme?

Todeslöcher
quelle
.deb und .rpm sind .msi ähnlicher als .exe.
Ignacio Vazquez-Abrams
hinweis: die frage "was sind die vor- und nachteile von rpm vs deb / dpkg" an anderer stelle im internet birgt die möglichkeit, einen flammenkrieg auszulösen.
Strugee

Antworten:

40

Dateien wie .debund .rpmähneln eher einer .zipDatei. Es handelt sich um einen Verzeichnisbaum von Dateien und Unterverzeichnissen, die Dateien enthalten, die sich auf eine bestimmte Anwendung und / oder Dateibibliothek beziehen.

Distros

Die .debDateien sind für Linux-Distributionen gedacht, die von Debian abgeleitet sind (Ubuntu, Linux Mint usw.). Die .rpmDateien werden hauptsächlich von Distributionen verwendet, die von auf Redhat basierenden Distributionen (Fedora, CentOS, RHEL) stammen, sowie von der openSuSE-Distribution.

Was ist das Besondere an ihnen?

Diese Dateien haben eine weitere Besonderheit, die sie von .zipDateien unterscheidet, da sie eine Spezifikation enthalten können, die Regeln enthält, die der Package Manager-Software mitteilen, die auf einem System ausgeführt wird, auf dem eine dieser Dateien installiert wird, um zusätzliche Aufgaben auszuführen. Diese Aufgaben umfassen Dinge wie:

  • Erstellen von Benutzerkonten auf dem System
  • Erstellen / Ändern von Konfigurationsdateien, die nicht in der Datei .deboder .rpmenthalten sind
  • Festlegen der Eigentumsrechte / Berechtigungen für die Dateien nach der Installation
  • Führen Sie die Befehle als root auf dem System aus, auf dem das Paket installiert wird
  • Abhängigkeiten können beide Formate Namen oder Pakete und / oder Dienstnamen enthalten, die auf einem System vor der Installation vorhanden sein müssen.

Was ist mit MSI-Dateien?

.msiDateien ähneln .deb& .rpmDateien, sind aber wahrscheinlich noch ausgefeilter. Die .msiDateien werden vom Windows Installer verwendet und bieten zusätzliche Funktionen wie:

  • GUI Framework
  • Generierung von Deinstallationssequenzen
  • Ein Framework für sich - zur Verwendung durch Installateure von Drittanbietern
  • Rollbacks
  • Werbung
  • Benutzeroberfläche
  • etc.

Ich würde vorschlagen, sich die verschiedenen Wikipedia-Seiten zu diesen Themen anzuschauen, wenn Sie eine genauere Erklärung wünschen.

Verweise

slm
quelle
Da die Antwort mit "Dateien wie .deb und .rpm ähneln eher einer .zip-Datei" beginnt, sollte erwähnt werden, dass deb-Pakete tatsächlich arArchive sind und rpms (möglicherweise teilweise) cpio-Archive. Bei Debs ist es einfach zu überprüfen, ob eine Deb mit entpackt werden kann ar -x. Bei rpm weiß ich nicht, ob das möglich ist.
Faheem Mitha
@FaheemMitha:rpm2cpio package.rpm | cpio -idv
Ninjalj
@ninjalj - danke, ich habe vergessen, diesen Befehl hinzuzufügen. Ich habe es benutzt, um RPMs zu entpacken, wenn ich nur ein oder zwei Dateien von ihnen haben wollte. Normalerweise die .spec-Dateien.
slm
@ninjalj Danke, ich wusste das nicht.
Faheem Mitha
31

Die anderen Antworten berühren Qualitäten von .debund .rpmdie ähnlich sind .msi. Sie enthalten alle Software in einem komprimierten Format, die einige zusätzliche Funktionen ausführen kann. Zu den bereits erwähnten zusätzlichen Dingen gehörten das Hinzufügen von Benutzern, Aufgaben vor und nach der Installation, das Registrieren des Programms beim System (z. B. Windows-Registrierung, xdg-dirs, OpenRC / systemd init usw.).

Was die Formate unterscheidet (und ein großer Vorteil ist), sind Abhängigkeiten. Sowohl .debals auch .rpmDateien können und können Namen und Versionen anderer Programme auflisten, die als vorausgesetzte Software installiert werden müssen. Dies ist für sich genommen nur informativ, aber ...

Sie interagieren in der Regel nicht direkt mit .debund .rpmarchivieren so, wie Sie es mit .msiDateien tun . Wie bereits erwähnt, .debist a in der Regel nur ein mit xz komprimiertes Archiv (ar oder tar) mit den enthaltenen Dateien in einem bestimmten Verzeichnislayout. Stattdessen verwenden Sie Tools wie dpkgund rpm, um diese Dateien zu bearbeiten.

dpkgund rpminstalliert den Inhalt .debund die .rpmDateien und überprüft, ob die erforderliche Software installiert ist. Das Ausführen dieser Programme ähnelt dem Klicken auf eine .msiDatei. Benutzer interagieren jedoch normalerweise nicht mit dpkgoder verwenden rpmstattdessen apt-getund yum, um Pakete zu installieren. Diese Tools haben keine exakten Analoga für Windows.

Sowohl apt-getund yumin der Lage, Dateien zu holen aus der Ferne (oder lokal) Repositories und verwenden Sie die Abhängigkeitsinformationen gespeichert in den .debund .rpmDateien zu holen und installieren Sie alle Voraussetzungen nicht erfüllt ist . Mit diesen Tool brauche ich nicht zu wissen oder Sorge über das, was andere Software , die ich brauche, kann ich nur angeben , apt-get install chromiumund weiß , dass apt-getsicher, wird ich habe gtk +, ALSA, bestimmte X - Bibliotheken usw. installiert , ohne dass ich manuell mit finden und installieren denjenigen .debund .rpmDateien.

apt-getund yumdie großen zwei Paketmanager, die Sie auch finden emergeund dort pacmanherausfinden, erledigen die gleichen Aufgaben, obwohl sie unterschiedliche zugrunde liegende Mechanismen haben.

casey
quelle
7
+1 für das Thema Abhängigkeitsmanagement. Dies sollte nicht übersehen werden.
ldrumm
1
Hinweis: Ich glaube, dass .debs mit dem arDienstprogramm gepackt werden . Keine Ahnung warum.
Strugee
1
Außerdem, wenn Sie emergeals Paketmanager zählen, sollten Sie vielleicht auch BSD-Ports in Betracht ziehen (obwohl ich nicht viel über sie weiß, bin ich mir nicht sicher, ob sie das Äquivalent eines Paketmanagers unter GNU / haben. Linux).
Strugee
3
@strugee stimmt, ich habe bearbeitet, um das widerzuspiegeln. Auch technisch gesehen ist portage die Paketverwaltungs-Engine emerge, die den Ports sehr ähnlich ist. Es ist alles quellbasiert und sehr konfigurierbar, aber wenn ein Befehl installiert / deinstalliert, Abhängigkeiten behandelt und eine Datenbank mit installierten Paketen führt, nenne ich es einen Paketmanager. Gute Kommentare.
Casey
@casey: Wo kann ich mehr Informationen über die zugrunde liegenden Mechanismen von dpkg und rpm erhalten?
Todeslöcher
4

Es hat die gleichen Funktionen wie eine MSI-Datei unter Windows:

  • es registriert die Software in einer Registrierung,
  • Es registriert, welche Dateien mit diesem Paket installiert wurden.

Unter Linux verwalten sie auch Abhängigkeiten zwischen anderen Paketen.

Diese Paketverwaltungsformate erledigen viele andere Dinge, aber dies sind die Hauptfunktionalitäten.

Vinz
quelle
2

.rpmDateien sind RPM-Pakete, die sich auf den von Red Hat und von Red Hat abgeleiteten Distributionen (z. B. Fedora, RHEL, CentOS) verwendeten Pakettyp beziehen. .debDateien sind DEB-Pakete, die der von Debian und Debian-Derivaten (zB Debian, Ubuntu) verwendete Pakettyp sind.

Wenn heruntergeladen werden sie in der Regel über die installierte rpmund dpkgBefehle jeweils auf dem entsprechenden distros. Mit anderen Worten, sie sind Dateien , die von installiert sind rpmund dpkgnicht .msioder .exeSetup - Dateien , die ausführbaren Dateien, die sie installieren.

RPM- und DEB-Pakete unterscheiden sich in mehrfacher Hinsicht von MSI.

  • Wie oben sind dies Dateien, für deren Installation andere Tools (dh rpmund dpkg) erforderlich sind .
  • Bei der Installation werden sie zu einer Datenbank hinzugefügt, was bei MSI-Dateien nicht der Fall ist. In MSI-Dateien wird das Programm in der Registrierung aufgeführt, bei einer Deinstallation über die Systemsteuerung werden jedoch wahrscheinlich nicht alle installierten Dateien vollständig von der Festplatte entfernt. Wenn also RPM- und DEB-Pakete deinstalliert werden, werden alle Dateien sauber entfernt.
  • Sie sind in der Regel nicht heruntergeladen und direkt installiert, aber durch Paket - Manager wie yumund aptitudejeweils - es gibt so genannte Repositories , die für das jeweilige System kompilieren Pakete anbieten, und die Paket - Manager werden alle Abhängigkeiten automatisch aus den Daten in den Repositories installieren.
  • Auf installierten Paketen werden normalerweise mehrere Konfigurationstools ausgeführt. Wenn Sie beispielsweise GDM auf einem System installieren, auf dem bereits LightDM installiert ist, werden Sie gefragt, ob Sie GDM von LightDM verwenden möchten.
  • Bei der Installation von Paketen werden neben Abhängigkeiten einige Pakete vorgeschlagen, die Pakete anzeigen, die nicht erforderlich sind, aber für den Benutzer nützlich sein können.
Davidson Chua
quelle
1

Beide .debund .rpmsind Softwarepakete für GNU / Linux-Distributionen, die Software (Programme, Anwendungen usw.) und Informationen für die "* installer *" - Software über die Software selbst sowie Anweisungen zur Installation von was und wo enthalten korrekt.

  • .debDebian-Softwarepaket auf Debian-basierten Distributionen. Installiert über zB apt/ aptitude(Kommandozeile) oder grafisch über zB " Synaptic ", " Ubuntu Software Center ", " Gdebi ", ...
  • .rpmRed Hat Package Manager : in Fedora / Red Hat (basierten) Linux-Distributionen. Installiert über zB yum(Kommandozeile) oder grafisch über zB " yumex "
  • .msiist → Microsoft Installer : Ganz wie oben, für Microsoft Windows OS

Die Installateure selbst können auch die Wartung, Aktualisierung und / oder Entfernung von Paketen übernehmen. Außerdem: " Installer " bedeutet hier die Software, um diese Aufgaben korrekt auszuführen - sie stellt auch die erwähnten Informationen für den Benutzer selbst bereit, um solche Aufgaben manuell auszuführen.

erch
quelle
1
PackageKit ist keine Anwendung. Es ist eine Abstraktionsbibliothek für die verschiedenen Paketmanager über Distributionen hinweg.
Strugee
@strugee dang, dachte, das war der Name. Ich hoffe wirklich, es yumexist der richtige Name ... danke für den Hinweis
4.
Ich glaube, der Standard für Fedora ist GNOME Software.
Strugee
@strugee Ich habe Fedora eine Weile ausprobiert, LXDE verwendet und mich an ein grafisches Front-End für die Paketverwaltung erinnert, aber der Name war… Ich denke, was auch immer funktioniert und am besten zu
meinen
1

.deb: Debian-Paket für Debian-basierte Linux-Distributionen wie Ubuntu, Linux Mint usw.

.rpm: rpmInstaller für Red Hat-basierte Linux-Distributionen wie RHEL, Fedora und CentOS

.msi: Binäres Installationsprogramm für Windows-Plattform

Jeevan Roy Dsouza
quelle
Willkommen bei Stack Exchange! eine Erklärung, warum Sie abgelehnt wurden: Ich bin nicht einer der beiden, die abgelehnt haben, aber ich vermute, dass sie dies getan haben, weil Sie damit andeuten, dass Debian und / oder Ubuntu keine GNU / Linuxe sind, und das ist es falsch. Sie sind. (und es gibt viel mehr Distributionen als nur Debian, Ubuntu und Fedora.) Außerdem haben Sie nichts wirklich erklärt.
Strugee
1
Update: bearbeitet, um diese Implikation zu entfernen
Davidson Chua
Ich denke, die Abwertungen sind wirklich dafür gedacht, nur eine einzeilige Beschreibung der Bedeutung der Datei zu geben, und nicht die tatsächliche Erklärung, wie sich diese Pakete voneinander unterscheiden. Werfen Sie einen Blick auf die ausgewählte Antwort hier, das ist die Art von Qualität, die sie von Antworten erwarten :)
Munim