Einführung in das Paketmanagement unter Linux

Einführung in das Paketmanagement unter Linux
Alle Betriebssysteme hängen von einer Reihe von Softwareanwendungen ab, um die von den Benutzern beabsichtigten Aufgaben auszuführen. In den frühen Tagen wurden Bewerbungen vor der Veröffentlichung gegen Fehler getestet, um eine bessere Benutzererfahrung zu bieten. Jetzt wird die Softwareanwendung mit der Absicht veröffentlicht, Fehlerbehebungen in neuen Versionen anzuwenden. Darüber hinaus verfügt jede Anwendung über ihren Updater oder der Benutzer musste herausfinden, wie die aktualisierte Software -Version erhalten werden kann.

Linux übernahm die zeitnahe Software -Management -Praxis, indem sie Verpackungsformate, Softwarepakete und eindeutige Installationstools erstellen. In diesem Artikel wird beschrieben.

Tarball

Frühere Linux -Systemsoftware -Addition musste der Benutzer den Quellcode herunterladen, ihn in Binärdateien kompilieren und dem System hinzufügen. Manchmal wurde die Software von einigen Benutzern in einem kompilierten Formular als Tarball zur Verfügung gestellt. Ein Tarball enthält mehrere Dateien, einschließlich ausführbarer, Konfigurationsdateien, Dokumentation und Bibliotheken. So dass alle Dateien in eine einzige Datei für einfache Speicherung und Verteilung komprimiert werden.

Nach der Software -Installation verbreiten sich die Dateien in den relevanten Verzeichnissen über das System. Die Methode zur Erstellung von Tarball mag jedoch einfach erscheinen, aber der Installationsprozess macht beispielsweise einige Aufgaben schwierig:

Der Benutzer muss die Abhängigkeiten für die Installationssoftware unabhängig voneinander/manuell aufspüren, sodass die abhängige Software selbst einige Abhängigkeiten hat.

Da die Tarball -Paket -Installation die Dateien verbreitet, ist es nicht einfach, die Paketdokumentations- und Konfigurationsdateien zu finden, selbst wenn der Benutzer die Befehle kennt.

Es ist schwierig, Dateien zu finden, um Software zu deinstallieren.

Durch das Fehlen von Metadaten in Tarballs verwirrt die Benutzer nach der Installation über die Versionsdetails. Das macht es schwierig, Fehler zu verfolgen und neue Versionen zu erhalten.

Um diese Probleme zu überwinden, entwickelte sich die Softwareverpackung in den Linux -Verteilungen zu zwei Verpackungsformaten, die als DEB- und RPM -Verpackung bezeichnet werden.

Deb -Verpackung

Die Debian- und Debian-basierte Linux-Distributionen verwenden die Deb-Base-Softwareverpackung. Der .DEB -Dateien enthalten alle relevanten Dateien mit Metadaten in a .AR -Archivformat. Die Metadaten enthält alle relevanten Softwaredetails mit Version, Beschreibung, Abhängigkeiten, Lizenzen usw. Debian Distributionen bieten mehrere grafische Schnittstellen und terminalbasierte Tools zur Verwaltung .DEB -Dateien. Einige von ihnen beinhalten:

  • geeignet: Ubuntu Advanced Packaging Tool, das einen APT-Get-Befehl zum Durchsuchen und Verwalten der Paketinstallation bietet.
  • Eignung: Der Befehl ist ein Paket-Management-Tool, das eine textbasierte Schnittstelle im Terminal bietet. Es führt die Paketinstallation, das Entfernen und ein Upgrade mithilfe von Pfeiltasten und Hervorhebung der ausgewählten Option durch.
  • Ubuntu Software Center: Es handelt sich um eine intuitive grafische Benutzeroberfläche für den Beginn von Linux -Benutzern, die Pakete durchsuchen und installieren.

Obwohl das Ubuntu Software Center intuitiv ist, übertrifft das Advanced Packaging Management -System alle anderen PMs für die Deb -Verpackung.

Drehzahlverpackung

Die Drehzahl (.Drehzahl) Verpackungsformat ist die Präferenz von Suse, Fedora und Red Hat sowie von RHEL-basierten Linux-Verteilungen. Das RPM -Paket ist das Amalgam von Dateien, um RHEL -Distribution -Benutzern einen Fotobieter, einen Textverarbeitungsprozessor oder eine andere Software bereitzustellen. Es enthält auch Konfigurationsdateien, Metadaten und andere erforderliche Dokumente, um die Software zu erstellen.

Der RPM -Paket -Manager kombiniert Binärdateien und alle erforderlichen Dateien, die über Upstream -Softwareanbieter in ein RPM -Paket verfügbar sind. Bevor sie Pakete in das Repository einbeziehen, werden sie unterschrieben, damit die Benutzer ihre Gültigkeit überprüfen können. Jetzt kann der Benutzer auf diese Pakete für die Installation von Repositorys in CDs oder Verzeichnissen über NFS oder FTP -Server zugreifen.

Der RPM -Paketname erzählt viel über die Software. Geben Sie beispielsweise den folgenden Befehl ein, um die Details des aktuell installierten RPM -Pakets von Firefox herauszufinden:

[Fedora@Fedora] $ RPM -q Firefox
Firefox-87.0-12.FC34.x86_64
  • 87.0: repräsentiert eine von Mozilla Project zugewiesene Release -Nummer
  • 12: repräsentiert die Häufigkeit, mit der Red Hat das Paket auf derselben Versionsnummer umgebaut hat.
  • FC34.x86_64: stellt dar, dass das Paket für die Fedora Linux und die X86 64-Bit-Architektur erstellt und kompiliert wird.

Um weitere Details des Pakets zu finden, fragen Sie die lokale RPM -Datenbank mit dem Befehl rpm mit der Option -qi an:

[Fedora@Fedora] $ rpm -qi Firefox
Name: Firefox
Version: 87.0
Veröffentlichung: 12.FC34
Architektur: x86_64
Installation Datum: Fr 23. April 2021 06:58:19 Uhr EDT
Gruppe: nicht spezifiziert
Größe: 261285879
Lizenz: MPLV1.1 oder GPLV2+ oder LGPLV2+
Signatur: RSA/SHA256, Di 13 Apr 2021 04:59:11 EDT, Key ID 1161AE6945719A39
Quell-RPM: Firefox-87.0-12.FC34.src.Drehzahl
Baudatum: Mon 12 Apr 2021 04:56:26 Uhr EDT
Build Host: Buildhw-X86-10.IAD2.Fedoraproject.Org
Packager: Fedora -Projekt
Verkäufer: Fedora -Projekt
URL: https: // www.Mozilla.org/Firefox/
Fehler -URL: https: // bugz.Fedoraproject.org/Firefox
Zusammenfassung: Mozilla Firefox Webbrowser
Beschreibung :
Mozilla Firefox ist ein Open-Source-Webbrowser für Standards
Einhaltung, Leistung und Portabilität.

Die obige Ausgabe repräsentiert nun das erstellte Paket- und Installationsdaten, die Größe, die Lizenzierung der Firefox -Paketgruppe und viele andere Details. Obwohl RPM der erste RPM -Verpackungs -Toolbefehl für die Installationsaktualisierung, Abfrage, Paketentfernung usw. war., Es hat einige grundlegende Nachteile.

Abhängigkeit Hölle: Die RPM -Paketinstallation schlägt in Abwesenheit von Abhängigkeiten aus, während die erforderlichen Komponenten über die erforderlichen Komponenten informiert werden. Darüber hinaus hat das abhängige Paket selbst einige benötigte Abhängigkeiten, um die Arbeit zu erledigen.

RPMS -Standort: Der RPM -Paket -Manager erwartet, den Paketort vor der Installation zu erhalten. Wenn das Paket im aktuellen Ordner erhältlich ist, erfordert es eine Eingabe von Firefox-87.0-12.FC34.x86_64.RPM, wenn es auf dem Server liegt, erfordert es http: // Beispiel.com/Firefox-87.0-12.FC34.x86_64.Drehzahl.

Während zu diesem Zeitpunkt die DEB-basierte Softwareverpackung möglicherweise das Problem der Abhängigkeiten automatisch beheben. Nach der zunehmenden Beliebtheit von Drehzahlpaketen wurden die Probleme jedoch mit der YUM -Einrichtung gelöst.

Yum -Projekt

Die Yellowdog Updater Modified (YUM) -Funktion wurde eingeführt, um die Abhängigkeiten von RPM -Paketen zu verwalten, indem jedes RPM -Paket als Teil eines großen Software -Repositorys berücksichtigt wird. So dass das Problem des Umgangs mit den Abhängigkeiten für die Linux-Distribution oder die Software von Drittanbietern liegt.

Es löst die Probleme mit dem Konzept, das Repositorys aufeinander aufbauen können. Zum Beispiel, wenn ein Benutzer ein Paket aus der RPMFusion installiert.Org -Repository, für das ein Befehl/ein Tool aus dem Haupt -Fedora -Repository erforderlich ist, hat es auch Zugriff darauf. Daher wird es in der Zwischenzeit heruntergeladen und installiert.

Abschluss

Die Artikel bieten eine kurze Geschichte darüber, wie sich das Linux -Verpackungsmanagementsystem entwickelt hat. Wir diskutierten .Deb und .RPM -basierte Softwareverpackungssysteme für Debian- und Rhel -basierte Linux -Distributionen, ihre am häufigsten verwendeten Tools. Wir diskutieren auch die Entwicklung der Paketmanagementsysteme aus den Problemen in den frühen Entwicklungsstadien.