🇩🇪 Deutsch

04 Feb 2022

FreeBSD: Alle PHP-Pakete mit pkg upgraden

Mit dem Paketmanager pkg kann man recht einfach alle Pakete, die zu PHP gehoeren, in einem Rutsch von z. B. 7.4 auf 8.0 aktualisieren.

  • installierte PHP-Version checken
root@copperjail:~ # php --version
PHP 7.4.27 (cli) (built: Jan 13 2022 01:33:43) ( NTS )
  • Installierte Pakete von PHP checken, mit Regex 74 duch z. B. 80 oder die andere gewuenschte Version, ersetzen, bei Bedarf weitere Regexen, die Suffixes entfernen, nutzen
pkg info | grep php | sed 's/74/80/; s/-7.*//; s/-1.*//'
  • Hier die Version für 8.1 -> 8.2 :)
pkg info | grep php | sed 's/81/82/; s/-8.*//; s/-2.*//; s/-1.*//'
  • Wenn die ausgabe plausibel erscheint, kann es losgehen
pkg install `pkg info | grep php | sed 's/74/80/; s/-7.*//; s/-1.*//'`

pkg: No packages available to install matching 'php80-json' have been found in the repositories
  • Es gibt augenscheinlich php80-json nicht, deshalb dies in der Version 7.4 entfernen
root@copperjail:~ # pkg delete -fy php74-json
  • Und ein neuer Versuch \o/
pkg install `pkg info | grep php | sed 's/74/80/; s/-7.*//; s/-1.*//'`

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 32 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        php74-json: 7.4.27
        php80: 8.0.15
        php80-composer: 1.10.24
        php80-ctype: 8.0.15
        php80-curl: 8.0.15
        php80-dom: 8.0.15
        php80-extensions: 1.0
[...]
Number of packages to be installed: 32

The process will require 47 MiB more space.
7 MiB to be downloaded.

Proceed with this action? [y/N]:
  • Nach einem Plausibilitaetsheck y druecken, und los gehts \o/
[copperjail] [11/62] Deinstalling php74-opcache-7.4.27...
[copperjail] [11/62] Deleting files for php74-opcache-7.4.27: 100%
[copperjail] [12/62] Deinstalling php74-xmlwriter-7.4.27...
[copperjail] [12/62] Deleting files for php74-xmlwriter-7.4.27: 100%
[copperjail] [13/62] Deinstalling php74-intl-7.4.27...
[copperjail] [13/62] Deleting files for php74-intl-7.4.27: 100%
[copperjail] [14/62] Deinstalling php74-sqlite3-7.4.27...
[copperjail] [14/62] Deleting files for php74-sqlite3-7.4.27: 100%
[copperjail] [15/62] Deinstalling php74-iconv-7.4.27...
[...]
[copperjail] [49/62] Extracting php80-xml-8.0.15: 100%
[copperjail] [50/62] Installing php80-xmlreader-8.0.15...
[copperjail] [50/62] Extracting php80-xmlreader-8.0.15: 100%
[copperjail] [51/62] Installing php80-xmlwriter-8.0.15...
[copperjail] [51/62] Extracting php80-xmlwriter-8.0.15: 100%
[copperjail] [52/62] Installing php80-zlib-8.0.15...
[copperjail] [52/62] Extracting php80-zlib-8.0.15: 100%
[...]