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

Warum Programmierer die Linux-Paketierung lieben

Im Jahr 2021 gibt es mehr Gründe, warum Menschen Linux lieben als je zuvor. In dieser Serie werde ich 21 verschiedene Gründe für die Verwendung von Linux nennen. Heute werde ich darüber sprechen, was das Paketieren für Linux ideal für Programmierer macht.

Programmierer lieben es zu programmieren. Das scheint wahrscheinlich eine offensichtliche Aussage zu sein, aber es ist wichtig zu verstehen, dass die Entwicklung von Software viel mehr umfasst als nur das Schreiben von Code. Es umfasst Kompilierung, Dokumentation, Quellcodeverwaltung, Installationsskripts, Konfigurationsvorgaben, Unterstützungsdateien, Bereitstellungsformat und mehr. Um von einem leeren Bildschirm zu einem lieferfähigen Software-Installer zu gelangen, ist viel mehr als nur Programmieren erforderlich, aber die meisten Programmierer würden lieber programmieren als paketieren.

Was ist Verpackung?

Wenn Lebensmittel zum Kauf an Geschäfte geschickt werden, werden sie verpackt. Beim Kauf direkt beim Bauern oder im umweltfreundlichen Groß- oder Reststoffhandel ist die Verpackung das von Ihnen mitgebrachte Behältnis. Beim Kauf in einem Lebensmittelgeschäft kann die Verpackung ein Karton, eine Plastiktüte, eine Blechdose usw. sein.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Wenn Software Computerbenutzern im Allgemeinen zur Verfügung gestellt wird, muss sie auch paketiert werden. Wie Lebensmittel gibt es mehrere Möglichkeiten, Software zu verpacken. Open-Source-Software kann unverpackt bleiben, da Benutzer, die Zugriff auf den Rohcode haben, ihn selbst kompilieren und paketieren können. Pakete haben jedoch Vorteile, sodass Anwendungen üblicherweise in einem für die Plattform des Benutzers spezifischen Format bereitgestellt werden. Und hier fangen die Probleme an, denn es gibt nicht nur ein Format für Softwarepakete.

Für den Benutzer erleichtern Pakete die Installation von Software, da die gesamte Arbeit vom Installationsprogramm des Systems erledigt wird. Die Software wird aus ihrem Paket extrahiert und an die entsprechenden Stellen innerhalb des Betriebssystems verteilt. Es kann kaum etwas schief gehen.

Für den Softwareentwickler bedeutet das Paketieren jedoch, dass Sie lernen müssen, wie man ein Paket erstellt – und zwar nicht nur ein Paket, sondern ein einzigartiges Paket für jedes Betriebssystem, auf dem Ihre Software installiert werden soll. Erschwerend kommt hinzu, dass es für jedes Betriebssystem und manchmal sogar für die verwendete Programmiersprache mehrere Paketierungsformate und -optionen gibt.

Paketierung unter Linux

Verpackungsoptionen für Linux schienen traditionell ziemlich überwältigend. Von Fedora abgeleitete Linux-Distributionen wie Red Hat und CentOS verwenden standardmäßig .rpm Pakete. Debian und Ubuntu (und ähnliche) verwenden standardmäßig .deb Pakete. Andere Distributionen verwenden möglicherweise das eine oder andere oder keines von beiden und entscheiden sich für ein benutzerdefiniertes Format. Auf Nachfrage sagen viele Linux-Benutzer, dass ein Programmierer seine Software idealerweise gar nicht für Linux paketiert, sondern sich stattdessen auf die Paketbetreuer jeder Distribution verlässt, um das Paket zu erstellen. Alle auf einem Linux-System installierte Software sollte aus dem offiziellen Repository dieser Distribution stammen. Es bleibt jedoch unklar, wie Sie Ihre Software zuverlässig verpackt und in einer Distribution enthalten können, ganz zu schweigen von allen Distributionen.

Flatpak für Linux

Das Flatpak-Verpackungssystem wurde eingeführt, um Linux als Bereitstellungsziel für Entwickler zu vereinheitlichen und zu dezentralisieren. Mit Flatpak kann entweder ein Entwickler oder jeder (ein Mitglied einer Linux-Community, ein anderer Entwickler, ein Mitglied des Flatpak-Teams oder jeder andere) Software frei paketieren. Sie können das Paket dann an Flathub senden oder das Paket selbst hosten und es praktisch jeder Linux-Distribution anbieten. Das Flatpak-System ist für alle Linux-Distributionen verfügbar, daher ist das Targeting auf eine das gleiche wie das Targeting auf alle.

Wie die Flatpak-Technologie funktioniert

Das Geheimnis der universellen Anziehungskraft von Flatpak ist eine Standardbasis. Das Flatpak-System ermöglicht es Entwicklern, auf einen gemeinsamen Satz von Software Developer Kit (SDK)-Modulen zu verweisen. Diese werden von den Betreuern des Flatpak-Systems gepackt und verwaltet. Die SDKs werden nach Bedarf abgerufen, wenn Sie ein Flatpak installieren, um die Kompatibilität mit Ihrem System sicherzustellen. Jedes gegebene SDK ist nur einmal erforderlich, da die darin enthaltenen Bibliotheken von jedem Flatpak, das es aufruft, gemeinsam genutzt werden können.

Wenn ein Entwickler eine Bibliothek benötigt, die noch nicht in einem vorhandenen SDK enthalten ist, kann der Entwickler diese Bibliothek im Flatpak hinzufügen.

Die Ergebnisse sprechen für sich. Benutzer können Hunderte von Paketen auf jeder Linux-Distribution von einem zentralen Repository namens Flathub installieren.

Wie Entwickler Flatpaks verwenden

Flatpaks sind so konzipiert, dass sie reproduzierbar sind, sodass der Build-Prozess einfach in einen CI/CD-Workflow integriert werden kann. Ein Flatpak wird in einer YAML- oder JSON-Manifestdatei definiert. Sie können Ihr erstes Flatpak erstellen, indem Sie meinem Einführungsartikel folgen, und Sie können die vollständige Dokumentation unter docs.flatpak.org lesen.

Linux macht es einfach

Das Erstellen von Software unter Linux ist einfach, und das Packen für Linux ist einfach und automatisierbar. Wenn Sie ein Programmierer sind, macht es Ihnen Linux leicht, das Paketieren zu vergessen, indem Sie auf ein System abzielen und dieses in Ihren Build-Prozess integrieren.


Linux
  1. 10 Gründe, Linux im Jahr 2021 zu lieben

  2. Warum Linux für Edge Computing entscheidend ist

  3. Warum Programmierer die Linux-Paketierung lieben

  4. 5 Gründe, warum ich es liebe, unter Linux zu programmieren

  5. Weitere Tipps zum Packen Ihrer Linux-Software mit RPM

Systemd lieben lernen

Warum Vim-Fans den Linux-Fenstermanager Herbstluftwm lieben

Warum ich Alpine immer noch für E-Mail am Linux-Terminal liebe

So installieren Sie Software in RHEL 8

Die 10 wichtigsten Gründe für die Verwendung von Linux

Warum Nerds Linux verwenden