PortMaster verwendet nur Werkzeuge, die bereits im Basissystem vorhanden sind (ist also nicht von weiteren Ports abhängig). Es verwendet Informationen in /var/db/pkg/, um festzustellen, welche Ports aktualisiert werden sollen. Damit ist es weiterhin möglich Pakete mit make install zu installieren.
> cd /usr/ports/ports-mgmt/portmaster > make install clean
einen Port (Bash) installieren:
> portmaster shells/bash
einen Port (Bash) installieren und gleichzeitig auch als Paket (für andere Hosts) ablegen:
> portmaster -g shells/bash > ls -lha /usr/ports/packages/ total 10 drwxr-xr-x 3 root wheel 3B Mar 3 21:35 . drwxr-xr-x 71 root wheel 89B Mar 2 00:09 .. drwxr-xr-x 2 root wheel 3B Mar 3 21:35 portmaster-download > ls -lha /usr/ports/packages/portmaster-download/ total 1502 drwxr-xr-x 2 root wheel 3B Mar 3 21:35 . drwxr-xr-x 3 root wheel 3B Mar 3 21:35 .. -rw-r--r-- 1 root wheel 1.5M Feb 3 02:18 bash-5.1.16.pkg
zeigt alle installierten Ports an:
> portmaster -L ===>>> Root ports (No dependencies, not depended on) ===>>> base64-1.5_2 ===>>> bsdhwmon-20151206 ===>>> New version available: bsdhwmon-20151206_1 ===>>> bsdinfo-0.22_2 ===>>> bsdstats-7.0_3 ===>>> cdparanoia-3.9.8_10 ... ===>>> zeroer-0.1_2 ===>>> 111 leaf ports ===>>> 630 total installed ports ===>>> 125 have new versions available
aktualisiert alle installierten und veralteten Ports:
> portmaster -a
einen Port/Paket löschen, auch die danach nicht mehr benötigten Abhängigkeiten:
> portmaster -e editors/nano
bereinigt die veralteten Ports, die früher benötigt wurden aber jetzt nicht mehr:
> portmaster -s
Nur Distfiles abrufen:
> portmaster -F
überprüft die Abhängigkeiten:
> portmaster --check-depends Checking all packages: 100% p5-DBD-Pg has a missing dependency: postgresql15-client p5-DBD-Pg is missing a required shared library: libpq.so.5 php81-pdo_pgsql has a missing dependency: postgresql15-client php81-pdo_pgsql is missing a required shared library: libpq.so.5 php81-pgsql has a missing dependency: postgresql15-client php81-pgsql is missing a required shared library: libpq.so.5 py39-psycopg2 has a missing dependency: postgresql15-client py39-psycopg2 is missing a required shared library: libpq.so.5
löscht alle veralteten Einträgen in /var/db/ports:
> portmaster --check-port-dbdir -y
===>>> Building list of installed port names
===>>> Checking /var/db/ports
===>>> archivers_7-zip does not seem to be installed
===>>> archivers_p7zip does not seem to be installed
===>>> archivers_rpm4 does not seem to be installed
===>>> archivers_unzip does not seem to be installed
...
so wird immer ein make config vorher gemacht:
> portmaster -aG
wenn ein Fehler aufgetreten ist, kann man mit dem Schalter "-f"
alle installierten Ports neu (und aktuell) bauen:
> portmaster -afG > portmaster -af
so mache ich das (Beispiele):
> portmaster -ybgtwR shells/bash-static editors/vim sysutils/screen misc/mc > portmaster -ybgtwRa
sauber machen:
> portmaster ports-mgmt/portupgrade > portsclean -CDL
> pkg-static: Unable to access file /var/ports/usr/ports/lang/python27/work/stage/usr/local/lib/python2.7/lib-dynload/_hashlib.so:No such file or directory
> /var/ports/usr/ports/ports-mgmt/pkg > make clean deinstall install > make clean
> cd /ports/usr/ports/lang/python27/ > make makeplist > pkg-plist.2 > sdiff pkg-plist /tmp/pkg-plist | grep -F '<' > rm /tmp/pkg-plist > make clean > git pull > make clean deinstall install > make clean