Update von /etc immer noch Handarbeit?

h^2

hat ne Keule +1
Ich wollte gerade auf 13.0-BETA2 upgraden und inzwischen geht das ja auch schon alles schön per freebsd-update! Aber leider werde ich immernoch bei sehr vielen Sachen gezwungen diffs manuell aufzulösen.

Gibt es eine Möglichkeit, dass ich ähnlich wie bei Debian gefragt werde, ob ich meine Version behalten will, die neue nehme oder das Diff manuell löse? Um ehrlich zu sein, verstehe ich nicht ganz, warum ich händisch durch eine Datei durchgehen soll (die ich nie bearbeitet habe) und bei 30 "inline diffs" immer meinen Teil entfernen und den neuen nehmen soll. Das muss doch einfacher gehen! Es ist schließlich eine Workstation und kein Server. Gibt es vielleicht wenigstens ein Tool, das ich als EDITOR setzen kann, was das für mich macht? Ist ja Standard-Diff-Format...

Vielen Dank,
Hannes
 

pit234a

Well-Known Member
vielleicht verstehe ich das falsch, aber soweit ich mich erinnere, muss man doch nur das ändern, was falsch interpretiert wird.
Wenn man mit den diffs einverstanden ist, werden die doch anschließend automatisch gemerged? War das nicht so?
 

Kamikaze

Warrior of Sunlight
Mit etcupdate gab es bei mir keine Interaktionen.

Jetzt wo Du das System hochgezogen hast solltest Du das einmal mit etcupdate extract initialisieren. Dann beim nächsten mal nur noch etcupdate, das war's.
 

h^2

hat ne Keule +1
vielleicht verstehe ich das falsch, aber soweit ich mich erinnere, muss man doch nur das ändern, was falsch interpretiert wird.
Wenn man mit den diffs einverstanden ist, werden die doch anschließend automatisch gemerged? War das nicht so?
Ne, ich kriege ja eine Datei, wo das klassische diff reingefrickelt ist. D.h. wenn ich die Datei einfach abspeichere habe ich danach eine unbrauchbare config.

Mit etcupdate gab es bei mir keine Interaktionen.

Jetzt wo Du das System hochgezogen hast solltest Du das einmal mit etcupdate extract initialisieren. Dann beim nächsten mal nur noch etcupdate, das war's.
Oh,
Code:
etcupdate
kannte ich noch nicht. In der Man-page steht aber nur was zu installword. Wie benutzt man das denn zusammen mit freebsd-update?
 

Kamikaze

Warrior of Sunlight
Ich erinnere mich noch vage, dass man im Installer die Sourcen mitinstallieren kann. Wenn freebsd-update die dann mit updatet sollte es einfach funktionieren.

Nach einem Blick in freebsd-update.conf(5) sieht das so aus als ginge das mit dem Components Setting.
 

Athaba

Libellenliebhaber
Hmm, ich hatte das auch bisher immer, dass die Files, wie @pit234a erwähnt gemerged werden, mindestens seit 9.x, aber ich glaube auch schon länger. Insofern könnte es vielleicht sein, dass etwas anderes falsch läuft? Das hat bis auf einmal immer funktioniert, also sicher ein paar dutzend mal. Eventuell mit freebsd-update IDS schauen, ob irgendwo was daneben ist?
 

pit234a

Well-Known Member
inzwischen habe ich nun den dritten PC auf eine 13-BETA (von 12.1 und 12.2-RELEASE aus) mit freebsd-update upgegraded.
Eigentlich bin ich da nicht der gr0ße FAN, schon auf BETA und RC -Versionen zu setzen. Nicht, weil ich damit schlechte Erfahrung gemacht hätte, einfach, weil ich als unbedarfter Endanwender durchaus etwas abwarten kann. Diesmal trieb mich die Neugierde.

Es gab jeweils zwischen zwei und vier Dateien, die nicht automatisch gemerged wurden. Die wurden schon gemerged, nur musste eben ein klein wenig Handarbeit angelegt werden. Das hängt vermutlich an der verwendeten Syntax in den Dateien und kann deshalb abweichen. So habe ich zB einen Kommentar unterhalb einer gültigen Zeile eingefügt und da wird nun abgefragt ob, das so OK ist. Also, nichts großartiges, die Vorschläge waren alle gut und die Automatik lief anschließend ebenfalls gut.
 

h^2

hat ne Keule +1
Also, zur Klarstellung, wenn freebsd-update mir sagt, dass er eine Datei nicht automatisch mergen konnte und mir folgendes anzeigt:
1616261722200.png


Dann kann ich die Datei einfach so wie sie ist abspeichern und er nimmt dann die Zeilen von 13.0-RC2? Ich dachte nämlich, er nimmt dann die Datei, so wie sie ist, also mit der kaputten Merge-Syntax...

edit:

The following file will be removed, as it no longer exists in
FreeBSD 13.0-RC2: /etc/crontab
Does this look reasonable (y/n)?

Wenn ich das mit n beantworte bricht das ganze Upgrade ab. But why?
 

h^2

hat ne Keule +1
Ich werde gerade bei hunderten Dateien in /etc gefragt, ob ich sie löschen möchte, inklusive so ziemlich allem in /etc/rc.d... Soll das alles so, oder ist freebsd-update einfach broken?
 

pit234a

Well-Known Member
Dann kann ich die Datei einfach so wie sie ist abspeichern und er nimmt dann die Zeilen von 13.0-RC2?
Ich werde gerade bei hunderten Dateien in /etc gefragt, ob ich sie löschen möchte, inklusive so ziemlich allem in /etc/rc.d... Soll das alles so, oder ist freebsd-update einfach broken?
ich gestehe, dass ich meist gar nicht so richtig hinsehe, wenn ein Update auf einem PC läuft, weil das nämlich inzwischen recht gut vollkommen automatisch läuft. Also, wenn da wie oben eine Datei nicht automatisch gemerged werden kann, dann wird die angezeigt und erfordert Handarbeit. Das sind beimir, wie schon gesagt, sehr wenige gewesen. Wenn es nur wenige sind, kannst du dir die ja mal notieren und dann vor einem install nachsehen, wie die nun aussehen.
Dieser Punkt, also das Mergen, ist einer der großen Schwachpunkte beim freebsd-update in der Vergangenheit gewesen und ICH habe da häufiger Mist gebaut und was falsch eingetragen, was hinterher schwer zu beseitigen war.
In deinem Beispiel sehe ich da einen Unterschied mit zusätzlichen Anführungszeichen und ich kann mir vorstellen, dass freebsd-update das nicht alleine entscheiden möchte.

Gerade eben habe ich (wieder ohne hin zu sehen, in einem Fenster nebenbei) einen Laptop von einer 13-BETA auf die soeben aktuelle 13-RC3 geupdatet und da wurde genau eine Datei aus /boot gelöscht und offenbar nichts verändert oder alles automatisch.

Von welcher Version aus startest du denn?
 

mr44er

moderater Moderator
Teammitglied
Eben von 12.1-RELEASE auf 12.2-RELEASE

Code:
....470....480....490... done.
Attempting to automatically merge changes in files... done.

The following changes, which occurred between FreeBSD 12.1-RELEASE and
FreeBSD 12.2-RELEASE have been merged into /etc/group:
XXXX
+tests:*:977:
XXXX
Does this look reasonable (y/n)? y
...
FreeBSD 12.2-RELEASE have been merged into /etc/master.passwd:
+tests:*:977:977::0:0:Unprivileged user for tests:/nonexistent:/usr/sbin/nologin
...
FreeBSD 12.2-RELEASE have been merged into /etc/passwd:
+tests:*:977:977:Unprivileged user for tests:/nonexistent:/usr/sbin/nologin
...
FreeBSD 12.2-RELEASE have been merged into /etc/ssh/sshd_config:
+#    $FreeBSD: releng/12.2/crypto/openssh/sshd_config 360313 2020-04-25 15:38:48Z emaste $
+#VersionAddendum FreeBSD-20200214
...

...und fertig. Also 4x 'y' gedrückt.
 

h^2

hat ne Keule +1
Eben von 12.1-RELEASE auf 12.2-RELEASE
Ja, vorher hatte ich das auch nicht.

Von welcher Version aus startest du denn?
Von 12.2 auf 13.0-RC2

In deinem Beispiel sehe ich da einen Unterschied mit zusätzlichen Anführungszeichen und ich kann mir vorstellen, dass freebsd-update das nicht alleine entscheiden möchte.
Naja, ich habe diese ganzen Dateien nie angefasst... aber das System ist oft aktualisiert worden und auch manchmal über die Quellen. Vielleicht ist irgendwann mal was nicht richtig gemerget worden und das ist jetzt aufgefallen.

Die Config-Dateien mit dem Inline-Diff waren natürlich im Arsch (weil er eben nicht den Diff applied). Aber da ich mir das dachte, habe ich schnell ein Shell-Skript geschrieben, was die Dateien fixt und überall die neuen Vorschläge nimmt.

System läuft jetzt soweit gut auf 13. Gefühlt ist die "responsiveness" im Desktop deutlich besser als vorher. Das ist schön.

Fazit: Der Update-Prozess ist immernoch Handarbeit. Was ist eigentlich aus dem "pkg für base" geworden?
 

pit234a

Well-Known Member
Naja, ich habe diese ganzen Dateien nie angefasst... aber das System ist oft aktualisiert worden und auch manchmal über die Quellen. Vielleicht ist irgendwann mal was nicht richtig gemerget worden und das ist jetzt aufgefallen.

Die Config-Dateien mit dem Inline-Diff waren natürlich im Arsch (weil er eben nicht den Diff applied). Aber da ich mir das dachte, habe ich schnell ein Shell-Skript geschrieben, was die Dateien fixt und überall die neuen Vorschläge nimmt.

System läuft jetzt soweit gut auf 13. Gefühlt ist die "responsiveness" im Desktop deutlich besser als vorher. Das ist schön.
vielleicht ist da irgendwie die Ausgangslage dann doch anders.
Seit FreeBSD 6 oder so habe ich nur noch freebsd-update benutzt und auch keine eigenen Kernel mehr und vielleicht ein schwaches dutzend an config-Dateien, in denen ich was verändert habe und davon schleppe ich dann immer Kopien mit mir rum. Falls doch mal was schief geht.
Ich glaube, dass ich dieses System seit etwa freeBSD 10 benutze, also mit 9 oder 10 neu aufgesetzt, dann von einer HW auf eine andere umgezogen, nochmal Umzug und immer wieder mit freebsd-update hochgezogen.
Einen anderen PC, ein Laptop, hatte ich mit freeBSD 11 oder 12 neu aufgesetzt und nun ebenfalls auf 13-RC3 mittels freebsd-update gezogen.
Ein anderer war ein Klon des eben erwähnten und ist nun ebenfalls auf 13-RC3 und alles immer mit freebsd-update und minimalstem Aufwand.

Seltsamerweise empfinde ich nun nicht so den großen Sprung in der Performance auf dem Desktop.
Seit irgendeiner Version von 12 hatte ich schon beobachtet, dass die Speichernutzung etwas anders erfolgt und viel weniger oder langsamer in Richtung SWAP zu gehen scheint. Mit 13 habe ich nun noch nicht viel gemacht und kaum mal hingesehen, aber das scheint mir ebenso zu sein.
Ansonsten kann ich nun nicht so den großen Unterschied fühlen. Ich meine, die Anwendungen starten doch eher in Abhängigkeit zur Geschwindigkeit der Festplatten oder SSD oder was immer und dann zum verfügbaren Speicher und vielleicht auch dessen Geschwindigkeit und dann nochmal evtl zur GraKa. An all dem hat sich ja nichts geändert. Und wenn dann die Anwendungen gestartet sind, sieht man ja kaum noch irgendeine Performance auf dem Desktop. Oder?
 

mr44er

moderater Moderator
Teammitglied
Und wenn dann die Anwendungen gestartet sind, sieht man ja kaum noch irgendeine Performance auf dem Desktop. Oder?
Wahrscheinlich nicht im normalen Betrieb/Desktop. Detailliert habe ich mit 13 auch noch nichts gemacht, aber sowieso auf Anschlag laufende Systeme und Paketschubser profitieren wohl am meisten. Es wurde insgesamt viel Feines unter der Haube geschraubt, aber wie du es sagst...Software kann oft zaubern, aber nicht die Hardwareleistung verdoppeln. :D
 

Yamagi

Possessed With Psi Powers
Teammitglied
Was ist eigentlich aus dem "pkg für base" geworden?
Das ist fertig und in FreeBSD 13.0 enthalten, um die Pakete automatisch zu bauen braucht es allerdings ports-mgmt/poudriere-devel. In der releasten Version fehlt die Unterstützung noch. Alternativ kann man manuell per make packages machen. Offizielle Pakete wird es für 13.0 allerdings nicht geben.

Wahrscheinlich nicht im normalen Betrieb/Desktop. Detailliert habe ich mit 13 auch noch nichts gemacht, aber sowieso auf Anschlag laufende Systeme und Paketschubser profitieren wohl am meisten. Es wurde insgesamt viel Feines unter der Haube geschraubt, aber wie du es sagst...Software kann oft zaubern, aber nicht die Hardwareleistung verdoppeln.
Und es profitieren vor allem große Systeme. 64 Kerne und aufwärts.
 
Oben