Website-Suche

Die 3 besten universellen Paketmanager für Linux im Jahr 2023


Die Paketverwaltung oder Softwareinstallation auf Linux-Systemen kann insbesondere für Neulinge (neue Linux-Benutzer) sehr rätselhaft sein, da verschiedene Linux-Distributionen unterschiedliche traditionelle Paketverwaltungssysteme verwenden. Der verwirrendste Teil davon ist in den meisten Fällen die Auflösung/Verwaltung von Paketabhängigkeiten.

Debian-basierte Distributionen wie Ubuntu und Linux Mint verwenden beispielsweise .deb-Pakete, die über das dpkg-Paketverwaltungssystem verwaltet werden.

Andererseits verwenden RHEL-basierte Distributionen wie CentOS Stream, Rocky Linux und AlmaLinux .rpm Pakete, die mit dem RPM-Paketverwaltungssystem verwaltet werden.

In den letzten Jahren waren Paketverwaltung und -verteilung im Linux-Ökosystem nach dem Aufkommen universeller oder verteilungsübergreifender Paketverwaltungstools nie mehr die gleichen.

Mit diesen Tools können Entwickler ihre Software oder Anwendungen für mehrere Linux-Distributionen aus einem einzigen Build packen, sodass Benutzer problemlos dasselbe Paket auf mehreren unterstützten Distributionen installieren können.

In diesem Artikel werden wir die drei besten universellen oder verteilungsübergreifenden Open-Source-Paketverwaltungssysteme für Linux besprechen.

1. Snap – ein universelles Paketformat

Snap ist ein beliebtes Open-Source-Anwendungs-/Paketformat und Paketverwaltungssystem, das von Canonical, dem Hersteller von Ubuntu Linux, entwickelt wurde. Mehrere Linux-Distributionen unterstützen jetzt Snaps, darunter Ubuntu, Debian, Fedora, Arch Linux, Manjaro und CentOS/RHEL.

Einfache Installation und Updates

Eine Snap-Anwendung ist eine verteilungsübergreifende Anwendung, die mit all ihren Abhängigkeiten (abhängigkeitsfrei) gebündelt ist und eine einfache Installation mit automatischen Updates (Anwendungen sind immer auf dem neuesten Stand) auf jeder Linux-Distribution ermöglicht, die Snaps unterstützt. Ein Snap kann auf einem Desktop, Server, in der Cloud oder im IoT (Internet der Dinge) ausgeführt werden.

Um eine Anwendung zu erstellen oder zu snappen, verwenden Sie Snapcraft, ein Framework und ein leistungsstarkes Befehlszeilentool zum Erstellen von Snaps. Um Snaps unter Linux zu installieren und zu verwenden, müssen Sie snapd (oder den Snappy-Daemon) installieren, einen Hintergrunddienst, der es Linux-Systemen ermöglicht, mit .snap-Dateien zu arbeiten. Die eigentliche Installation von Snaps erfolgt mit dem Snap-Befehlszeilentool.

Sicherheit und Isolation

Da sie unter Einschluss (verschiedene und konfigurierbare Einschlussstufen) ausgeführt werden, sind Snaps standardmäßig sicher. Wichtig ist, dass ein Snap, der auf eine Systemressource außerhalb seiner Eingrenzung zugreifen muss, eine „Schnittstelle“ verwendet, die vom Ersteller des Snaps sorgfältig basierend auf den Anforderungen des Snaps ausgewählt wird. Dadurch können Sie Anwendungen ausführen, ohne die Stabilität und Flexibilität des Basisbetriebssystems zu beeinträchtigen.

Darüber hinaus verwendet das Snap-Paketverwaltungssystem ein Konzept namens Kanäle (das aus Tracks, Risikostufen und Zweigen besteht und in diese unterteilt ist), um zu bestimmen, welche Version eines Snaps installiert und für Updates nachverfolgt wird. Snaps werden auch automatisch aktualisiert, ein Vorgang, den Sie manuell verwalten können.

Um einen Snap zu finden und zu installieren, suchen Sie im Snap Store danach (ein Ort, an dem Entwickler ihre Snaps teilen können) oder lesen Sie in unseren Leitfäden mehr darüber:

2. Flatpak – Vertriebsübergreifende Kompatibilität

Flatpak ist ein bekanntes Open-Source-Framework zur Verteilung von Desktop-Anwendungen auf Linux-Distributionen. Flatpak wurde von einer unabhängigen Community entwickelt und ermöglicht die Installation und Ausführung eines einzigen Anwendungsbuilds auf praktisch jeder Linux-Distribution.

Es unterstützt insgesamt 25 Distributionen, darunter Fedora, Ubuntu, RHEL, CentOS, OpenSUSE und Arch Linux und läuft auch auf Raspberry Pi.

Die Laufzeiten von Flatpak bieten Plattformen mit gängigen Bibliotheken, die eine Anwendung nutzen kann. Es macht es Ihnen jedoch auch extrem einfach, die volle Kontrolle über Abhängigkeiten zu behalten, da Sie Ihre Bibliotheken als Teil Ihrer Anwendung bündeln können.

Flatpak verfügt über benutzerfreundliche Build-Tools und bietet Entwicklern eine konsistente Umgebung (auf allen Geräten gleich und ähnlich wie die, die Benutzer bereits haben) zum Erstellen und Testen ihrer Anwendungen.

Sandboxing für mehr Sicherheit

Flatpak sorgt für Sicherheit, indem jede App in ihrer Sandbox abgelegt wird. Auf diese Weise können Apps nicht mit dem Hauptsystem oder anderen Apps in Konflikt geraten. Das ist besonders praktisch, wenn Sie Apps aus Quellen verwenden, bei denen Sie sich nicht sicher sind.

Benutzer- und Entwicklerfreundlich

Ein nützlicher Aspekt von flatpak ist die Vorwärtskompatibilität, bei der dasselbe flatpak auf verschiedenen Versionen derselben Distribution ausgeführt werden kann, einschließlich Versionen, die noch von Entwicklern veröffentlicht werden müssen. Es ist außerdem bestrebt, mit neuen Versionen von Linux-Distributionen kompatibel zu sein und dies auch weiterhin zu tun.

Wenn Sie Entwickler sind, können Sie Ihre Anwendung Linux-Benutzern über Flathub zur Verfügung stellen, einem zentralen Dienst zur Verteilung von Anwendungen auf allen Distributionen.

3. AppImage: Die tragbare Alternative

AppImage ist außerdem ein Open-Source-Paketformat, das es Entwicklern ermöglicht, eine Anwendung einmal zu paketieren, die auf allen wichtigen Linux-Desktop-Distributionen läuft. Im Gegensatz zu den vorherigen Paketformaten besteht bei AppImage keine Notwendigkeit, ein Paket zu installieren. Laden Sie einfach die Anwendung herunter, die Sie verwenden möchten, machen Sie sie ausführbar und führen Sie sie aus – so einfach ist das. Es unterstützt die meisten 32-Bit- und 64-Bit-Linux-Desktops.

Keine Installation erforderlich

Mit AppImage ist keine Installation erforderlich. Sie können diese Pakete auf einem USB-Laufwerk speichern, sie teilen und Apps ausführen, ohne Ihr System zu ändern. Dies ist ideal für tragbare Linux- und Live-Systeme.

Breite Kompatibilität

AppImage bietet viele Vorteile. Für Entwickler bedeutet dies, dass sie so viele Benutzer wie möglich erreichen können, unabhängig davon, welche Linux-Distribution und -Version die Benutzer verwenden. Benutzer müssen sich keine Gedanken über Anwendungsabhängigkeiten machen, da jedes AppImage mit allen seinen Abhängigkeiten gebündelt ist (eine App=eine Datei). Auch das Ausprobieren neuer Versionen von Anwendungen ist mit AppImage ganz einfach.

Systemadministratoren, die eine große Anzahl von Desktop-Systemen unterstützen und Benutzer normalerweise daran hindern, Anwendungen zu installieren, die möglicherweise Systeme beschädigen könnten, müssen sich keine Sorgen mehr machen. Mit AppImage bleibt das System intakt, da Benutzer keine Apps installieren müssen, um sie auszuführen.

Vergleich des Trios: Snap, Flatpak und AppImage

Hier ist ein Vergleich der drei universellen Paketmanager:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

Welchen Paketmanager soll ich wählen?

Wenn Sie nach einem sicheren und benutzerfreundlichen Paketmanager mit automatischen Updates suchen, ist Snap eine gute Wahl. Wenn Sie nach einem flexibleren Paketmanager suchen, mit dem Sie jede Art von Anwendung verpacken können, ist Flatpak eine gute Wahl. Wenn Sie nach einem Paketmanager suchen, der keine Installation oder Root-Rechte erfordert, ist AppImage eine gute Wahl.

Es ist auch wichtig zu beachten, dass sich alle drei Paketmanager noch in der Entwicklung befinden, sodass möglicherweise einige Fehler oder fehlende Funktionen vorhanden sind. Sie werden jedoch alle aktiv gepflegt und regelmäßig aktualisiert.

Abschluss

Universelle oder vertriebsübergreifende Paketformate sind die Technologien der nächsten Generation zum Erstellen und Verteilen von Software im Linux-Ökosystem. Allerdings behaupten sich traditionelle Paketverwaltungssysteme noch immer.

Was denken Sie? Teilen Sie es uns über den Kommentarbereich mit.