Benutzer-Werkzeuge

Webseiten-Werkzeuge


freebsd:freebsd_-_portmaster

FreeBSD - PortMaster

Vorbereitungen

Installation

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

Extras

sauber machen:

> portmaster ports-mgmt/portupgrade
> portsclean -CDL

Problem

> 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

Lösung

> /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
/home/http/wiki/data/pages/freebsd/freebsd_-_portmaster.txt · Zuletzt geändert: von manfred