Benutzer-Werkzeuge

Webseiten-Werkzeuge


freebsd:freebsd_-_upgrade

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
freebsd:freebsd_-_upgrade [2025-08-09 23:00:49] – angelegt manfredfreebsd:freebsd_-_upgrade [2025-08-10 02:15:51] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== FreeBSD - Upgrade ======
 +
 +  * [[::freebsd:FreeBSD - PKG]]
 +  * [[::freebsd:FreeBSD - Update]]
 +  * [[::freebsd:FreeBSD - Ports-Tree]]
 +  * **[[::freebsd:FreeBSD - PortMaster]]** //verwendet nur Werkzeuge, die bereits im Basissystem vorhanden sind//
 +  * [[::freebsd:FreeBSD - PortUpgrade]]
 +
 +<code bash RELEASE-Upgrade>
 +/root/bin/FreeBSD_-_Update.sh
 +reboot
 +/root/bin/FreeBSD_-_Upgrade_Teil_1.sh
 +reboot
 +/root/bin/FreeBSD_-_Upgrade_Teil_2.sh
 +reboot
 +/root/bin/FreeBSD_-_Upgrade_Teil_3.sh
 +reboot
 +/root/bin/FreeBSD_-_Update.sh
 +</code>
 +
 +<file bash /root/bin/FreeBSD_-_update_Ports-Tree.sh>
 +#!/bin/sh
 +#!/usr/bin/env bash
 +
 +#------------------------------------------------------------------------------#
 +#
 +# Seit FreeBSD 14.0 wird der Ports-Tree per GIT verwaltet.
 +#
 +#------------------------------------------------------------------------------#
 +
 +VERSION="v2024021300" # initiale Erstellung
 +
 +#------------------------------------------------------------------------------#
 +#
 +# Installing the Ports Collection
 +# https://docs.freebsd.org/en/books/handbook/ports/#ports-using-installation-methods
 +#
 +#------------------------------------------------------------------------------#
 +
 +### GIT installieren
 +pkg install devel/git www/links ports-mgmt/portupgrade
 +echo "### 0"
 +
 +### den Ports-Tree aktuallisieren
 +git -C /usr/ports pull
 +echo "### 1"
 +
 +#------------------------------------------------------------------------------#
 +zweig_update()
 +{
 +### Zweig verlassen
 +git -C /usr/ports branch
 +git switch -d
 +git -C /usr/ports branch
 +echo "### 2"
 +
 +### zum neuesten vierteljährlichen Zweig wechseln
 +ZWEIG="$(links -source https://github.com/freebsd/freebsd-ports/branches | tr -s ',' '\n' | grep -F '"name":"2' | awk -F'"' '{print $(NF-1)}' | sort -nr | head -n1)"
 +# git -C /usr/ports switch 2024Q1
 +echo "### 3"
 +git -C /usr/ports switch ${ZWEIG}
 +git -C /usr/ports branch -l
 +echo "### 4"
 +}
 +
 +### ein- und ausschalten
 +zweig_update
 +#------------------------------------------------------------------------------#
 +
 +### den Ports-Tree aktuallisieren
 +portsclean -CDL # entfernt alle workdirs und veralteten Distfiles
 +git -C /usr/ports pull
 +git -C /usr/ports branch -l
 +echo "### 5"
 +
 +set -x
 +
 +### INDEX erstellen
 +cd /usr/ports/ && make index
 +ls -lha /usr/ports/INDEX-*.db
 +echo "### 6"
 +</file>
 +
 +<file bash /root/bin/FreeBSD_-_Update.sh>
 +#!/bin/sh
 +#!/usr/bin/env bash
 +
 +VERSION="v2025011800" # initiale Erstellung
 +
 +#==============================================================================#
 +#
 +# /root/bin/FreeBSD_-_Update.sh
 +#
 +#==============================================================================#
 +#
 +# siehe auch
 +# /root/bin/FreeBSD_-_Upgrade_Teil_1.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_2.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_3.sh
 +#
 +#------------------------------------------------------------------------------#
 +
 +# Version des aktuell laufenden Kernels anzeigen
 +freebsd-version -r
 +
 +# aktuelle Version vom User-Land anzeigen
 +#grep -F 'VERSION=' /etc/os-release
 +freebsd-version -u
 +
 +# aktuelle Version vom Kernel anzeigen
 +uname -a
 +
 +#------------------------------------------------------------------------------#
 +### Betriebssystem updaten
 +
 +freebsd-update fetch
 +freebsd-update install
 +
 +#------------------------------------------------------------------------------#
 +### Ports-Tree updaten
 +
 +git -C /usr/ports pull
 +git -C /usr/ports status
 +
 +#------------------------------------------------------------------------------#
 +### veraltete Pakete entfernen + Upgrade aller Pakete
 +
 +#pkg install ports-mgmt/portupgrade
 +#pkg autoremove
 +#portupgrade -a
 +#portupgrade -N
 +#pkg autoremove
 +
 +#------------------------------------------------------------------------------#
 +### erst alles aus dem Repositorie updaten
 +### dann die beiden MM-Pakete aus dem Ports-Tree updaten
 +
 +pkg autoremove
 +pkg update
 +ASSUME_ALWAYS_YES=yes
 +pkg upgrade
 +pkg autoremove
 +unset ASSUME_ALWAYS_YES
 +
 +for A in multimedia/ffmpeg multimedia/libdvdread
 +do
 + cd /usr/ports/${A} && make clean && make && make deinstall install
 +done
 +</file>
 +
 +<file bash /root/MYKERNEL (für FreeBSD 14.2)>
 +#
 +# https://docs.freebsd.org/de/books/handbook/kernelconfig/
 +#
 +# cat /root/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 / lang/rust rust-1.83.0 => Sanity check failed: kernel is missing COMPAT_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
 +</file>
 +
 +<file bash /root/bin/FreeBSD_-_Upgrade_Teil_1.sh>
 +#!/bin/sh
 +#!/usr/bin/env bash
 +
 +VERSION="v2024122300" # initiale Erstellung
 +
 +#==============================================================================#
 +#
 +# Dieses Skript führt ein Binär-Uprade von FreeBSD durch.
 +# https://www.freebsd.org/releases/14.2R/installation/
 +#
 +# /root/bin/FreeBSD_-_Upgrade_Teil_1.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_2.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_3.sh
 +#
 +#==============================================================================#
 +
 +# Version des aktuell laufenden Kernels anzeigen
 +freebsd-version -r
 +
 +# aktuelle Version vom User-Land anzeigen
 +#grep -F 'VERSION=' /etc/os-release
 +freebsd-version -u
 +
 +# aktuelle Version vom Kernel anzeigen
 +uname -a
 +
 +#------------------------------------------------------------------------------#
 +
 +### als erstes müssen alle Paches in das aktuelle System installiert werden
 +freebsd-update fetch
 +freebsd-update install
 +
 +# Ein binäres Release-Upgrade von 14.1 auf 14.2:
 +# > freebsd-update -r 14.2-RELEASE upgrade
 +#
 +NEUESTES_RELEASE="$(curl -s https://download.freebsd.org/releases/amd64/ | awk '{print $3}' | grep -F RELEASE | tr -d '"' | tr -d '/' | cut -f2 -d'=' | sort | tail -n 1)"
 +echo "NEUESTES_RELEASE: ${NEUESTES_RELEASE}"
 +freebsd-update upgrade -r ${NEUESTES_RELEASE}
 +freebsd-update install
 +
 +#------------------------------------------------------------------------------#
 +### was jetzt zu tun ist
 +
 +rm -f /var/tmp/FreeBSD_-_Upgrade_Teil_*.log
 +echo "
 +shutdown -r now
 +/root/bin/FreeBSD_-_Upgrade_Teil_2.sh
 +" | tee /var/tmp/FreeBSD_-_Upgrade_Teil_1.log
 +</file>
 +
 +<file bash /root/bin/FreeBSD_-_Upgrade_Teil_2.sh>
 +#!/bin/sh
 +#!/usr/bin/env bash
 +
 +VERSION="v2024122300" # initiale Erstellung
 +
 +#==============================================================================#
 +#
 +# Dieses Skript führt ein Binär-Uprade von FreeBSD durch.
 +# https://www.freebsd.org/releases/14.2R/installation/
 +#
 +# /root/bin/FreeBSD_-_Upgrade_Teil_1.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_2.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_3.sh
 +#
 +#==============================================================================#
 +
 +# Version des aktuell laufenden Kernels anzeigen
 +freebsd-version -r
 +
 +# aktuelle Version vom User-Land anzeigen
 +#grep -F 'VERSION=' /etc/os-release
 +freebsd-version -u
 +
 +# aktuelle Version vom Kernel anzeigen
 +uname -a
 +
 +#------------------------------------------------------------------------------#
 +### SRC Update
 +
 +### GIT installieren
 +/root/bin/FreeBSD_-_update_Ports-Tree.sh
 +cd /usr/ports/devel/git && make clean && make config && make && make install && make clean
 +
 +### die neuesten SRC saugen
 +cd /usr/src || exit 1
 +rm -fr /usr/src/* /usr/src/.*
 +time git clone https://git.freebsd.org/src.git .
 +#exit
 +
 +### SRC auf die gewünschte Version umstellen
 +FB_GIT_VER="$(cd /usr/src && git branch -a | grep -F '/releng/' | sed 's|/releng/| |' | awk '{print $2}' | sort -nr | head -n1)"
 +echo "FB_GIT_VER: ${FB_GIT_VER}"
 +cd /usr/src && make cleanworld && make clean && git switch releng/${FB_GIT_VER} && git branch && time git pull && sh /usr/src/sys/conf/newvers.sh -v
 +echo "
 +FB_GIT_VER: ${FB_GIT_VER}
 +"
 +
 +#exit
 +#------------------------------------------------------------------------------#
 +### den eigenen Kernel bauen
 +
 +# less /usr/src/UPDATING
 +#vi /usr/src/sys/amd64/conf/MYKERNEL
 +vim /root/MYKERNEL /usr/src/sys/amd64/conf/GENERIC
 +cat /root/MYKERNEL > /usr/src/sys/amd64/conf/MYKERNEL
 +
 +cd /usr/src && make cleanworld && make -j$(sysctl -n hw.ncpu) buildkernel KERNCONF=MYKERNEL && make installkernel KERNCONF=MYKERNEL
 +
 +#------------------------------------------------------------------------------#
 +### was jetzt zu tun ist
 +
 +echo "
 +shutdown -r now
 +uname -v
 +ls -lha /dev/sg*
 +/root/bin/FreeBSD_-_Upgrade_Teil_3.sh
 +" | tee /var/tmp/FreeBSD_-_Upgrade_Teil_2.log
 +</file>
 +
 +<file bash /root/bin/FreeBSD_-_Upgrade_Teil_3.sh>
 +#!/bin/sh
 +#!/usr/bin/env bash
 +
 +VERSION="v2024122300" # initiale Erstellung
 +
 +#==============================================================================#
 +#
 +# Dieses Skript führt ein Binär-Uprade von FreeBSD durch.
 +# https://www.freebsd.org/releases/14.2R/installation/
 +#
 +# /root/bin/FreeBSD_-_Upgrade_Teil_1.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_2.sh
 +# /root/bin/FreeBSD_-_Upgrade_Teil_3.sh
 +#
 +#==============================================================================#
 +
 +# Version des aktuell laufenden Kernels anzeigen
 +freebsd-version -r
 +
 +# aktuelle Version vom User-Land anzeigen
 +#grep -F 'VERSION=' /etc/os-release
 +freebsd-version -u
 +
 +# aktuelle Version vom Kernel anzeigen
 +uname -a
 +
 +NEUESTES_RELEASE="$(curl -s https://download.freebsd.org/releases/amd64/ | awk '{print $3}' | grep -F RELEASE | tr -d '"' | tr -d '/' | cut -f2 -d'=' | sort | tail -n 1)"
 +echo "NEUESTES_RELEASE: ${NEUESTES_RELEASE}"
 +
 +#------------------------------------------------------------------------------#
 +### Nach dem Neustart muss freebsd-update erneut ausgeführt werden, um die neuen Userland-Komponenten zu installieren
 +
 +freebsd-update install
 +
 +echo "
 +#------------------------------------------------------------------------------#
 +### was jetzt zu tun ist
 +
 +# Zu diesem Zeitpunkt werden Benutzer von Systemen, die von früheren FreeBSD-Versionen aktualisiert werden, von freebsd-update(8) aufgefordert, alle Anwendungen von Drittanbietern neu zu erstellen oder zu installieren (z. B. aus dem Ports-Baum installierte Ports oder von pkg(8) installierte Pakete). aufgrund von Aktualisierungen in Systembibliotheken.
 +
 +# Nachdem Sie installierte Anwendungen von Drittanbietern aktualisiert haben (und wiederum nur, wenn freebsd-update(8) eine Meldung ausgegeben hat, die darauf hinweist, dass dies erforderlich ist), führen Sie freebsd-update(8) erneut aus, damit das alte (nicht mehr verwendete) System und seine Bibliotheken, gelöscht werden können:
 +
 +freebsd-update install oder /root/bin/FreeBSD_-_Update.sh
 +
 +shutdown -r now
 +fertig
 +" | tee /var/tmp/FreeBSD_-_Upgrade_Teil_3.log
 +</file>
 +