Software aus Paketen installieren oder aus dem Quellcode erstellen?

Software aus Paketen installieren oder aus dem Quellcode erstellen?

Das ist einKanonische Fragedarüber, wann Sie vorgefertigte Software verwenden und wann Sie diese selbst erstellen und installieren sollten.

Wann sollte ich Software aus Paketen installieren, die von meiner Betriebssystemdistribution bereitgestellt werden, anstatt sie selbst aus dem Quellcode zu erstellen und zu installieren? Wann ist es besser, aus dem Quellcode zu erstellen?

Antwort1

Sie sollten die Pakete Ihrer Distribution verwenden, es sei denn, Sie haben einen guten Grund, dies nicht zu tun. Die Verwendung der Pakete der Distribution bietet Ihnen wichtige Vorteile:

  • Das Installieren und Deinstallieren der Pakete sowie das Aktualisieren dieser Pakete erfordert weniger Aufwand.
  • Das Verpackungssystem installiert die Abhängigkeiten der Software automatisch und hält sie auch auf dem neuesten Stand.
  • Sicherheitsupdates werden von der Distribution automatisch für Sie bereitgestellt, Sie müssen sie also nicht verfolgen und haben auch keine Angst, sie zu verpassen.
  • Das Verpackungssystem konfiguriert die Dinge auf die bevorzugte Weise Ihrer Distribution. Auf apt-basierten Systemen wird Apache beispielsweise mit symbolischen Links in /etc/apache2/*-enabled und Tools (a2enconf, a2enmod, ...) installiert, mit denen Sie Apache-Funktionen aktivieren oder deaktivieren können. Dies kann zwar anfangs etwas aufwändiger für Sie sein, aber auf lange Sicht wird es einfacher und Ihre Konfiguration wird besser integriert, wenn Sie die nativen Tools und Vorgehensweisen der Distribution verwenden.

Wenn Sie eine neuere Version einer Software verwenden müssen, als Ihre Distribution bereitstellt, oder eine Funktion aktivieren müssen, die kompiliert werden muss, finden Sie in den Community-Repositorys möglicherweise aktuellere oder funktionsreichere Versionen des Pakets. Remis Repossind ein bekanntes Beispiel, das unter anderem viel aktuellere PHP-Versionen bietet als die, die mit RHEL/CentOS ausgeliefert werden. Die Verwendung eines Community-Repositorys bietet Ihnen viele der Vorteile der OS-Repos, allerdings besteht das Risiko, dass der Autor Malware freigibt, die Sie dann mit vollen Berechtigungen auf Ihrem System installieren. Sie müssen das Risiko/den Nutzen von Fall zu Fall selbst beurteilen.

Wenn keine dieser Alternativen für Sie funktioniert, müssen Sie aus dem Quellcode kompilieren. Beim Kompilieren von Software aus dem Quellcode empfiehlt sichErstellen Sie Ihre eigenen Binärpakete. Das Erstellen eigener Pakete ermöglicht Ihnen:

  • Arbeiten Sie mit dem Paketverwaltungssystem Ihrer Distribution für Verteilung, Installation, Abhängigkeitsverwaltung, Berichterstellung, Upgrades, Downgrades und Entfernung.
  • Beschränken Sie Ihre Build-Tools und Entwicklungsbibliotheken auf einen einzigen Build-Host (anstatt sie auf allen Test- und Produktionsservern zu installieren).
  • Folgen Sie dem üblichen Release-Pfad, indem Sie Ihre Pakete zuerst in einer Testumgebung bereitstellen, bevor Sie dasselbe Paket in Ihrer Produktionsumgebung bereitstellen.

Denn das machtSie, der Paketbetreuermüssen Sie die entsprechenden Sicherheits-Mailinglisten abonnieren, damit Sie keine kritischen Fehler und Sicherheitsupdates verpassen.

Wenn Sie lokal erstellte Software installieren, ohne sie zu verpacken,GNU verstauenkann dabei helfen, die Übersichtlichkeit zu wahren und eine saubere Deinstallation zu erleichtern.

Antwort2

Mir gefällt Andrews Antwort.

Ich möchte noch etwas zu Andrews Kommentar zur „besseren Integration“ hinzufügen. Wenn Sie eine Anwendung aus der Quelle installieren (eine Abhängigkeit eines zukünftigen Projekts) und später versuchen, ein Paket aus einer Binärdatei (z. B. ein Deb- oder RPM-Paket) zu installieren, erkennt dieses Paket möglicherweise nicht, dass eine Abhängigkeit installiert ist. Hätten Sie die ursprüngliche Abhängigkeitsanwendung aus einem RPM- oder DEB-Paket installiert, wüsste das zukünftige Paket, dass sie installiert wurde. Die Verwendung derselben Paketmethode (z. B. Yum, Pip, RPM usw.) ist eine bewährte Methode. Die Installation aus der Quelle ist eine weitere Methode. Die Einfachheit, von der Andrew spricht, ist also eine ernsthafte Überlegung.

Ich möchte hinzufügen, dass „Erstellen eigener Binärpakete“ den Vorteil hat, dass der Installationsvorgang protokolliert wird. Bei der Installation aus Quelldateien gibt es diesen Vorteil nicht.

verwandte Informationen