Ich weiß, dass es in verschiedenen Foren und Newsgroups bezüglich der Verschmelzung von Moblin und Maemo viel Unklarheit über dieses Thema gegeben hat. Ich würde gerne wissen, was Stackoverflow-Burschen darüber denken. Was sind die Vorteile von RPM-Verpackungen gegenüber DEB, die es zu einer besseren Wahl für MeeGo machen?
RPM wird als Paketformat für die Linux Standard-Basis festgelegt.
...
Okay, ich gebe es zu, das dehnt sich auf eine Antwort aus, sogar für mich. Es gibt keinen großen Unterschied im Grundzweck von RPM- und DEB-Paketen; Sie haben jeweils ihre eigenen Fähigkeiten, aber am Ende sind sie beide eine Sammlung von Dateien und Metadaten.
Es gibt einige wichtige Unterschiede zwischen diesen beiden Paketformaten und sie gehen über technische Unterschiede hinaus.
Erstens ist APT (das Advanced Packaging System), das Debs erstellt und verwendet, ein komplettes Verpackungssystem, das traditionell die Abhängigkeitsverfolgung besser unterstützt. Dies ist wichtig, da Sie bei der Installation eines Pakets häufig eine Reihe anderer Pakete installieren müssen, auf die sich Ihr Paket stützt. Wenn nicht, wird Ihr Paket oft nicht ausgeführt. Diese Art der Abhängigkeitsauflösung ist eine der Stärken des deb-Packungsformats. rpm hat eine schlechte Unterstützung dafür und als Konsequenz sind andere Werkzeuge (yum, zypper) erwachsen, um zu versuchen, die hochentwickelte Abhängigkeit zu replizieren, die APT tut.
Zweitens ist Debian eine Art "Referenz" -Plattform. Es bezeichnet sich selbst als "das universelle Betriebssystem" meistens witzig, aber es gibt etwas Wahres daran. Debians Gesellschaftsvertrag und die Unterstützung von Freier Software bedeutet, dass es nicht von einer einzigen Einheit oder Firma kontrolliert wird. Dies bedeutet, dass die Implementierung für ständige Verbesserungen offen ist und es einfacher ist, Software zu integrieren. Die Konsequenz ist, dass Sie ein Betriebssystem haben, das offiziell auf 8-Chip-Architekturen läuft und einige andere inoffiziell, so dass ein deb-Paket auf vielen verschiedenen Arten von Hardware installiert wird, auf denen rpm nicht einmal läuft. Da Debian die Referenzplattform für Dinge wie die Programmiersprache perl und die statistische Programmiersprache R ist, bedeutet dies, dass Ihre deb wahrscheinlich die Abhängigkeiten haben wird, die für eine einfache Integration in Ihr System erforderlich sind. Debian hat auch viele Fachexperten, die sich dafür interessieren, weil sie nach ihren Interessen und Fähigkeiten arbeiten können und nicht gezwungen sind, Gewinn- und Verlustrechnungen in Betracht zu ziehen.
Dies bedeutet, dass ein deb ist oft nicht nur technisch überlegen wegen seiner Paketspezifikation, sondern auch wegen des Ökosystems von Entwicklern, in die es steckt.
Ich weiß nichts von Moblin und Maemo , aber ich habe eine Menge Softwarepaketierung gemacht. Ich würde die Wahl von RPM über Deb als das Dateiformat bevorzugen, das ich für irgendein Betriebssystem wählen würde, wo ich wählen konnte. Bevor apt für rpm existierte, favorisierte ich stark debian gegenüber redhat abgeleiteten Systemen. yum ist fast so gut wie apt . Da ich beide Verpackungssysteme gelernt habe, liefere ich lieber rpm als deb .
(1) Für Binärdaten verwendet rpm cpio , deb verwendet ar . cpio ist die plattformübergreifende Alternative, die als Standard-POSIX-Archiver ausgewählt wird. ar ist der traditionelle Archivierer.
(2) Für Quelldaten verwendet srpm (ein spezieller RPM-Typ) cpio mit einer einzigen speziellen Datei, die den Prozess automatisiert Erstellen eines rpm und wird generiert, wenn rpm , korrekt aus der Quelle erstellt wird. deb hingegen verwendet eine Vielzahl von Komprimierungssystemen, da das ursprüngliche Quellformat der Quelltexter unterstützt wird, optional auch eine Reihe von Patch-Dateien und drei magische Dateien mit jeweils unterschiedlichen Dateiformaten.
>(3) Das Erstellen funktionaler rpm -Pakete ist meiner Erfahrung nach erheblich einfacher als das Erstellen von deb -Dateien.
(4) Ein funktionales Chroot in rpm basierten Systemen ist Standard rpm -Befehle, während deb basierten Systemen ist es ein spezialisiertes Skript namens debootstrap .
Nur apt aus dem Debian-Camp, scheint nützlicher als yum aus dem Redhat-Camp zu sein, alle Upstream-QA-Tools scheinen besser aus dem Redhat Camp zu stammen.
Ich schlage vor, dass das Erstellen einer rpm keine magische Kunst ist, sondern nur etwas, wofür man Leute trainieren muss.
(1) Repository-Builder: createrepo ist das Tool, das einfach zu verwenden und zu verstehen ist. mini-dinstall , dpkg-scanpackages oder dak (Debian-Archiv-Kit) oder Mini-dak oder reprepro oder debarchiver oder debpool oder DebMarshal oder apt-ftparchive oder dpkg-scansources sind entweder komplex oder schlecht dokumentiert oder fehlen ein kritisches Merkmal und manchmal alle drei.
(2) "Source deb" ist keine einzelne Datei wie srpm ist eine einzelne Datei und benötigt daher spezielle Tools, um sie zu verschieben.
(3) Erzeuge Server: Koji schlägt pbuilder jeden Tag der Woche in der Dokumentation. Es muss jedoch gesagt werden, dass pbuilder ruhig ruhig ist.
Ich bin erstaunt, dass es kein eindeutiges bestes Werkzeug gibt, um einen deb basierten Repo zu erstellen. Die, die ich ausprobiert habe, sind arm. Nichts, was ich ausprobiert habe, ist fast so gut wie createrepo für rpm. ( reprepro ist fast so gut wie createrepo aus rpm, außer dass mehrere Versionen desselben Pakets in einem einzigen Repository nicht zulässig sind, was für die meisten Systeme mit fortlaufender Bereitstellung ausgeschlossen ist.
Ich denke, es ist besser, eine rpm Werkzeugkette auszuwählen. Genau wie der interessante Link von Charles Stewart erklärte, dass die Werkzeuge wichtig sind.
Entscheidung, DEB für RPM für Meego und andere ähnliche zu geben, war rein politisch & amp; Geschäft. Technische Meinungen wurden ignoriert. Ihre Frage (als Frage) ist im allgemeinen Kontext gültig, aber im Falle von Meego erscheint sie als Versuch, den bereits gemachten Schritt nachher zu rechtfertigen. Nichtsdestotrotz werden wir niemals technische Vorteile für und gegen den Gegner kennen - Meego ist jetzt anders gegangen, wo deb-vs-rpm Wettbewerb ausgeschlossen ist.
An dieser Stelle, ich denke, das sollte wahrscheinlich ein Linux sein & amp; Unix-Frage.
Es ist nicht wirklich richtig zu sagen, dass Meego von APT (d. h. .deb) zu RPM wechselte; stattdessen war Meego eine Fusion der APT - unter Verwendung von Maemo mit der RPM - unter Verwendung von Moblin. Robin Burchill sagte auf seinem Blog letzten Februar - Ссылка - dass es war einfacher, mit RPM zu gehen, weil Moblin mehr der architektonischen Wahlen in Meego diktierte, und Maemo einfacher zu gestalten.