FreeBSD hat einen der besten Port-Systeme die es gibt. Was ein Port-System ist und wie es funktioniert erkläre ich dir hier.
Unter Linux hört man oft von "Paketmanagern" oder ähnlichem, sowas gibt es unter FreeBSD auch. Wir verwenden aber ausschließlich das Portssystem. Im deutschen FreeBSD-Handbuch findest du mehr Informationen zur Handhabung, ich gebe dir hier nur ein paar Grundlagen mit.
Das Ports-System ist eigentlich nichts anderes, als eine in einer Verzeichnisstruktur abgelegte Sammlung von Makefiles und Portbeschreibungen. In diesen ist gespeichert von wo die Quellen für die Software bezogen werden können und noch einiges mehr.
Wenn du nun eine Software installieren willst, suchst du dir im Portstree den entsprechenden Port und kompilierst die Software selber. Am elegantesten zu durchsuchen ist der Portstree auf jeden Fall über die Website "www.freshports.org". Hier findest du Sicherheitsmeldungen, die aktuelle Versionsnummer, Versionsverlauf und einiges mehr. Sogar eine individuelle Softwareliste kannst du dir anlegen, sodass du wöchentlich über Versionsupdates informiert werden kannst.
Du kannst aber auch hauseigene Tools verwenden, wie beispielsweise "whereis <Softwarename>". Ein Beispiel:
# whereis lsof
ergibt:
lsof: /usr/ports/sysutils/lsof
Alternativ kannst du auch in das Ports-Verzeichnis (/usr/ports) wechseln und "make search name=<Softwarename>" eingeben.
Aber wie installiert man nun Software aus dem Portstree? Nun, das ist eigentlich sehr einfach, allerdings dauert das Kompilieren je nach Softwaregröße und Serverleistung entsprechend lang.
Zunächst musst du wissen, dass sich der Portstree ständig ändert. Das heißt für dich also, dass du den Portstree vor einer Softwareinstallation aktualisieren solltest, wenn dieser schon mehrere Tage alt ist. Wie das geht kannst du hier nachlesen.
Ein kleines Beispiel:
Wir wollen den Texteditor "nano" aus den Ports installieren. Von der Website "FreshPorts" oder den oben genannten Befehlen finden wir heraus, dass der Pfad zum nano-Port "/usr/ports/editors/nano/" lautet.
Also wecheln wir in das Verzeichnis:
# cd /usr/ports/editors/nano/
Jetzt geben wir dem Computer den Befehl: make install clean
- make: Make sagt dem Server, dass er den Quelltext dieses Porgramms anhand dem Makefile (heißt "Makefile" und liegt im Verzeichnis in das wir gerade gewechselt haben) übersetzen soll. Es gibt ein zentrales Makefile namens "/etc/make.conf", wo wir Parameter angeben sollen. Hier werden wir später bspw. den Prozessor unseres Servers eintragen, sodass die Software für diesen optimiert wird.
- install: Mit dem ersten Parameter zu "make" geben wir den Befehl, dass die kompilierte Software auch gleich installiert werden soll. Du kannst also, um zu testen ob die Software überhaupt sauber kompiliert (so nennt sich das Übersetzen von Quelltext in maschinenlesbaren Code), nur "make" eingeben.
- clean: Der letzte Parameter sagt dem Programm "make", dass es nach dem Kompilieren die temporären Dateien wieder aufräumen und Unnötiges löschen soll.
Der gesamte Befehl zum Installieren unserer Beispielsoftware "nano" lautet also:
# cd /usr/ports/editors/nano/ && make install clean
Wenn du jetzt nochmal den Eintrag auf FreshPorts zu diesem Editor ansiehst, wirst du feststellen, dass genau dieser Befehl unter jedem Port-Eintrag steht. Du kannst also einfach diesen von der Website kopieren.
Eine Liste installierter Software kannst du dir mit dem Befehl "pkg_info" ausgeben lassen. In diese Datenbank werden die installierten Ports während der Installation eingetragen.
Zum Deinstallieren kannst du den Befehl "pkg_delete <Softwarename>" verwenden. Es ist hilfreich mit "pkg_info" nach der Software in der Liste zu suchen und den kompletten Namen mit Versionsnummer zu kopieren.