Update eines installierten FreeBSD-Stable mit freebsd-update?

H

holgerw

Guest
Hallo,

ich möchte ein vor einigen Wochen installiertes FreeBSD-STABLE auf einen aktuelleren Stand bringen. Nur scheint das offenbar nicht mit dem Werkzeug freebsd-update zu funktionieren.

Code:
freebsd-update -v debug fetch
Looking up update.FreeBSD.org mirrors... 4 mirrors found.
Fetching public key from update5.freebsd.org... fetch: http://update5.freebsd.org/11.0-STABLE/amd64/pub.ssl: Not Found

Klar, es gibt auf den update-Servern keine 11.0/STABLE Verzeichnisse, sondern nur 11..0-RELEASE Verzeichnisse.

Nur wie bringe ich freebsd-update dazu, mein vor einigen Wochen installiertes STABLE zu aktualisieren?

Auch ein
Code:
freebsd-update -r 11.0-RELEASE upgrade
veranlasst freebsd-update, offenbar in Anlehnung auf das Ausgangssystem STABLE, in nicht vorhandenen STABLE-Verzeichnissen nach dem Update-Schlüssel zu suchen.

Auf händische Bauorgien über /usr/src mit make, diversen Reboots und manuellen Anpassungen habe ich keine große Lust und auch nicht die Zeit dafür, dann setze ich lieber nochmal kurz ein RELEASE auf, was auch automatisch aktualisierbar ist.

In der /etc/freebsd-update.conf habe ich keine Zeile gefunden, in welcher ich einen Mirror mit korrekten Verzeichnisangaben setzen kann.

Viele Grüße,
Holger
 
Moin Holger,
die Man-Page von FREEBSD-UPDATE schließt den Stable und Current Zweig als Update-Variante aus. Benötigst du nicht eher SVN oder ähnliches um dein System aktuell zu halten?

Ich hab gelesen das es eine freebsd-stable Maillingliste gibt. Wäre das nicht was für dich?
 
ich glaube, freebsd-update kam irgendwann mit FreeBSD6.x, zunächst noch nicht offiziell, aber damals schon mein Liebling. Zwar hatte ich bis FreeBSD7 auch immer wieder mit angepassten Kerneln gespielt und versucht, etwas schlankeres zu produzieren, das auf meine Bedürfnisse besser abgestellt war, aber der Neubau war schon jedes mal eine haarige Angelegenheit. Zwar läuft das auch relativ automatisiert, es braucht nur wenige Befehle, aber man muss auch die Optionen jedes mal durchgehen und sehen, was sich womöglich geändert hat. Ich möchte das nicht mehr, GENERIC und freebsd-update bieten eine großartige Bequemlichkeit und im Grunde hat es keine Vorteile für mich, davon ab zu rücken.
Aber, freebsd-update ist bei vielen nie wirklich angekommen und das echte FreeBSD-Update Szenario scheint für viele immer noch der Weg über die SRCen zu sein und ein CURRENT ist ja auch ein Entwicklungssystem. Da kann man schon verstehen, dass dies nicht über Automatismen binär upgedatet werden kann. Es ist ja nicht fixiert, da kann sich ständig was ändern und es gibt immer Gefahr von Inkonsistenzen, vor allem in Bezug auf die Third-Party-SW. Dass es bei FreeBSD meist sehr zuverlässig läuft, sollte uns nicht täuschen.

freebsd-update ist ein Script, das man ziemlich gut lesen kann und betreibt keine Magie. Es ist fest auf die Information der Update-Server angewiesen. Es kennt keine Funktionen außerhalb dieses Angebotes, wobei die jeweiligen Updates auf neue Patch-Versionen vielleicht eine kleine Ausnahme darstellen, weil diese gar nicht auf den Servern gelistet werden. Die gehören ja auch zu der jeweils gewählten Version, diese Updates laufen innerhalb der Version.
Aber eine nicht gelistete Version kann eben von freebsd-update überhaupt nicht benutzt werden, dafür gibt es auch keine Tricks.
 
Das steht auch im Handbook, dass das nicht geht. Und ich muss pit234a beipflichten, es ist wirklich ein tolles und bequemes Tool, um den RELEASE-Zweig schnell und einfach upzudaten. Ist auch logisch, wenn man bedenkt, dass RELEASE eigentlich das ist, was normale Enduser benutzen sollten. Aber in Deinem Fall könntest Du vielleicht Dein Stable erst mal manuell zu einem RELEASE upgraden, falls das geht, und von da an in Zukunft freebsd-update verwenden.
 
In Deinem anderen Thread "
Wie über poudriere meine Jail (11.0-STABLE) updaten"
hätte ja Kamikaze im Prinzip schon geschrieben - wie es geht.
 
Hallo zusammen,

danke für Eure Hinweise.

die Man-Page von FREEBSD-UPDATE schließt den Stable und Current Zweig als Update-Variante aus. Benötigst du nicht eher SVN oder ähnliches um dein System aktuell zu halten?
Ah, ja, im Handbuch bin ich das Kapitel 23.2 ff zur FreeBSD Aktualisierung zwar durchgegangen (dort habe ich die Info, dass freebsd-update nicht für den Stable-Zweig funktioniert, nicht gefunden), aber die Manpage zu freebsd-update habe ich doch glatt vergessen.
Ich hab gelesen das es eine freebsd-stable Maillingliste gibt. Wäre das nicht was für dich?
Hmm, lehrreich ist es, warum nicht, aber habe ich dafür auch noch Zeit? Mal schauen ....

@pit23a danke für diesen ausführlichen Erfahrungsbericht zu freebsd-update.

Das steht auch im Handbook, dass das nicht geht. Und ich muss pit234a beipflichten, es ist wirklich ein tolles und bequemes Tool, um den RELEASE-Zweig schnell und einfach upzudaten. Ist auch logisch, wenn man bedenkt, dass RELEASE eigentlich das ist, was normale Enduser benutzen sollten. Aber in Deinem Fall könntest Du vielleicht Dein Stable erst mal manuell zu einem RELEASE upgraden, falls das geht, und von da an in Zukunft freebsd-update verwenden.
Hm, im Handbuch (deutsche Fassung) habe ich im Aktualisierungskapitel nicht explizit gefunden, dass freebsd-update für stable nicht geht (vielleicht habe ich es übersehen und werde da doch noch mal die englische Handbuchfassung gründlich durchackern). Stable manuell auf release-p9 und dann das Tool nutzen? Hmm ... geht vermutlich, aber just ein Release neu aufsetzen und Backup der Konfigs einspielen dauert vermutlich einen Bruchteil davon .... obwohl man sicherlich nicht dümmer wird, mal diese Art des manuellen Updates durch zu führen.

In Deinem anderen Thread "
Wie über poudriere meine Jail (11.0-STABLE) updaten"
hätte ja Kamikaze im Prinzip schon geschrieben - wie es geht.
Ja, den neuen Fred habe ich deshalb aufgemacht, weil es nun um ein "normales" Update eines Host-Systems geht, und keiner jail über poudriere, aber Du hast Recht, @Kamikaze schreibt, nicht über ftp sondern nur über svn und ich habe mal händisch begonnen, subversion installiert, mit svn den aktuellen Stable-Branch ausgelesen, mit make -j 4 buildworld angefangen, dann aber abgebrochen. Vielleicht ist das Update über svn überhaupt nicht dramatisch (im Handbuch liest sich das aber nach einiger Arbeit). @Rakor hat auf denkrobat auch ein kurzes Howto geschrieben, was aber wohl noch nicht vollständig ist ....

Habe ja beim Erstellen dieses Threads gehofft, dass es mit freebsd-update auch bei STABLE funktioniert, aber mir ist nun klar:
  • freebsd-update nur für Release (relativ einfach zu nutzen, Update auf neue Haupt- oder Unterversionen)
  • für stable nur svn und manuelles Update (anspruchsvoll, einige Handarbeit ist nötig)
Wie ich an einen aktuellen Host komme, RELEASE neu aufsetzen oder Stable manuell updaten, muss ich mir noch überlegen.

Mutig sein, und 12-CURRENT nehmen, ist wohl auch noch eine Möglichkeit :D

Viele Grüße,
Holger
 
Zuletzt bearbeitet von einem Moderator:
für stable nur svn und manuelles Update (anspruchsvoll, einige Handarbeit ist nötig)
nein, nicht wirklich. Genau dem Handbuch folgen, dann sind das drei oder vier Befehle und einfach abwarten. Obacht lediglich, dass im Verzeichnis genug Platz ist, wohin der neue Kernel soll. Früher partitionierte FreeBSD automagisch auch 64Bit Systeme mit einer kleinen /boot, so dass darin kaum zwei Kernel nebeneinander Platz hatten, mit ZFS ist das ja kein Thema mehr.
Ansonsten eindeutige Namen wählen und sich mit dem Single-User-Modus ein wenig vertraut machen, damit man im schlimmsten Fall wieder zurück auf den alten Kernel schalten kann (am einfachsten sicher über einen entsprechenden Link).
 
Hier OT - wollte es aber dennoch mal sagen:
Das Manual sagt zu stable : " ...Changes go into this branch at a slower pace and with the general assumption that they have first been tested in FreeBSD-CURRENT. This is still a development branch and, at any given time, the sources for FreeBSD-STABLE may or may not be suitable for general use. It is simply another engineering development track, not a resource for end-users. ..."

Schön und gut - aber sowas nun gerade
" stable "
zu nennen, deutet schon auf stärkeres Zeug hin, was seinerzeit geraucht wurde!

Duck ... und weg ;-)
 
Schön und gut - aber sowas nun gerade
" stable "
zu nennen, deutet schon auf stärkeres Zeug hin, was seinerzeit geraucht wurde!

Duck ... und weg ;-)
Das bezieht sich einfach nicht darauf wie stabil das System läuft. Das wäre auch Quatsch, solche Garantien funktionieren eh nicht.

Stable bedeutet die Schnittstellen sind stabil. Das heißt vorhandene Schnittstellen werden nicht verändert oder entfernt, nur neue hinzugefügt. Das garantiert, dass Binaries aller A.X Releases auch auf A-stable und A.Y (mit Y > X) laufen. Die Bezeichnung ist also aus Entwicklerperspektive gewählt was bei einem Entwicklungszweig jetzt nicht allzu sehr verwundern sollte.

Dazu kommt, dass das ein einfach zu prüfendes technisches Kriterium ist und keine Gummidefinition. Das vermeidet unnütze Diskussionen darüber was angemessene Änderungen im Zweig sind.

Wer https://www.freebsd.org/ öffnet sieht auch auf den ersten Blick was er installieren sollte.
 
...
Stable bedeutet die Schnittstellen sind stabil. Das heißt vorhandene Schnittstellen werden nicht verändert oder entfernt, nur neue hinzugefügt. Das garantiert, dass Binaries aller A.X Releases auch auf A-stable und A.Y (mit Y > X) laufen. Die Bezeichnung ist also aus Entwicklerperspektive gewählt was bei einem Entwicklungszweig jetzt nicht allzu sehr verwundern sollte.
....

Ja ja ... mir ist das ( inzwischen ) schon alles klar ... die Frage ist halt, ob jeder Einsteiger erstmal " Entwicklerperspektive " entwickeln muss, wenn er für die Erstinstallation das Iso-File auswählt und entscheiden muss ob er currend , stable oder release nehmen soll.
Klar , im Manual ist alles beschrieben ... dennoch ist IMHO der Begriff " stable " etwas unglücklich gewählt ... aber wie gesagt, dass ist nur meine eigene bescheidene Meinung
 
Hallo,

danke für Eure Antworten.

Man benötigt genau einen Reboot, wenn man das System aus den Quellen aktualisiert.
Rob

Okay, das Handbuch liest sich nach "größerem Aufwand" :) Aber ich werde es mal ausprobieren.

nein, nicht wirklich. Genau dem Handbuch folgen, dann sind das drei oder vier Befehle und einfach abwarten. Obacht lediglich, dass im Verzeichnis genug Platz ist, wohin der neue Kernel soll. Früher partitionierte FreeBSD automagisch auch 64Bit Systeme mit einer kleinen /boot, so dass darin kaum zwei Kernel nebeneinander Platz hatten, mit ZFS ist das ja kein Thema mehr.
Ansonsten eindeutige Namen wählen und sich mit dem Single-User-Modus ein wenig vertraut machen, damit man im schlimmsten Fall wieder zurück auf den alten Kernel schalten kann (am einfachsten sicher über einen entsprechenden Link).
Gut, okay, ich probiere es aus :)

Schön und gut - aber sowas nun gerade
" stable "
zu nennen, deutet schon auf stärkeres Zeug hin, was seinerzeit geraucht wurde!
Durch das "Stable" bin ich auch ein wenig irritiert worden, abe @Yamagi hat dazu ausführlicher etwas geschrieben:
https://www.bsdforen.de/threads/wie-über-poudriere-meine-jail-11-0-stable-updaten.33434/#post-290375

Stable bedeutet die Schnittstellen sind stabil. Das heißt vorhandene Schnittstellen werden nicht verändert oder entfernt, nur neue hinzugefügt. Das garantiert, dass Binaries aller A.X Releases auch auf A-stable und A.Y (mit Y > X) laufen. Die Bezeichnung ist also aus Entwicklerperspektive gewählt was bei einem Entwicklungszweig jetzt nicht allzu sehr verwundern sollte.
Danke für die Erklärung.

Viele Grüße,
Holger
 
Hallo,

ich habe die manuelle Aktualisierung des Kernels und des Basis-Systems hinbekommen, nach Bau und Installation des Kernels habe ich im Single-User-Modus das Basis-System installiert, es sind zwar ein paar Schritte erforderlich, aber sehr aufwendig und schwierig ist es dank Handbuch dann doch nicht.

Wichtig: Seit wenigen Tagen habe ich wieder eine Nvidia-Karte, ich durfte mich dann nach einem Reboot beim Startversuch von kdm4 erst einmal über eine Kernel-Panic freuen :D
Den binären nividia-Kram habe ich dann deinstalliert, mit portsnap /usr/ports auf einen aktuellen Stand gebracht, mit portmaster dann den Treiber neu gebaut und nach einem Reboot habe ich nun wieder ein funktionierendes Desktop-System:
Code:
uname -a
FreeBSD biber.unix.pc 11.0-STABLE FreeBSD 11.0-STABLE #0 r317123: Wed Apr 19 12:26:07 CEST 2017     holger@biber.unix.pc:/usr/obj/usr/src/sys/GENERIC  amd64

Danke für Eure Unterstützung, Winke mit Zaunpfählen u.s.f.

Diese Erfahrungen hier habe ich ürigens schon in einem weiteren Kapitel meiner Dokumentation verwurstet. Demnächst lade ich mal wieder eine neuere Fassung davon hoch.

Viele Grüße,
Holger
 
Das Handbuch ist aber übervorsichtig. Wenn man etwas mutig ist, kann man auch drastisch abkürzen:
  1. make buildworld buildkernel
  2. make installkernel installworld
  3. yes | make delete-old delete-old-libs
  4. etcupdate
  5. etcupdate resolve
  6. shutdown -r now
 
Hallo @Yamagi

das ist dann die Kurzfassung für Eilige :D

Übrigens bauen nun meine Ports (head) unter dem aktualisierten Stable-Host mit poudriere komplett durch, samt plasma5, xfce4, kodi, mate, grafischen Sachen, Programmen für Audio-Bearbeitungen u.s.f. Über 1400 pakete mit poudriere gebaut ohne Fehler.
 
Das Handbuch ist aber übervorsichtig. Wenn man etwas mutig ist, kann man auch drastisch abkürzen:
  1. make buildworld buildkernel
Hier sollte man noch -j $(sysctl -n hw.ncpu) als Parameter benutzen, damit pro CPU ein Job ausgeführt wird, was oft linear skaliert.
 
Stimmt. Ich würde sogar zu '$(($(sysctl -n hw.ncpu)+2))' raten, 2 Threads mehr als es CPUs gibt beschleunigen durchaus auch noch wenig.
 
Das Handbuch ist aber übervorsichtig. Wenn man etwas mutig ist, kann man auch drastisch abkürzen:
  1. make buildworld buildkernel
  2. make installkernel installworld
  3. yes | make delete-old delete-old-libs
  4. etcupdate
  5. etcupdate resolve
  6. shutdown -r now
Hallo,

habe diese Kurzversion mal gerade auf meinem FreeBSD mit plasma5 durchgezogen, weil dort das Stable von Mitte März war.

Ging ohne Schwierigkeiten, nochmals Danke.

Auf dem Intel Dualcore Rechner meiner Frau läuft das make buildworld buildkernel noch, ist doch schon eine Menge Holz, und auf etwas älteren Maschinen nicht mal "gerade so" gemacht.

Viele Grüße,
Holger
 
Zurück
Oben