Heim  >  Artikel  >  System-Tutorial  >  Binärpakete vs. Quellcodepakete unter Linux: Welche sollten Sie wählen?

Binärpakete vs. Quellcodepakete unter Linux: Welche sollten Sie wählen?

WBOY
WBOYnach vorne
2024-02-14 19:06:02878Durchsuche

In Linux-Systemen unterscheidet sich der Installationsvorgang normalerweise von der herkömmlichen Windows-Installationssoftwaremethode. Sie können es aus einem vorgefertigten Paket installieren oder das Programm selbst kompilieren. In diesen immer beliebter werdenden Distributionen sind vorgefertigte Pakete oft die primäre Lösung. Aber manchmal müssen Sie möglicherweise auch aus dem Quellcode kompilieren. Dies ist auch eine der Eigenschaften des Linux-Betriebssystems. Durch das Kompilieren eines Programms aus dem Quellcode wird sichergestellt, dass das Programm ordnungsgemäß auf dem System ausgeführt wird und über mehr Flexibilität und Anpassungsmöglichkeiten verfügt. Egal für welche Methode Sie sich entscheiden, Sie müssen die Methode auswählen, die basierend auf Ihren Anforderungen am besten für Sie geeignet ist.

Was ist ein Binärpaket?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Die Installation von Programmen unter Linux unterscheidet sich normalerweise von der herkömmlichen Art der Softwareinstallation unter Windows. Anstatt das Installationsprogramm von der Website des Anbieters herunterzuladen, stammen die Dateien aus einem Programm-Repository, das normalerweise an Ihre Linux-Distribution angepasst ist. Sie können über Ihren Linux-Paketmanager oder App Store auf dieses Repository zugreifen.

Die Programme in diesen Repositorys bestehen aus mehreren Dateien und sind für den einfachen Zugriff und die einfache Verteilung in einem Archivformat verpackt. Debian verwendet beispielsweise das DEB-Format zum Speichern und Verteilen von Programmen. Diese gepackten Dateien werden Binärpakete genannt.

So liest man Binärcode

Sie benötigen ein spezielles Programm, um diese Dateien zu extrahieren und auf Ihrem Computer zu installieren, normalerweise Ihren Paketmanager oder App Store. Diese Tools verfügen außerdem über weitere nützliche Funktionen, wie z. B. die Nachverfolgung installierter Dateien und die Verwaltung von Software-Updates.

Neuere Paketformate wie Flatpak und Snap funktionieren mit verschiedenen Linux-Versionen, bestehen aber immer noch aus vorkompilierten Binärdateien. Beide erfordern zur Installation einen grafischen App Store oder einen befehlszeilenbasierten Paketmanager.

Was ist Quellcode?

Jede Software besteht aus Textzeilen, die als Quellcode bezeichnet werden und in einer bestimmten Programmiersprache wie C oder C++ geschrieben sind. Normalerweise können Sie diesen Quellcode nicht einfach in eine Archivdatei packen und als Paket bezeichnen. Diese Zeilen müssen in eine Sprache übersetzt werden, die der Computer verstehen und ausführen kann.

Dieser Vorgang wird Kompilierung genannt und das Endergebnis ist die Erstellung einer Binärdatei, die der Computer ausführen kann. Der Unterschied zwischen einem Softwarepaket und einer Software besteht darin, dass die Binärdateien der Software zusammen mit anderen Dateien, beispielsweise Konfigurationsdateien, in einem Paket gespeichert werden.

Was ist „Von der Quelle installieren“?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Die Installation eines Programms aus dem Quellcode bedeutet die Installation ohne Verwendung eines Paketmanagers. Sie müssen den Quellcode kompilieren und die Binärdateien auf Ihren Computer kopieren.

In den meisten Fällen können Sie den Quellcode des Projekts von einem Hosting-Dienst wie GitHub, GitLab oder Bitbucket herunterladen. Größere Programme hosten den Quellcode möglicherweise sogar auf einer persönlichen Website. Dieser Code wird normalerweise in einem Archivformat (auch Quellcodepaket genannt) komprimiert.

Ein spezieller Satz an Tools hilft, den Build-Prozess zu automatisieren. Auf dem Linux-Desktop liegt es normalerweise als Befehlszeilenprogramm namens make vor. In verschiedenen Sprachen geschriebener Quellcode erfordert spezielle Compiler und Befehle, um ihn in Binärdateien umzuwandeln. Das Make-Programm automatisiert diesen Prozess.

Damit diese Automatisierung funktioniert, stellt das Programm eine Datei namens Makefile bereit, die make mitteilt, was es tun soll und wie es kompiliert wird. Heutzutage werden Makefiles meist automatisch durch spezielle Software wie CMake generiert. Hier müssen Sie eingreifen. Von hier aus können Sie die spezifische Funktionalität angeben, die Sie in die Software kompilieren möchten.

Beispiel aus dem Quellcode erstellt

Der folgende Befehl verwendet beispielsweise CMake, um eine Konfigurationsdatei für die Calligra-Office-Suite zu generieren. Die erstellte Datei weist das Make-Programm an, nur die Writer-Komponente von Calligra zu kompilieren.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra

Nach Abschluss dieses Schritts führen Benutzer einfach das Make-Tool aus, um die Ergebnisse zu kompilieren und auf ihren Computer zu kopieren. Die Schritte sind wie folgt:

make
make install
Linux 下二进制包 vs 源代码包:你应该选择哪个?

Während dies das allgemeine Muster zum Kompilieren eines Programms ist, gibt es viele andere Möglichkeiten, Quellpakete zu installieren. Gentoo Linux verfügt beispielsweise über eine integrierte Methode zur Handhabung von Quellcodepaketen, was den Prozess schneller und einfacher macht. Das Erstellen eines Binärpakets erfordert jedoch mehr Schritte als der obige Befehl.

Vorteile der Verwendung von Binärpaketen

Wenn Sie Linux verwenden, besteht die Möglichkeit, dass jemand die von Ihnen installierte Software vorkompiliert hat. Dies kommt häufiger vor als die Verwendung von Quellcodepaketen. Aber warum passiert das?

1. Die Binärversion ist einfacher zu verwalten

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Binärpakete enthalten nicht nur kompilierte Installationsdateien, sondern speichern auch andere Informationen, sodass Ihr Paketmanager den Überblick über alle Ihre Programme behalten kann. Beispielsweise enthalten DEB-Dateien (das Paketformat für Debian und seine Derivate) auch wichtige Informationen wie andere Software, die für die Ausführung des Programms erforderlich ist, und seine aktuelle Version.

Dies vereinfacht die Installation des Pakets erheblich, da Sie sich keine Gedanken darüber machen müssen, welche anderen Dateien für die erfolgreiche Ausführung des Programms erforderlich sind. Ihr Paketmanager kann diese Informationen aus dem Paket selbst lesen und alle erforderlichen Abhängigkeiten automatisch herunterladen.

Und wenn Sie ein Programm aus dem Quellcode installieren, sind Sie für die Verwaltung der Software verantwortlich, es sei denn, der Code wird in ein eigenständiges Binärpaket kompiliert. Sie müssen sich merken, welche anderen Programme Sie benötigen, damit es funktioniert, und diese selbst installieren.

2. Die Binärversion hat eine bessere Stabilität

Personen, die für die Wartung der Paketmanager-Repositorys verantwortlich sind, neigen dazu, die Binärdateien zu testen und zu versuchen, auftretende Probleme zu beheben. Dies kann zu einer verbesserten Stabilität führen, da Paketbetreuer möglicherweise Probleme entdecken, die von denjenigen, die den Quellcode installieren, möglicherweise übersehen wurden.

Darüber hinaus müssen Pakete in der Regel strenge Regeln einhalten, um sicherzustellen, dass sie auf Ihrem System ausgeführt werden. Beispielsweise verfügen sowohl Debian als auch Ubuntu über ein Richtlinienhandbuch, und viele andere Linux-Distributionen verfügen über ähnliche Handbücher.

Einige Programme sind zur Ausführung auch auf unterschiedliche Versionen derselben Softwareabhängigkeiten angewiesen. Das Paket-Repository wird sein Bestes tun, um diese Konflikte zu lösen, um Ihnen keine Probleme zu bereiten.

Vorteile der Kompilierung von Quellcodepaketen

Die Installation eines Programms aus dem Quellcode ist nicht jedermanns Sache, da es normalerweise einfacher ist, Ihren Computer zu warten, wenn Sie sich an Binärpakete halten. Dennoch bietet die Verwendung dieser etwas komplizierteren Art der Programminstallation einige Vorteile.

1. Der Quellcode stellt die neueste Software bereit

Ein Nachteil bei der Verbesserung der Zuverlässigkeit eines Programms besteht darin, dass es Zeit braucht, es zu verbessern und zu reparieren. Manchmal sind möglicherweise Binärdateien verfügbar, der Quellcode wird jedoch später bereitgestellt. Wer die neueste und beste Software haben möchte, ist möglicherweise bereit, beim Umtausch gegen neuere Software auf ein wenig Stabilität zu verzichten.

Obwohl es einige Linux-Betriebssysteme gibt, die diesen Bedarf ohne Kompilierung des Programms erfüllen können, haben sie auch einige Nachteile. Beispielsweise wird Software, die nicht häufig feste Paketversionen veröffentlicht, Schwierigkeiten haben, im Repository auf dem neuesten Stand zu bleiben. Im Gegensatz dazu gelten bei der Installation aus der Quelle diese Einschränkungen nicht.

Das liegt daran, dass Binärpakete normalerweise auf der Grundlage offiziell veröffentlichter Programmversionen erstellt werden. Daher werden Änderungen zwischen diesen Versionen in der Regel nicht berücksichtigt. Indem Sie Ihre eigene Software aus dem Quellcode kompilieren, können Sie sofort von diesen Änderungen profitieren.

Es kann auch sein, dass Ihr Linux-Betriebssystem nicht über die gewünschte Software verfügt. In der Vergangenheit wäre die Installation von der Quelle die einzige Option gewesen. Gängige Paketformate haben dies geändert. Flatpak- und Snap-Pakete erhalten Aktualisierungen im Allgemeinen auch schneller als System-Repositorys. Aber es gibt immer noch Zeiten, in denen die Kompilierung die einzige Möglichkeit ist, die gewünschte Software zu erhalten.

2. Sie können die Funktion selbst wählen

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Funktionen von FFmpeg Ein weiterer Vorteil der Verwendung von Quellcodepaketen besteht darin, dass Sie mehr Kontrolle über die von Ihnen installierten Programme haben. Bei der Installation aus einem Binär-Repository sind Ihre Möglichkeiten zum Anpassen von Paketen eingeschränkt.

Nehmen Sie FFmpeg als Beispiel, es ist ein befehlszeilenbasiertes Audio- und Videokonvertierungstool. Standardmäßig verfügt es über eine Vielzahl von Funktionen, von denen Sie einige möglicherweise nie nutzen werden. Beispielsweise unterstützt FFmpeg JACK-Audio, obwohl diese Software normalerweise nur in Produktionsumgebungen verwendet wird.

Durch das Kompilieren von FFmpeg können Sie nicht benötigte Funktionen entfernen und es leichter machen und Ihren Anforderungen anpassen. Das gleiche Prinzip gilt auch für andere große Programme.

Wenn die Ressourcen begrenzt sind, kann das Entfernen von Funktionen die Last effektiv reduzieren. Es ist kein Wunder, dass das auf Gentoo Linux basierende ChromeOS auf vielen Low-End-Computern verwendet wird. Gentoo basiert auf Quellcode und kompiliert viele Softwareprogramme, wodurch die Ausführung dieser Systeme möglicherweise einfacher wird.

Warum nicht sowohl Binär- als auch Quellpakete verwenden?

Obwohl Sie wahrscheinlich nicht jeden Tag Pakete kompilieren möchten, ist dies ein nützlicher Ansatz. Dennoch ist es mit dem neuen universellen Paketformat, das auf Websites wie dem Snap Store und Flathub verfügbar ist, weniger wahrscheinlich, dass Sie aus dem Quellcode erstellen müssen, um die neueste Software zu erhalten.

Das obige ist der detaillierte Inhalt vonBinärpakete vs. Quellcodepakete unter Linux: Welche sollten Sie wählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen