FreeBSD Update - Neustart notwendig?

m4rkus

Well-Known Member
Hallo,

ich habe zwar bereits im freebsd.org-Forum gefragt, bin aber leider nicht wirklich "ans Ziel" gekommen.
Daher noch mal hier die Frage:

Ist es ähnlich zu Ubuntu möglich herauszufinden, ob nach einem Update ein Neustart notwendig ist?

Bisher führe ich folgendes aus:
Code:
[root@dolw17srv01 ]# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 5 mirrors found.
Fetching metadata signature for 10.0-RELEASE from update5.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 16 patches.....10... done.
Applying patches... done.

The following files will be updated as part of updating to 10.0-RELEASE-p5:
/bin/freebsd-version
/boot/kernel/kernel
/boot/kernel/kernel.symbols
/usr/include/openssl/ssl3.h
/usr/include/sys/proc.h
/usr/lib/libpam.a
/usr/lib/libpam.so.5
/usr/lib/libssl.a
/usr/lib/libssl.so.7
/usr/lib/libssl_p.a
/usr/lib32/libpam.a
/usr/lib32/libpam.so.5
/usr/lib32/libssl.a
/usr/lib32/libssl.so.7
/usr/lib32/libssl_p.a
/usr/libexec/sendmail/sendmail
[root@dolw17srv01 ~]# freebsd-update install
Installing updates... done.

Die Differenz würde mir zeigen, dass ein Neustart notwendig ist, oder?
Code:
[root@dolw17srv01 ~]# uname -r; freebsd-version -k
10.0-RELEASE-p3
10.0-RELEASE-p4

Startet ihr "immer" neu? Wie oft muss ich maximal neustarten - doch nur 1 Mal und abschließend ein letztes mal freebsd-update install ausführen, oder?

Danke und Gruß
Markus
 
Hallo Markus,

da dieses Update einen neueren Kernel enthält musst du neu starten. Sind nur verschiedene Libs etc zu aktualisieren dann sollte es auch ohne gehen, du musst dann jedoch alle Dienste etc. die darauf zugreifen sauber neu starten. Im Allgemeinen ist ein Neustart des Systems der sauberere und einfachere Schritt.

Im Allgemeinen reicht ein Neustart bei normalen patches. Wenn du jedoch ein Update auf eine neue Release-Version machst (z.B. 9.X auf 10.0) dann musst du im Allgemeinen mind. zweimal neu starten. Das entnimmst du aber sinnvollerweise den entsprechenden ReleaseNotes zum entsprechenden Update (denn meist müssen hier auch alle Ports neu installiert werden - oder zuminst ein Compat verfügbar gemacht werden).

Das sicherste ist du folgst den Anweisungen der ReleaseNotes und/oder von freebsd-update(8)

Grüße
Rakor
 
"Reicht in der Regel ein Neustart" ist halt problematisch, wenn man möglichst wenig Service-Ausfälle haben möchte.

Ich würde gerne wissen, wie (und ob) man herausfinden kann, ob neugestartet werden muss?
Evtl. wenn bei "changed files" nichts mit "kernel" auftaucht?

Gruß
Markus

PS: ReleaseNotes und freebsd-update(8) gibt es bei einfachen Security-Patches doch nicht, oder? Wenn doch: wo?
 
Zum Verständnis nochmal:

Wenn ich jeweils den "-k" Parameter aufrufe erscheint folgende Ausgabe
Code:
[root@dolw17srv01 ~]# uname -r; freebsd-version -k
10.0-RELEASE-p4
10.0-RELEASE-p4

OK. Kernel ist Patch-Level 4

Wenn ich jedoch folgendes eingebe:
Code:
[root@dolw17srv01 ~]# freebsd-version
10.0-RELEASE-p5

FreeBSD hat Patch-Level 5.

Es gab also beim gestrigen Update:
  • Update von Kernel p3 -> p4 und
  • Update von Patchlevel p4 -> p5 generell
Bin gerade etwas verwirrt...

Gruß
Markus
 
Hast du vllt noch nicht neugestartet? Soweit ich weiss, zeigt uname den Patchlevel nach dem letzten boot an.

Wenn nichts in "/boot/kernel/*", oder die /boot/defaults/loader.conf, dann muesste man eigentlich nicht neustarten. Aber es ist teils schwierig herauszufinden welche Dienste man neustarten muesste, damit man auch sicher ist das man alle bekommt und nicht irgendwelche versteckten Querverweise uebersieht. Also ich wuerde mir ja die Minute Zeit nehmen und einfach neu starten. ;)
 
Bei Kernel-Updates musst du neu starten. Ebenso libc. Es steht auch immer in den Update-Notes auf der FreeBSD-Webseite was empfohlen wird.

Mit procstat -va kriegst du eine Liste von geladenen Libraries. Hier kannst du gucken was genau neugestartet werden müsste.

Vllt. noch ein Tipp für Uptimes. Pack deine Dienste in eine Jail. Ein kompletter Jail-Reboot dauert meist nicht viel länger als ein Reboot der einzelnen Dienste. Somit kombinierst du die Sicherheit eines System-Reboot's mit der Geschwindigkeit eines Dienst-Reboots. Bei Updates des Kernels hilft das natürlich nicht.

Ich persönlich starte aber immer neu. Das ist einfach schneller für mich, als wenn ich per Hand hier die Dienste und Jails neustarte.
 
Ich kann die Bedenken verstehen - bei einem Reboot ist die Wahrscheinlichkeit, dass man "Ach fuck, warum kommt denn die Maschine jetzt nicht mehr hoch" sagen muss durchaus höher ;)
 
... Es steht auch immer in den Update-Notes auf der FreeBSD-Webseite was empfohlen wird.
Hättest du exemplarisch für das aktuelle Update mal einen Link? Beim Überfliegen der normalen Notes habe ich nichts gesehen.

Ich habe zunächst hier (Security-Advisories) und dann den aktuellen angeschaut - da steht nichts von Neustart o.ä.

Wenn ich dann wie im Advisory erwähnt auf die Seite: http://svnweb.freebsd.org/base/releng/10.0/UPDATING?view=markup&pathrev=267104 gehe, sehe ich auch nur Änderungen an OpenSSL und nichts von Installations- und Neustart-Anweisungen. :(

Vllt. noch ein Tipp für Uptimes. Pack deine Dienste in eine Jail...
Ich dachte nicht, dass das unabhängig ist. Bisher bin ich immer so gefahren: Erst Host, dann Jail-Update.

Neustarts zu Hause sind OK. Beim Server mit Kunden muss ich es halt immer nachts machen :(, da dieser auch mehr als eine Minute braucht.

@s-tlk: Natürlich habe ich mehrmals neu gestartet, daher war ich etwas verwundert, dass uname noch p4 und freebsd-version p5 anzeigt.

@all: Zeigt bei Euch ein
Code:
root@dolw17srv01:~ # uname -r && freebsd-version -k && freebsd-version
10.0-RELEASE-p4
10.0-RELEASE-p4
10.0-RELEASE-p5
nicht das Gezeigte an:?

Gruß
Markus
 
Hättest du exemplarisch für das aktuelle Update mal einen Link? Beim Überfliegen der normalen Notes habe ich nichts gesehen.

Ich habe zunächst hier (Security-Advisories) und dann den aktuellen angeschaut - da steht nichts von Neustart o.ä.

http://www.freebsd.org/security/advisories/FreeBSD-SA-14:14.openssl.asc
"Restart all deamons using the library, or reboot the system."

http://www.freebsd.org/security/advisories/FreeBSD-SA-14:12.ktrace.asc
"reboot the system"

Ich dachte nicht, dass das unabhängig ist. Bisher bin ich immer so gefahren: Erst Host, dann Jail-Update.

Jails teilen sich nur den Kernel des Hosts. Alles andere wird je nach Jail gehandhabt. D.h. jede Library wird per Jail geladen.

@all: Zeigt bei Euch ein

Zeigt er bei mir auch an.
 
Ok, dann steht das mit dem Reboot wohl nur unter dem "manuellen" Weg und nicht noch mal explizit bei binary-Update.


Zum Verständnis hatte ich oben was geschrieben - stimmt das wohl so?

Beim p4 (am 03.06.) hat sich wohl die Kernel-Version geändert, so dass dort von "p3" -> "p4" aktualisiert wurde.
Der obige Befehl hätte dann wohl alle auf "p4" angezeigt.

Beim p5 (am 05.06.) hat sich die Kernel-Version wohl nicht geändert, so dass lediglich das Patchlevel für "Sonstiges" auf p5 angehoben wurde?!

Gruß
Markus
 
Das "uname"-Thema mal wieder. :) Also, "uname" bezieht seine Ausgabe aus dem Kernel. Daher ist diese Ausgabe nur korrekt, wenn bei dem Einspielen von Updates auch /boot/kernel/kernel aktualisiert wurde. Was nicht immer der Fall ist, wie zum Beispiel bei der wöchentlichen OpenSSL-Lücke gestern Nachmittag. Natürlich könnte man den Kernel nun blind jedes Mal aktualisieren, aber mit aktuell 19 Megabyte ist das Ding nicht unbedingt klein und man würde die Admins zu unnötigen Reboots zwingen. "uname" an eine Config-Datei zu binden ist aus verschiedenen Gründen auch keine Option. Daher gibt es ab FreeBSD 10.0 "freebsd-version" was in jedem Fall die aktuelle Version ausgibt.
 
Hallo Yamagi,

das heißt ich kann mich zur Prüfung auf "restart" auch nicht auf uname verlasen.
Bleiben nur die Update-Notes unter dem Punkt "How to install" - SVN / Manuell, Richtig?

Gruß
Markus
 
Oder schauen, wann der Kernel verändert wurde:
Code:
% ls -lha /boot/kernel/kernel
-r-xr-xr-x  2 root  wheel  19M 14 Mai 08:12 /boot/kernel/kernel
(Ich baue gerade die Welt :))
 
Das ist glaub ich eine sehr gute Idee.

Noch mal zum "Nachschauen" auf der FreeBSD-Seite (den Advisories). Sehe ich das richtig, dass es IMMER unter

V. Solution --> 2) To update your vulnerable system via a source code patch --> c
steht, was neu gestartet werden oder ob rebootet werden muss?

Gruß
Markus
 
Der Code ist Magie, der prüft lediglich ob "/tmp/.fbsdup-reboot" existiert. Bleibt die Frage woher die Datei kommt.
 
Ich hab mal das Shell-Skript pc-updatemanager überflogen und es scheint, dass die Datei nur bei "Major-Upgrades" angelegt wird und keinerlei Tests auf "Notwendigkeit" durchgeführt werden.

Gruß
Markus
 
Zurück
Oben