[Teil 4] FreeBSD 13 – Ports & Packages

Ports & Packages

In den vorherigen Teilen haben wir bereits FreeBSD installiert und vor allem die aktuellen Patches heruntergeladen und auf unser System angewendet. Jetzt ist es an der Zeit mehr über die Bezugsquellen von Software zu erlernen. Ich möchte euch heute hier die zwei Möglichkeiten zeigen unter FreeBSD 13 Software zu beziehen und zu installieren. Das wären zum einen die sogenannten Ports und zum anderen die Packages. Ein Port, oder auf deutsch Zugang, zeichnet sich dadurch aus, dass der benötigte Quellcode erst heruntergeladen und kompiliert werden muss. Ein Package wiederrum ist vorgefertigt bzw. kompiliert und direkt nach dem Herunterladen zur Installation bereit. Ports haben hier den charmanten Vorteil, dass man vorab noch verschiedene Funktionalitäten bei Bedarf mitkompilieren lassen kann. Nachteil ist, dass es unter Umständen, wesentlich zeitaufwändiger ist als unter Verwendung von Packages. Später, in einem weiteren Teil, werden wir einmal Software aus einem Port heraus installieren und danach das gleiche Programm als vorgefertigtes Package. Aber lasst uns erstmal die verschiedenen Quellen anschauen, die unser Betriebssystem bietet:

Ports

Über den folgenden Befehl wird der aktuelle Snapshot der Portsammlung heruntergeladen und unter /var/db/portsnap gespeichert.

portsnap fetch

Danach sollte der komprimierte bei erstmaliger Verwendung entpackt werden. Dies erfolgt über:

portsnap extract

Anschließend kann die Portsammlung über folgenden Befehl immer wieder heruntergeladen und geupdated werden. Es ist also kein portsnap extract mehr notwendig. Dieser Befehl ist nur erfoderlich, wenn man auf einem neu installiertem System arbeitet:

portsnap fetch
portsnap update

Jetzt stellen wir fest, dass unter /usr/ports/ eine neue Ordnerstruktur verfügbar ist. Das sind die Kategorien der jeweiligen Ports. Das scheint natürlich erstmal nicht praktikabel, sich etliche Ordner durchzuwühlen um die gesuchte Software zu finden.

Um beispielsweise Programme zu suchen, müssen wir in das Verzeichnis /usr/ports wechseln und folgendes Kommando eingeben:

make search name=<Anwendungsname>
make search name=bash

Hierbei wird auch der Pfad innerhalb der Port-Sammlung angegeben, wo man den gesuchten Port vorfindet. In dieses müssen wir dann wechseln, um die Applikation zu installieren:

make install clean

Eine Alternative bietet die Website freshports.org. Dort könnt ihr das jeweilige Programm suchen und ihr kriegt den entsprechenden Pfad in der Portsammlung ausgespuckt und auch gleich das jeweilige Kommando um das Programm als Package zu installieren.

Ports auf freshports.org finden
Suchergebnis auf freshports.org

Zurück zu den Ports! In allen Ordnern zu Applikationen befindet sich ein MakeFile. Über dieses wird dann der entsprechende Quellcode heruntergeladen. Dabei kann man im Prozess noch verschiedene Optionen setzen, die man innerhalb der Software nutzen möchte. Diese werden dann im weiteren Prozess ebenfalls kompiliert und später in der installierten Applikation verfügbar sein. Falls zu installierende Software weitere Abhängigkeiten oder Bibliotheken besitzt, was meistens der Fall ist, werden diese automatisch heruntergeladen.

Um ein Programm wieder zu deinstallieren, wechseln wir in den jeweiligen Unterordner des Ports und führen folgendes Kommando aus:

make deinstall

Packages

Eine weitere Variante Programme zu installieren erfolgt über die sogenannten packages. Das sind bereits kompilierte Pakete, auch binaries genannt.

Bei erstmaliger Nutzung, was auf uns zutrifft, wird man erstmal pkg als Management Tool installieren müssen:

pkg Management-Tool installieren
pkg installieren

Danach können wir Software suchen um den exakten Namen herauszufinden, wie es uns auch schon mit den Ports möglich war. Nur mit dem feinen Unterschied, dass es keine Rolle spielt, wo wir uns im Filesystem befinden.

pkg search <Paketname>
pkg search bash

Auch hier wollen wir aber erstmal wieder das Repository der Packages aktualisieren. Das erfolgt über den Befehl:

pkg update

Zum Installieren eines Packages können wir dann folgenden Befehl auf der Kommandozeile ausführen:

pkg install <Paketname>
pkg install bash

Wenn es mal wieder Zeit wird, die vorhandene Software zu aktualisieren, dann funktioniert das über den Befehl:

pkg upgrade

Und natürlich zur Vollständigkeit der Befehl zum Deinstallieren. Dies erfolgt über diesen Befehl auf der Kommandozeile:

pkg remove bash

Das war es auch schon zu Ports & Packages unter FreeBSD. Ich hoffe, ich konnte einen kleinen Einblick in die Bezugsquellen von Anwendungen geben und dabei, einigermaßen verständlich den Unterschied zwischen den beiden Varianten erklären. Bei Fragen, Anregungen und Kritik, schreibt gerne in die Kommentare oder nutzt das Kontaktformular. Bis demnächst!

Show comments

Join the discussion

0 replies to “[Teil 4] FreeBSD 13 – Ports & Packages”

  1. […] letzten und wichtigsten Schritt. Jetzt wollen wir endlich Xfce installieren. Wie wir in Teil 4 gelernt haben, können wir Software über Ports oder Packages installieren. Bisher haben wir im […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert