Upgrade

Das Upgrade nach offzieller Anleitung durchführen.

Als erstes ist’s immer gut, wenn alle Ports auf dem neusten Stand sind:

Wer regelmässig portsnap über Cronjob ausführt, kann sich hier ggf. portsnap sparen.

portsnap fetch update
pkg upgrade

Als erstes allfällige Patches Downloaden und installieren

freebsd-update fetch
freebsd-update install

Danach auf die nächste Version upgraden, wenn nötig. Hier z.B. von Version 9.2 zu 10.3:

freebsd-update -r 10.3-RELEASE upgrade

Kommt es zu Fehlern während dem Upgrade, probier es einfach mit älteren Versionsnummern (10.2, 10.1 etc.) bis es klappt. Und von dort aus – wenn das Upgrade fehlerfrei durchgelaufen ist – kann man dann wieder versuchen, die höhere Versionsnummer zu installieren.

Nun dauert es recht lange! Also nicht verzweifeln, wenn die Installation vermeintlich bei

Fetching 51005 files...

hängen bleibt. Wenn du den Download Progress beobachten möchtest, kannst du das z.B. so machen:

du /var/db/freebsd-update

Denn hier hin werden die Install Files gedownloadet.

danach wird man aufgefordert Configfiles zu überprüfen. Hierbei ist es wichtig, dass man solche Kommentare bereinigt, da sie anonsten im File drin bleiben.

Überprüfen und veraltete Daten sowie die „<<<<“ Kommentare löschen, da es sonst zu Konflikten kommen kann.

<<<<<<< current version
[...]
=======
[...]
>>>>>>> 10.3-RELEASE

Wenn alles durch ist (bei allzu langen Auflistungen lässt sich „more“ einfach mit „q“ unterbrechen) gehts weiter mit dem install

Anmerkung: Damit es zu keinen Problemen kommen, wenn sich der SSH Client unvorhergesehen die Connection zum Server verliert (Broken Pipe währen der Installation ist ärgerlich) den folgenden Install Befehl am Besten über die Konsole und nicht per SSH ausführen:

freebsd-update install

Nun Server neu starten (falls man einen eigenen Kernel benutzt, vorher noch nextboot -k GENERIC ausführen)

sync;sync;reboot

Achtung! Nach dem Upgrade auf FreeBSD 11.2 kam ich nach dem Booten per SSH nicht mehr auf den Server (In- und Outgoing Traffic war geblockt). Problem war hier der Firewall. Somit muss man in diesem Fall sich jetzt einfach kurz über die Konsole einloggen und die Firewall abschalten. (Sobald die Installation komplett abgeschlossen ist und man erneut Rebooted, funktioniert die Firewall wieder wie gewohnt)

service ipfw stop

Danach Install fortsetzen / abschliessen

freebsd-update install

.

Nach OS Upgrade -> Ports Upgraden

Wenn man einen grösseren Versionsupgrade gemacht hat (v9 > v10, nicht v9.0 > v9.2), muss man alle Ports und Packages reinstallieren, wie hier beschrieben: Section 23.2.3.2, “Upgrading Packages After a Major Version Upgrade”.

Als erstes schauen, ob man noch locked Packages hat, diese sollte man nach dem restlichen kompletten Upgrade auch manuell neu builden

pkg info -ak|grep yes

Prüfen und dann weiter mit

pkg-static upgrade -f

nachdem alle Ports und auck alle Ports die gelockt waren neu installiert wurden, Upgrade abschliessen:

freebsd-update install

Zu wenig Speicherplatz in /usr

Wenn es während den Ports Reinstallation zu Speicherplatz Problemen kommt im /usr Verzeichnis, kann man folgende Verzeichnisse ohne Weiteres löschen (sofern das FreeBSD Upgrade erfolgreich durchgeführt wurde)

/usr/obj/*

Mit den Daten in diesem Verzeichnis kann man Teilupgrades machen (hier muss man genau wissen, was man tut) und/oder den Kernel rebuilden ohne erneut buildworld laufenlassen zu müssen. Gemäss den update Instructions für FreeBSD wird empfohlen, dieses Verzeichnis manuell zu löschen, bevor man ein Upgrade durchführt um mögliche Fehler aufgrund alter Binaries auszuschliessen.

# cd /usr/obj
# chflags -R noschg *
# rm -rf *

/usr/ports/*

Kann man jederzeit neu erstellen und schafft ca. 1GB freien Speicher

# rm -rf /usr/ports/*

/usr/src/*

Wenn man den GENERIC Kernel benutzt, kann man /usr/src ohne Weiteres löschen und freebsd-update weiterhin nutzen. /usr/src wird nur benötigt, wenn man das System für einen Custom Kernel selber von der Source builden möchte.

# rm -rf /usr/src/*

Wenn man src jedoch löscht, kommt beim nächsten Mal, wenn man freebsd-update ausführt die Meldung:

src component not installed, skipped

Daher noch die src Komponente im Config File deaktivieren:

vi /etc/freebsd-update.conf
# Components of the base system which should be kept updated.
#Components src world kernel
Components world kernel

freebsd-update rollback

Sollte das Update komplett schief laufen, kann man per

freebsd-update rollback

wieder auf die vorherige FreeBSD Version downgraden und das Update erneut starten.

Probleme nach Upgrade

SSH Login geht nicht mehr:

in /var/log/messages:

sshd[8928]: fatal: Unable to negotiate with 123.123.123.123 port 51805: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 [preauth]

Lösung

vi /etc/ssh/sshd_config

folgendes hinzufügen

KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr

Keys neu generieren

ssh-keygen -A

sshd neu starten

/etc/rc.d/sshd restart

Fehlermeldungen

The update metadata is correctly signed, but
failed an integrity check.
Cowardly refusing to proceed any further.

Bei einem Server wollte ich von Version 9.2 auf 11.2 Upgraden. Dies endete leider mit dem Fehler:

$ freebsd-update -r 11.2-RELEASE upgrade

Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 9.2-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/src world/base world/doc world/games world/lib32

The following components of FreeBSD do not seem to be installed:

Does this look reasonable (y/n)? y

Fetching metadata signature for 11.2-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.

The update metadata is correctly signed, but
failed an integrity check.
Cowardly refusing to proceed any further.

Lösung:

In diesem Fall war es so, dass direkte Upgrades von 9.2 auf 11 noch nicht möglich waren. Lösung: erst vollständig (wie oben beschrieben) auf Version 9.3 Upgraden, danach sollte es von 9.3 auf 11.2 gehen.

 freebsd-update -r 9.3-RELEASE upgrade

PS: ab folgenden System wird das freebsd-upgrade unterstützt (siehe offizielle FreeBSD Seite):

9.3-RELEASE, 10.1-RELEASE, 10.2-RELEASE, 10.3-RELEASE, 11.0-RC[123]

Nun es geht trotzdem nicht. weder von 9.3 auf 11.2 noch von 9.3 auf 11.0. Abhilfe schafft hier leider nur ein weiteres Zwischenupdate: Zuerst von 9.3 auf 10.4 upgraden, dann von 10.4 auf 11.2.

freebsd-update upgrade -r 10.4-RELEASE

-> Komplettes Update gemäss Anleitung oben

freebsd-update upgrade -r 11.2-RELEASE

Und wenn man die Systeme öfters und regelmässig updated, käme man auch nie in so ein Dilemma 😉

Ach ja… und nicht verzweifeln bei

40730....40740....40750....40760....40770....40780....40790. done.
Applying patches... done.
Fetching 51005 files...

Das kann mehrere Stunden dauern!!! Die Downloadrate kann katastrophal, wenn man ausserhalb der USA sitzt…

vnstat -l -i vtnet0
Monitoring vtnet0...    (press CTRL-C to stop)

   rx:       86 kbit/s   155 p/s          tx:        0 kbit/s     0 p/s^C


 vtnet0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                     3.33 MiB  |           4 KiB
--------------------------------------+------------------
          max             149 kbit/s  |        3 kbit/s
      average           67.26 kbit/s  |     0.09 kbit/s
          min              34 kbit/s  |        0 kbit/s
--------------------------------------+------------------
  packets                      47785  |              65
--------------------------------------+------------------
          max                283 p/s  |           4 p/s
      average                117 p/s  |           0 p/s
          min                 62 p/s  |           0 p/s
--------------------------------------+------------------
  time                  6.77 minutes

 

.

  • *

    Du kannst diese HTML tags verwenden: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Kommentar-Feed für diesen Beitrag
nach oben