GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es möglich, eine Linux-Distribution zu erstellen, die sowohl RPM- als auch .deb-Pakete unterstützt?

Ich dachte nicht, dass es da draußen Distributionen gibt, die beide nativ unterstützen, aber es stellt sich heraus, dass eine in der Entwicklung ist, Bedrock Linux (danke an iMalinowski für die Informationen). Bei anderen Distributionen können Sie Konvertierungstools wie alien verwenden von einem Format in das andere zu konvertieren. Alles, was auf Software basiert, ist machbar, wenn genügend Zeit und Energie vorhanden sind, sodass es möglich wäre, eine solche Distribution zu erstellen (aber angesichts der Unterschiede zwischen den Fähigkeiten von .deb und .rpm Pakete, ziemlich schwierig).

All dies rührt jedoch wahrscheinlich von der Idee her, dass die Unterstützung beider Paketformate das Leben einfacher machen würde, weil Sie dann Pakete von überall installieren könnten (naja, überall, wo ein .deb oder .rpm ). Philosophisch gesehen ist das falsch. Eine Distribution ist ein kohärenter Satz von Paketen; Wenn Sie Software für diese Distribution bereitstellen möchten, müssen Sie sie wirklich gezielt ansprechen, was die Verwendung ihres Paketformats (und, was noch wichtiger ist, Metadaten) einschließt. Es hat keinen Sinn, mehrere Paketformate nativ zu unterstützen.

(In der Debian-Welt können Pakete an Varianten arbeiten, die nicht ihr Hauptziel sind, weil die Paketnomenklatur ziemlich homogen ist und weil die meisten Distributionen in einen Vererbungsbaum passen. Das gilt nicht in der RPM-Welt. In beiden Fällen mischen und Matching ist eine schlechte Idee.)

Sie sollten Ihre Distribution als Basis betrachten, auf der Sie Ihr gewünschtes System aufbauen können, indem Sie sich an die Regeln und das Ökosystem Ihrer Distribution halten, ohne Dinge aus anderen Distributionen zu mischen. Sie benötigen Abstraktionen auf höherer Ebene, um das Mischen und Abgleichen zu unterstützen (oder besser gesagt, um Umgebungen für verschiedene Distributionen bereitzustellen):die Steam-Laufzeitumgebung, Flatpak usw.


Bedrock Linux tut dies. Ich sage nicht, dass ich das getan habe oder dass es eine gute Idee ist, aber es wird getan.


Nein, so ein Monster sollte nicht gebaut werden. Anders als beispielsweise ein MacOS-Anwendungspaket, das normalerweise alles enthält, was die Anwendung zum Ausführen auf dem Betriebssystem benötigt, sind RPM- und .deb-Pakete fast immer von anderen Paketen abhängig, z. B. gemeinsam genutzten Bibliotheken. Linux-Pakete listen die anderen Pakete auf, die vorhanden sein müssen, und der Paketmanager hilft dabei, diese Anforderungen durchzusetzen. Darüber hinaus unterscheiden sich Linux-Distributionen in der Vorgehensweise (z. B. /etc/network/interfaces.d vs. /etc/sysconfig/network-scripts ).

Sie sollten nicht einmal Pakete aus beliebigen Repositories innerhalb derselben Paketformatfamilie mischen. Das heißt, die Installation von SuSE-Paketen auf einem CentOS-Rechner verlangt nach Ärger, obwohl beide RPM verwenden. Ich würde nicht einmal Pakete installieren, die für eine andere Version desselben Betriebssystems gedacht sind (z. B. Ubuntu 14.04-Pakete auf einem 16.04-System), es sei denn, ich wüsste genau, was ich tue.

Der Versuch, sowohl RPM als auch .deb auf demselben System zu unterstützen, kommt also nicht in Frage. In bestimmten verzweifelten Situationen könnten Sie bestimmte Pakete mit alien konvertieren , aber Sie sollten damit rechnen, viel Mühe in die Behebung von Problemen zu stecken, die sich zwangsläufig aus solchen Hacks ergeben würden.


Linux
  1. So listen Sie Dateien auf, die von einem RPM- oder DEB-Paket in Linux installiert wurden

  2. So aktivieren Sie Snap unter Linux Mint 20 und installieren Snap-Pakete

  3. So überprüfen Sie den Anbieter installierter RPM-Pakete in Linux

  4. Linux-Distribution nur mit busybox und bash?

  5. Was ist die kleinstmögliche Linux-Implementierung?

Linux-Paketverwaltung mit YUM und RPM

RPM und GPG:So überprüfen Sie Linux-Pakete vor der Installation

Linux Lite:Eine einfache, schnelle und kostenlose leichtgewichtige Linux-Distribution

Beste Kombinationen aus Linux-Distribution und Desktop-Umgebung

So zeigen Sie Dateien aus RPM-, DEB-, Depot- und MSI-Paketen an und extrahieren sie

Wie kann man ganz einfach seine eigene Linux-Distribution erstellen?