Portmaster mit Unterstützung für Pakete
Mit Hilfe von portmaster könnten installierte Ports aktualisiert werden. Seit der Version 2.12 wird nun auch das Aktualisieren mit Hilfe von Paketen unterstützt. Im FreeBSD Portbaum findet man portmaster unter ports-mgmt/portmaster:
# cd /usr/ports/ports-mgmt/portmaster && make install clean
Mit Hilfe der -PP Option werden die installierten Ports aussschliesslich mit Paketen aktualisiert. Die heruntergeladenen Pakete werden dabei im /usr/ports/packages/portmaster-download/ Verzeichnis gespeichert:
# portmaster -PP pkg_cutleave ===>>> Currently installed version: pkg_cutleaves-20080320 ===>>> Port directory: /usr/ports/ports-mgmt/pkg_cutleaves ===>>> Gathering dependency list for ports-mgmt/pkg_cutleaves from ports ===>>> Starting dependency check ===>>> Dependency check complete for ports-mgmt/pkg_cutleaves ===>>> Starting install for ports-mgmt/pkg_cutleaves <<<=== ===>>> All dependencies are up to date ===>>> Checking package repository for latest available version ===>>> Creating a backup package for old version pkg_cutleaves-20080320 ===>>> Installing package ===>>> Updating dependencies for pkg_cutleaves-20090810 to match installed versions ===>>> Upgrade of pkg_cutleaves-20080320 to pkg_cutleaves-20090810 complete
Möchte man den Server festlegen, von welchem die Pakete heruntergeladen werden, so kann dazu die PACKAGESITE-Umgebungsvariable gesetzt werden. Zum Beispiel in der (t)csh:
# setenv PACKAGESITE http://tinderbox.chruetertee.ch/tb/packages/8-FreeBSD
Verwendet man die -P Option so wird falls vorhanden ein Paket zur Aktualisierung verwendet, wird aber keines gefunden, so wird der Port mit Hilfe des Portbaumes aktualisiert. Im folgenden Beispiel werden alle installierten Ports aktualisiert für welche es eine neuere Version gibt. Falls möglich wird zur Aktualisierung ein Paket verwendet, ist keines vorhanden wir der Port mit Hilfe des Portbaumes kompiliert:
# portmaster -P -a
Findet portmaster ein Paket, welches neuer ist als das Installierte ist, im Portbaum befindet sich allerdings noch eine neuere Version des Portes, kann mit der --packages-if-newer festgelegt werden, dass trotzdem das Paket installiert wird:
# portmaster -P --packages-if-newer nmap
Sollten beim Aktualisieren eines Ports neue Abhängigkeiten für das Kompilieren dieses Portes benötigt werden, können diese mit Hilfe der --packages-build Option als Pakete heruntergeladen und installiert werden.
# portmaster --packages-build screen
Mehr Informationen zu portmaster findet man in der Manpage portmaster(8). Informationen über die zukünftigen Möglichkeiten von portmaster und wie man die Entwicklung von portmaster unterstützen kann, findet man auf der "portmaster funding proposal"-Webseite.