Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
FreeBSD - Update
- FreeBSD - PortMaster verwendet nur Werkzeuge, die bereits im Basissystem vorhanden sind
to update: modernisieren to upgrade: aktualisieren
Allgemeines
25.6. Updating FreeBSD from Source
> vi /etc/freebsd-update.conf
aktuelle Hardware-Plattform:
> uname -m amd64
Prozessor-Architektur:
> uname -p amd64
Kernel-Version:
> uname -K 1400097
Version der Benutzerumgebung:
> uname -U 1400097
Kompiler-Kode-Version der einzelnen Pakete:
> pkg annotate -aS FreeBSD_version
prüfen, ob beide Versionsnummer übereinstimmen:
> if [ "$(uname -K)" = "$(uname -U)" ]; then echo "Kernel-Version und Benutzerumgebung haben die gleiche Version."; else echo "Kernel-Version und Benutzerumgebung haben unterschiedliche Versionen!"; fi Kernel-Version und Benutzerumgebung haben die gleiche Version.
alle Pakete anzeigen, die nach einem Upgrade neu gebaut werden sollten:
> pkg annotate -aS FreeBSD_version | grep -Fv "Value: $(uname -U)" ... zstd-1.5.4_2: Tag: FreeBSD_version Value: 1302001
alle ORIGINs der Pakete anzeigen, die nach einem Upgrade neu gebaut werden sollten:
> for A in $(pkg annotate -aS FreeBSD_version | grep -Fv "Value: $(uname -U)" | awk -F':' '{print $1}'); do pkg info -qo ${A}; done
...
archivers/zstd
FreeBSD 14.0 - alle gewünschten Pakte install/update
So mache ich es auf meinem Server. - Es ist nur ein Beispiel!
So stelle ich sicher, dass die Pakete in der richtigen Reihenfolge und mit den richtigen Optionen installiert werden. Wichtig ist hierbei, dass ich die Pakete, bei denen mir die Compiler-Optionen egal sind, per PIN-Paket isntalliere und die Pakete, die erweiterte Compiler-Optionen haben sollen, aus dem Ports-Tree gebaut werden.
Das mache ich aus zwei Gründen so: 1. geht es schnelle und 2. lassen sich leider (bei mir) bestimmte Pakete (z.B.: mkvtoolnix und MakeMKV) nicht problemlos aus dem Ports-Tree gebaut.
Diese Konfiguration habe ich, am 16. Februar 2024, unter FreeBSD 14.0 mit dem Ports-Tree in der Version 2024Q1 erfolgreich benutzt (getestet)!
Ausführung:
> for P in $(cd /usr/ports/multimedia/mkvtoolnix && make run-depends-list) /usr/ports/graphics/gd /usr/ports/graphics/ImageMagick7; do cd ${P} && make deinstall; done
> /home/sbin/alle_Pakete_installieren_bzw_updaten.sh
- /usr/src/sys/amd64/conf/MYKERNEL
# # https://docs.freebsd.org/de/books/handbook/kernelconfig/ # # cat /home/etc/MYKERNEL > /usr/src/sys/amd64/conf/MYKERNEL # ### die zu bauenden Kernel festlegen in /etc/src.conf # KERNCONF=MYKERNEL GENERIC include GENERIC ident MYKERNEL nooptions DDB # Enable the ddb(4) kernel debugger options NULLFS # NULL filesystem device nvram # Access to rtc cmos via /dev/nvram # device speaker # Play IBM BASIC-style noises out your speaker envvar hint.speaker.0.at="isa" envvar hint.speaker.0.port="0x61" device isa #nodevice isa # Don't need to support an ISA bus # options ZFS # NB: This depends on crypto, cryptodev and ZSTDIO device crypto # core crypto support device cryptodev # /dev/crypto for access to h/w options ZSTDIO # zstd-compressed kernel and user dumps # device sg # Linux SCSI passthrough # PCI Ethernet NICs. device cxgb # Chelsio T3 10 Gigabit Ethernet device cxgb_t3fw # Chelsio T3 10 Gigabit Ethernet firmware device cxgbe # Chelsio T4-T6 1/10/25/40/100 Gigabit Ethernet device cxgbev # Chelsio T4-T6 Virtual Functions device mxge # Myricom Myri-10G 10GbE NIC device oce # Emulex 10 GbE (OneConnect Ethernet) ### oder in der /etc/src.conf mit der Variablen WITHOUT_MODULES abschalten ### WITHOUT_MODULES= amr arcmsr ciss iir ips mly twa smartpqi tws aac aacraid ida mfi mlx mrsas twe agp cbb pccard cardbus wlan wlan_wep wlan_ccmp wlan_tkip wlan_amrr an ath ath_pci ath_hal bwi bwn ipw iwi iwn malo mwl ral wpi virtio hyperv # nooptions COMPAT_FREEBSD4 # Compatible with FreeBSD4 nooptions COMPAT_FREEBSD5 # Compatible with FreeBSD5 nooptions COMPAT_FREEBSD6 # Compatible with FreeBSD6 nooptions COMPAT_FREEBSD7 # Compatible with FreeBSD7 nooptions COMPAT_FREEBSD8 # Compatible with FreeBSD7 nooptions COMPAT_FREEBSD9 # Compatible with FreeBSD9 nooptions COMPAT_FREEBSD10 # Compatible with FreeBSD10 #nooptions COMPAT_FREEBSD11 # Compatible with FreeBSD11 #nooptions COMPAT_FREEBSD12 # Compatible with FreeBSD12 # ===> Configuring for rust-1.75.0 # Bad system call # => Sanity check failed: kernel is missing COMPAT_FREEBSD11 # => Aborting build
Ach ja, ich muß noch hinzufügen, dass sich "multimedia/makemkv" nur installieren lässt, wenn man "device sg" in den Kernel mit einkompiliert hat, weiterhin lassen sich die Pakete links (mit SVG-Unterstützung) und MiniDLNA nur installieren, wenn "options COMPAT_FREEBSD11" im Kernel aktiviert ist, weil diese eine Abhängigkeit zu Rust haben und es z.Z. Rust nur für "FreeBSD 11" gibt.
- /etc/make.conf
WRKDIRPREFIX= /var/ports DISTDIR= /var/ports/distfiles PACKAGES= /var/ports/packages INDEXDIR= /var/ports BATCH=NO OPTIONS_UNSET+=DEBUG DEFAULT_VERSIONS+=ssl=openssl MAKEOPTS="-j9" KERNCONF=MYKERNEL DISABLE_VULNERABILITIES=yes MAKE_JOBS_UNSAFE=yes WITH_MPM=event .if ${.CURDIR:M*/multimedia/ffmpeg} OPTIONS_FILE_SET+=FDK_AAC OPTIONS_FILE_SET+=OPENSSL OPTIONS_FILE_UNSET+=NETWORK OPTIONS_FILE_UNSET+=GNUTLS OPTIONS_FILE_UNSET+=GLSLANG OPTIONS_FILE_UNSET+=LIBPLACEBO OPTIONS_FILE_UNSET+=SHADERC OPTIONS_FILE_UNSET+=VULKAN .endif .if ${.CURDIR:M*/graphics/libglvnd} OPTIONS_FILE_SET+=X11 .endif .if ${.CURDIR:M*/multimedia/mkvtoolnix} OPTIONS_FILE_SET+=DVDREAD OPTIONS_FILE_SET+=FLAC .endif .if ${.CURDIR:M*/editors/mg} FLAVOR=static .endif .if ${.CURDIR:M*/security/su-exec} FLAVOR=static .endif .if ${.CURDIR:M*/shells/oksh} FLAVOR=static .endif .if ${.CURDIR:M*/games/stonesoup} FLAVOR=console .endif .if ${.CURDIR:M*/games/cataclysm-dda} FLAVOR=curses .endif .if ${.CURDIR:M*/net-p2p/transmission-components} FLAVOR=cli .endif .if ${.CURDIR:M*/sysutils/cpu-x} FLAVOR=ncurses .endif .if ${.CURDIR:M*/editors/emacs-devel} FLAVOR=nox .endif .if ${.CURDIR:M*/editors/emacs} FLAVOR=nox .endif .if ${.CURDIR:M*/emulators/open-vm-tools} FLAVOR=nox11 .endif .if ${.CURDIR:M*/emulators/qemu7} FLAVOR=nox11 .endif .if ${.CURDIR:M*/emulators/qemu} FLAVOR=nox11 .endif .if ${.CURDIR:M*/games/brogue} FLAVOR=nox11 .endif .if ${.CURDIR:M*/games/xnethack} FLAVOR=nox11 .endif .if ${.CURDIR:M*/graphics/ImageMagick7} FLAVOR=nox11 .endif .if ${.CURDIR:M*/graphics/gifsicle} FLAVOR=nox11 .endif .if ${.CURDIR:M*/graphics/ImageMagick6} FLAVOR=nox11 .endif .if ${.CURDIR:M*/lang/nll} FLAVOR=nosdl .endif .if ${.CURDIR:M*/misc/chatgpt-shell-cli} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net/unison232} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net/unison251} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net/unison248} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net/unison240} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net/unison} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net/wireshark} FLAVOR=nox11 .endif .if ${.CURDIR:M*/net-p2p/qbittorrent} FLAVOR=nox .endif .if ${.CURDIR:M*/sysutils/pwsafe} FLAVOR=nox11 .endif .if ${.CURDIR:M*/sysutils/dvdisaster} FLAVOR=nox11 .endif .if ${.CURDIR:M*/sysutils/screenfetch} FLAVOR=nox11 .endif
- /home/sbin/alle_Pakete.cfg
#==============================================================================# BIND_VERSION="918" APACHE_VERSION="24" PHP_VERSION="81" SAMBA_VERSION="416" POSTGRESQL_VERSION="15" # für die richtige Version, siehe php81-pgsql - Abhängigkeit #==============================================================================# PKG_REPO_01=" devel/git ports-mgmt/pkg ports-mgmt/portmaster ports-mgmt/psearch shells/bash-static editors/vim sysutils/screen misc/mc archivers/rar misc/gnu-watch sysutils/zfsnap converters/base64 converters/unix2dos converters/dosunix ftp/wget ftp/lftp net/rsync net/bmon archivers/zip sysutils/dmidecode sysutils/sysinfo sysutils/smartmontools sysutils/nvme-cli sysutils/hwstat sysutils/freecolor www/squid www/squidanalyzer www/squidview security/sudo security/snoopy security/openssl security/mcrypt sysutils/pwgen sysutils/fusefs-ntfs sysutils/fusefs-ext2 sysutils/e2fsprogs sysutils/eject sysutils/lsblk sysutils/lsop sysutils/lscpu sysutils/bsdstats sysutils/zeroer sysutils/grub2-bhyve sysutils/vm-bhyve sysutils/ipmitool sysutils/pcpustat sysutils/freecolor devel/pkgconf mail/fetchmail mail/fetchmailconf textproc/pdftohtml print/pstotext print/psutils print/ghostscript10 mail/dovecot mail/maildrop net-mgmt/iftop net-mgmt/ipcalc net-mgmt/sipcalc graphics/p5-Image-ExifTool www/p5-LWP-UserAgent-WithCache databases/postgresql${POSTGRESQL_VERSION}-server databases/pgtop net/samba${SAMBA_VERSION} graphics/php${PHP_VERSION}-gd textproc/php${PHP_VERSION}-xml archivers/php${PHP_VERSION}-zip ftp/php${PHP_VERSION}-curl ftp/curl www/links www/nginx www/thttpd lang/php${PHP_VERSION} lang/php${PHP_VERSION}-extensions sysutils/php${PHP_VERSION}-fileinfo databases/php${PHP_VERSION}-pdo_pgsql databases/php${PHP_VERSION}-pgsql www/php${PHP_VERSION}-opcache net-im/py-matrix-synapse audio/cdparanoia audio/faac audio/vorbis-tools audio/lame textproc/dict textproc/jq net/wol " #==============================================================================# PKG_PORTS_01=" sysutils/lsof sysutils/bsdhwmon sysutils/bsdinfo audio/libsndfile multimedia/ffmpeg multimedia/libdvdread sysutils/cpupdate " #==============================================================================# PKG_REPO_02=" sysutils/dvdbackup sysutils/vobcopy sysutils/dvd+rw-tools security/nmap security/py-acme security/py-certbot security/py-certbot-dns-cloudflare graphics/ImageMagick7 multimedia/mediainfo multimedia/mkvtoolnix " #==============================================================================# BLURAY="emulators/linux-c7 multimedia/makemkv" #==============================================================================# PKG_PORTS_02=" converters/p5-JSON-PP " #==============================================================================#
- /home/sbin/alle_Pakete_installieren_bzw_updaten.sh
#!/bin/sh . /home/sbin/alle_Pakete.cfg ( ### wenn es Probleme bei der Installation gibt #echo "# 0 # make deinstall" #for P in $(cd /usr/ports/multimedia/mkvtoolnix && make run-depends-list) /usr/ports/graphics/gd /usr/ports/graphics/ImageMagick7; do cd ${P} && make deinstall; done echo "# 1 # portsclean -CDL" portsclean -CDL echo "# 2 # pkg install PKG_REPO_01" pkg install ${PKG_REPO_01} echo "# 3 # portmaster -yKgtRf -U PKG_PORTS_01" portmaster -yKgtRf -U ${PKG_PORTS_01} echo "# 4 # pkg install PKG_REPO_02 BLURAY" pkg install ${PKG_REPO_02} ${BLURAY} echo "# 5 # portmaster -yKgtRf -U PKG_PORTS_02" portmaster -yKgtRf -U ${PKG_PORTS_02} echo "# 6 # portsclean -CDL" portsclean -CDL ) 2>&1 | tee /tmp/alle_Pakete_installieren_bzw_updaten.log
Upgrade FreeBSD 13.2 zu 14.0
FreeBSD 13.1 zu 13.2
aktuelle Version vom User-Land anzeigen
> cat /etc/os-release
aktuelle Version vom Kernel anzeigen
> uname -a
zeigt das ident des aktuell laufenden Kernels
> uname -i MYKERNEL
Print the version and patch level of the installed kernel.
> freebsd-version -k
Print the version and patch level of the running kernel.
> freebsd-version -r
Print the version and patch level of the installed userland.
> freebsd-version -u
als erstes müssen alle Paches in das aktuelle System installiert werden
> freebsd-update fetch > freebsd-update install
Update mit binären Dateien
Upgrade to FreeBSD 13.2 from FreeBSD 13.1
# Ein binäres Update von 13.1 auf 13.2 kann man auch mit freebsd-update durchführen.
> freebsd-update -r 13.2-RELEASE upgrade > freebsd-update install
Braucht man einen eigenen Kernel, dann muß man den nachher aus den Quellen bauen, wie unten beschrieben!
FreeBSD-Upgrade aus den Quellen
als erstes die neuesten Quellen holen, offiziell wird es etwas einfacher beschrieben aber nur diese Methode hat in jedem Fall (über 10 Jahre lang) zum Ziel geführt:
> rm -fr /usr/src/* > cd /usr/src || exit 1 > rm -fr .arcconfig .arclint .cirrus-ci/ .cirrus.yml .clang-format .git/ .gitattributes .github/ .gitignore > git clone https://git.freebsd.org/src.git . > git branch -a | head > git switch releng/13.2 > sh /usr/src/sys/conf/newvers.sh -v > cd /usr/src && make cleanworld || exit 21 > less /usr/src/UPDATING
jetzt muss als erstes (wenn man das möchte) eine eigene Kerneldatei angelegt werden:
> cat MYKERNEL > /usr/src/sys/amd64/conf/MYKERNEL > vi /usr/src/sys/amd64/conf/MYKERNEL
nun können wir unsere System neu bauen, als erstes muß der Kernel gebaut und installiert werden:
> cd /usr/src && make cleanworld && make -j$(sysctl -n hw.ncpu) buildkernel KERNCONF=MYKERNEL && make installkernel KERNCONF=MYKERNEL > shutdown -r now
erst jetzt kann die Welt gebaut werden (bei Pach-Level-Updates geht das auch schon vorher aber Major-Release-Update ńur mit neuem Kernel):
> cd /usr/src && make -j$(sysctl -n hw.ncpu) buildworld
Enable “pre-world” mode. Only merge changes to files that are necessary to successfully run ‘make installworld’ or ‘make installkernel’.
> etcupdate -p
Conflicts remain from previous update, aborting.
> etcupdate status
C /etc/ssh/sshd_config
> etcupdate diff
...
> etcupdate resolve
Resolving conflict in '/etc/ssh/sshd_config':
Select: (p) postpone, (df) diff-full, (e) edit,
(h) help for more options: h
(p) postpone - ignore this conflict for now
(df) diff-full - show all changes made to merged file
(e) edit - change merged file in an editor
(r) resolved - accept merged version of file
(mf) mine-full - accept local version of entire file (ignore new changes)
(tf) theirs-full - accept new version of entire file (lose local changes)
(h) help - show this list
Select: (p) postpone, (df) diff-full, (e) edit,
(h) help for more options: e
...
# Change to no to disable PAM authentication
<<<<<<< yours
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
||||||| original
#ChallengeResponseAuthentication yes
=======
#KbdInteractiveAuthentication yes
>>>>>>> new
...
### das ändern wir in:
...
# Change to no to disable PAM authentication
#KbdInteractiveAuthentication yes
...
/var/db/etcupdate/conflicts/etc/ssh/sshd_config: 151 lines, 3774 characters.
Select: (p) postpone, (df) diff-full, (e) edit, (r) resolved,
(h) help for more options: r
> etcupdate status
> etcupdate -p
> cd /usr/src && make installworld
> etcupdate -B
> shutdown -r now
FreeBSD 13.0
-
-
- The freebsd-update(8) utility supports binary upgrades of i386 and amd64 systems running earlier FreeBSD releases.
- Systems running 12.3-RELEASE or 13.0-RELEASE can upgrade as follows:
# freebsd-update fetch# freebsd-update install
- Now the freebsd-update(8) utility can fetch bits belonging to 13.1-RELEASE. During this process freebsd-update(8) will ask for help in merging configuration files.
# freebsd-update upgrade -r 13.1-RELEASE# freebsd-update install
- The system must now be rebooted with the newly installed kernel before the non-kernel components are updated.
# shutdown -r now
- After rebooting, freebsd-update(8) needs to be run again to install the new userland components:
# freebsd-update install
- At this point, users of systems being upgraded from earlier FreeBSD releases will be prompted by freebsd-update(8) to rebuild all third-party applications (e.g., ports installed from the ports tree) due to updates in system libraries.
- After updating installed third-party applications (and again, only if freebsd-update(8) printed a message indicating that this was necessary), run freebsd-update(8) again so that it can delete the old (no longer used) system libraries:
# freebsd-update install
- Finally, reboot into 13.1-RELEASE
# shutdown -r now
-
Als erstes die Jails anhalten.
Beispiel FreeBSD 13.0
> echo "KERNCONF=MYKERNEL" >> /etc/src.conf
nur den Kernel neu bauen
> vi /usr/src/sys/amd64/conf/MYKERNEL > cd /usr/src && make clean && make kernel > reboot
- /usr/src/sys/amd64/conf/MYKERNEL
### die zu bauenden Kernel festlegen in /etc/src.conf # KERNCONF=MYKERNEL GENERIC include GENERIC ident MYKERNEL nooptions DDB # Enable the ddb(4) kernel debugger device nullfs device nvram # device speaker envvar hint.speaker.0.at="isa" envvar hint.speaker.0.port="0x61" device isa #nodevice isa # Don't need to support an ISA bus # device zfs device sg nooptions cxgbe # Chelsio T4-T6 1/10/25/40/100 Gigabit Ethernet ### IPv6 - mit "no" davor wird abgeschaltet options INET6 # IPv6 communications protocols device gif # IPv6 and IPv4 tunneling ### oder in der /etc/src.conf mit der Variablen WITHOUT_MODULES abschalten ### WITHOUT_MODULES= amr arcmsr ciss iir ips mly twa smartpqi tws aac aacraid ida mfi mlx mrsas twe agp cbb pccard cardbus wlan wlan_wep wlan_ccmp wlan_tkip wlan_amrr an ath ath_pci ath_hal bwi bwn ipw iwi iwn malo mwl ral wpi virtio hyperv # options COMPAT_FREEBSD32 # Compatible with i386 binaries nooptions COMPAT_FREEBSD4 # Compatible with FreeBSD4 nooptions COMPAT_FREEBSD5 # Compatible with FreeBSD5 nooptions COMPAT_FREEBSD6 # Compatible with FreeBSD6 nooptions COMPAT_FREEBSD7 # Compatible with FreeBSD7 nooptions COMPAT_FREEBSD9 # Compatible with FreeBSD9 nooptions COMPAT_FREEBSD10 # Compatible with FreeBSD10 options COMPAT_FREEBSD11 # Compatible with FreeBSD11 options COMPAT_FREEBSD12 # Compatible with FreeBSD12
das ganze System neu bauen
die System-Quellen komplett neu holen
GIT installieren
> cd /usr/ports/devel/git && make clean && make config-recursive && make && make install && make clean
System-Quellen neu saugen:
> rm -fr /usr/src/* > cd /usr/src > rm -fr .arcconfig .arclint .cirrus-ci/ .cirrus.yml .clang-format .git/ .gitattributes .github/ .gitignore > git clone https://git.freebsd.org/src.git . > git branch -a | head > #git checkout releng/13.2 > git switch releng/13.2 > git branch -a | head
die System-Quellen aktualisieren
wenn die System-Quellen schon einmal mit GIT gesaugt wurden:
> cd /usr/src && make clean > git pull > sh /usr/src/sys/conf/newvers.sh -v
> vi /usr/src/sys/amd64/conf/MYKERNEL > cd /usr/src && make clean && make buildworld && make installkernel
> reboot
> for A in squid minidlna postgresql dovecot nginx ; do service ${A} stop ; done
> cd /usr/src && make installworld && mergemaster -Ui
> make check-old;
> make delete-old;
> make check-old-libs;
> make delete-old-libs;
> reboot
die Pakete aus dem Ports-Tree aktualisieren
> portsclean -CDL
for PT in ${PKG_LISTE}
do
echo "#------------------------------------------------------------------------------#"
echo "### ${PT}"
cd /usr/ports/${PT} && make clean
cd /usr/ports/${PT} && make config
done
> portupgrade -arF > portsnap fetch update
for PT in ${PKG_LISTE}
do
echo "#------------------------------------------------------------------------------#"
echo "### ${PT}"
#cd /usr/ports/${PT} && make config-recursive
cd /usr/ports/${PT} && make clean ; make && (make deinstall ; make install)
done
> portsclean -CDL
PKG_LISTE="
ports-mgmt/pkg
ports-mgmt/portupgrade
ports-mgmt/portmaster
ports-mgmt/psearch
shells/bash
editors/vim
sysutils/screen
misc/mc
misc/gnu-watch
sysutils/zfsnap
converters/base64
converters/unix2dos
converters/dosunix
ftp/wget
ftp/lftp
net/rsync
net/bmon
archivers/zip
archivers/p7zip
sysutils/dmidecode
sysutils/sysinfo
sysutils/smartmontools
sysutils/nvme-cli
sysutils/hwstat
www/squid
www/squidanalyzer
www/squidview
security/sudo
security/snoopy
security/openssl
security/mcrypt
sysutils/pwgen
sysutils/fusefs-ntfs
sysutils/fusefs-ext2
sysutils/e2fsprogs
sysutils/eject
sysutils/lsblk
sysutils/lsop
sysutils/lscpu
sysutils/bsdstats
sysutils/zeroer
sysutils/grub2-bhyve
sysutils/vm-bhyve
sysutils/ipmitool
sysutils/pcpustat
devel/pkgconf
mail/fetchmail
mail/fetchmailconf
textproc/pdftohtml
print/pstotext
print/psutils
print/ghostscript9-agpl-base
mail/dovecot
mail/maildrop
net-mgmt/iftop
net-mgmt/ipcalc
net-mgmt/sipcalc
graphics/p5-Image-ExifTool
databases/postgresql12-server
graphics/poppler-utils
net/samba${SAMBA_VERSION}
lang/php${PHP_VERSION}
graphics/php${PHP_VERSION}-gd
textproc/php${PHP_VERSION}-xml
archivers/php${PHP_VERSION}-zip
ftp/php${PHP_VERSION}-curl
ftp/curl
security/php${PHP_VERSION}-openssl
www/links
www/nginx
www/thttpd
net-im/py-matrix-synapse
audio/cdparanoia
audio/faac
audio/vorbis-tools
audio/lame
textproc/dict
sysutils/lsof
sysutils/bsdhwmon
sysutils/bsdinfo
audio/libsndfile
multimedia/ffmpeg
multimedia/libdvdread
multimedia/mplayer
sysutils/cpupdate
security/gnupg
graphics/ImageMagick7
multimedia/x264
multimedia/mediainfo
sysutils/dvdbackup
audio/vorbis-tools
multimedia/mkvtoolnix
multimedia/handbrake
sysutils/vobcopy
sysutils/dvd+rw-tools
net/minidlna
security/nmap
converters/p5-JSON-PP
sysutils/ezjail
emulators/linux-c7
multimedia/makemkv
ab FreeBSD 11.0-RELEASE
update FreeBSD 11.0-RELEASE
# freebsd-update fetch # freebsd-update install
upgrade von FreeBSD 11.1 auf FreeBSD 11.2-RELEASE
# freebsd-update upgrade -r 11.2-RELEASE # freebsd-update install <reboot the system> # freebsd-update install <updating installed third-party applications> # freebsd-update install <reboot the system>
bis FreeBSD 10.3-RELEASE
FreeBSD 10.3-RELEASE (: > /usr/bin/bspatch)
# : > /usr/bin/bspatch # freebsd-update upgrade -r 11.0-RELEASE # freebsd-update install <reboot the system> # freebsd-update install <rebuild third-party software> # freebsd-update install
Beispiel FreeBSD 8.0
# uname -a FreeBSD hostname 8.0-RELEASE-p4 FreeBSD 8.0-RELEASE-p4 #0: Sun Aug 29 22:00:45 CEST 2010 root@hostname:/usr/obj/usr/src/sys/GENERIC amd64
Wir haben also ein 8.0-er Release und wollen auf 8.1 aktuallisieren, das ging mit cvsup ganz gut
aber jetzt geht es mit freebsd-update deutlich besser…
Und das geht so, erstmal alles nötige für das neue Release saugen:
# freebsd-update -r 8.1-RELEASE upgrade Looking up update.FreeBSD.org mirrors... 4 mirrors found. Fetching metadata signature for 8.0-RELEASE from update5.FreeBSD.org... done. Fetching metadata index... done. Fetching 1 metadata patches. done. Applying metadata patches... done. Fetching 1 metadata files... ...
Jetzt werden einige Dateiunterschiede gezeigt, die man von Hand bearbeiten muss, aber das gibt es ja auch beim Update mit cvsup.
… dann den neuen Kernel installieren:
# freebsd-update fetch # freebsd-update install Installing updates... Kernel updates have been installed. Please reboot and run "/usr/sbin/freebsd-update install" again to finish installing updates.
… mit dem neuen Kernel booten:
# reboot && exit
# uname -a FreeBSD hostname 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
… jetzt den Rest installieren:
# freebsd-update install Installing updates... done.
… mit dem neuen System booten:
# reboot && exit
Fertig!
Probleme
das Upgrade funktioniert nicht:
# freebsd-update -r 9.0-RELEASE upgrade Looking up update.FreeBSD.org mirrors... 4 mirrors found. Fetching public key from update5.FreeBSD.org... failed. Fetching public key from update4.FreeBSD.org... failed. Fetching public key from update2.FreeBSD.org... failed. Fetching public key from update3.FreeBSD.org... failed. No mirrors remaining, giving up.
Die Ursache für diesen Fehler kenne ich noch nicht…
der Vollstädigkeithalber möchte ich nur erwähnen, dass man die Daten hier findet: http://update.freebsd.org/9.0-RELEASE/amd64/pub.ssl:
-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2kXIMh58KXUCk1siiXwG tKk55IG2khASQbx7nL7Z9Mh0Ie4VnPV1REvchfYFz6gZV9cX7Yz9R7uyEac8NRXN gKXGxnzF887CsjcTxWvsEoFqTLG57O4LSSm+MO3Sg4HuxnanifeWec9PNz150vU/ +q6s6XTtNHSysuo7XcBjczJigSBAMjdTEMCexiHKGZm0c9tyR4grA1TqSk2Agr9+ 7F7SA4Ck8wjM7srFSlYoyxHZtTE+9vz0tx0/5v2VW11NN0RBNoY1F90CCL41Ln73 yqABPWTfAaJ6Z6oQMwNBc+Q2SoCzK76XgZosCWylj3rmzSPhdTcrvFVa0IsUc2Gr wZImlJ7UtJYpVrKXDvOb1UG/2yQx8Eci+XyPhcgUahSN4Vidz9YyiD7qpf11VYhL BFeHnkm9LsrBJil4wGuOpXUUzMiKxpR6g3gfMA7PcBK6erxzFzcJHI3KMN0m3PIW szig8XxdLTc/e9XihPWqDbpGqNMjl9Tfz/nN2LXJA+acf41LenFIY7x4IkHrPM6D UNU+PsR6F+FMg3VgiJ3lrJmssVqLZRD9MMu51JtrN2NK1uhmFJDK7ZkLefHjdfTh 1HOcIyd8rRt/m8LsbQcdFlg/BTeqoG+wHburoDn9z7HknB4DBxcyRGxHdJuBzytj YKZHuFglSqt+29fNS/WXWTcCAwEAAQ== -----END PUBLIC KEY-----
