Zuletzt geändert von Clemens Dörfler am 2023/03/29 08:44

Verstecke letzte Bearbeiter
jonasmayer@sbede 17.1 1 Kommt es nach dem ldupdate zu einem Überspringen einer Major-Version von Nextcloud, kann es dazu führen, dass diese trotz ausreichend vieler (% style="color:#2980b9" %)**prun**(%%)s nicht mehr erreichbar ist.
2 Im Folgenden ein Fallbeispiel dazu. Ein LogoDIDACT Server wurde viele Monate lang nicht aktualisiert und der Aufruf von {{box}}ldupdate{{/box}} führte deshalb dazu, dass Nextcloud sich gleich um zwei Major-Versionen von 20.x auf 22.x aktualisiert hat.
FlorianPuie@sbede 11.2 3
jonasmayer@sbede 17.1 4 {{toc start="4" numbered="true"/}}
FlorianPuie@sbede 11.2 5
6
jonasmayer@sbede 17.1 7 ==== Ausgangslage ====
8
9 Zu sehen ist zunächst jeweils der Puppet- und Nextcloud-Versionsstand vor der Aktualisierung des Servers.
10
FlorianPuie@sbede 11.2 11 [[image:01_nextcloud-version_pre-ldupdate.png||height="239" width="956"]]
12
13 [[image:02_puppet-version_pre-update.png||height="129" width="595"]]
14
15
jonasmayer@sbede 17.1 16 ==== Gewöhnliche Aktualisierung per ldupdate ====
FlorianPuie@sbede 11.2 17
jonasmayer@sbede 17.1 18 Führt man ein {{box}}ldupdate{{/box}} und anschließend einen {{box}}prun{{/box}} im LXC-Container nextcloud-g1 aus, sieht man, wie die neuen Pakete installiert werden.
19
FlorianPuie@sbede 11.2 20 [[image:03_nextcloud-1st-prun_after-ldupdate.png||height="547" width="1336"]]
21
22
jonasmayer@sbede 17.1 23 In diesem Beispiel sieht man anhand der Server-Logs, dass Nextcloud einen Sprung von 20.0.7 auf 22.2.0 gemacht hat. Die Major-Version 21.x wurde übersprungen, wodurch das eingangs erwähnte Problem ausgelöst wird.
FlorianPuie@sbede 11.2 24
25 [[image:04_nextcloud-new-packages_after-ldupdate.png||height="218" width="827"]]
26
27
jonasmayer@sbede 17.1 28 Bei einem zweiten {{box}}prun{{/box}} im Container ist dann dieser Fehler zu sehen:
FlorianPuie@sbede 11.2 29
30 [[image:05_nextcloud-2nd-prun_after-ldupdate_error-major-version.png||height="357" width="1358"]]
31
32
jonasmayer@sbede 18.1 33 ==== Lösung des Problems durch gezieltes Aktualisieren aller Nextcloud Hauptversionen, die dazwischen liegen ====
FlorianPuie@sbede 11.2 34
jonasmayer@sbede 17.1 35 Um den Fehler zu beheben, muss man auf die ursprünglich übersprungene Major-Version downgraden. Über das Kommando im nächsten Screenshot kann man sich die verfügbaren Paketversionen anzeigen lassen.
36 In diesem Fall kommt die Version 21.0.2 in Frage.
37
Clemens Dörfler 20.1 38 {{code language="bash" width="20%"}}
39 apt-cache madison ld-nextcloud
40 {{/code}}
41
jonasmayer@sbede 14.1 42 [[image:1645179101612-273.png]]
FlorianPuie@sbede 11.2 43
44
jonasmayer@sbede 17.1 45 Nun installiert man die Pakete ld-nextcloud sowie ld-nextcloud-fix in der benötigten Version (durch strikte Angabe der Versionsnummer im APT-Paketmanager).
FlorianPuie@sbede 11.2 46
jonasmayer@sbede 17.1 47 (% class="box successmessage" %)
48 (((
49 **Hinweis:** Beide Pakete sollten immer dieselbe Versionsnummer erhalten.
50 )))
51
Clemens Dörfler 20.1 52 {{code language="bash" width="20%"}}
53 apt-install ld-nextcloud=23.0.11
54 {{/code}}
55
FlorianPuie@sbede 11.2 56 [[image:07_nextcloud_install-major-versions_step-by-step.png||height="351" width="724"]]
57
Tom Altenbrunn 18.4 58 (% class="box successmessage" %)
Tom Altenbrunn 18.2 59 (((
Tom Altenbrunn 18.3 60 Wichtig: Seit Nextcloud-Version 23.0.11 ist das Paket ld-nextcloud-fix nicht mehr vorhanden. Stattdessen ausschließlich das ld-nextcloud Paket  in der benötigten Version installieren!
Tom Altenbrunn 18.2 61 )))
FlorianPuie@sbede 11.2 62
jonasmayer@sbede 17.1 63 Es ist wichtig, nach jedem Versionssprung einen {{box}}prun{{/box}} auszuführen, damit die Aktualisierung der Nextcloud sowie der zugehörigen Apps per OCC durch Puppet ausgeführt wird. Jetzt hat die Nextcloud die Version 21.0.2.
FlorianPuie@sbede 11.2 64
65 [[image:08_nextcloud_necessary-prun-after-package-upgrade_for-each-major-version.png||height="558" width="1285"]]
66
67
jonasmayer@sbede 17.1 68 Anschließend kann man das nächste Paketbundle (d.h. ld-nextcloud sowie ld-nextcloud-fix in einer nächsthöheren Hauptversion) installieren und führt danach wieder einen {{box}}prun{{/box}} aus.
FlorianPuie@sbede 11.2 69
70 [[image:09_nextcloud_install-next-major-version_step-by-step.png||height="283" width="908"]]
71
72 [[image:10_nextcloud_next-prun-after-package-upgrade_major-version.png||height="557" width="1313"]]
73
74
jonasmayer@sbede 17.1 75 Die Nextcloud ist in diesem Beispiel auf der aktuellsten Version und es stehen keine weiteren Upgrades zur Verfügung. Dies wurde abschließend durch Aufruf des Kommandos {{box}}apt-get upgrade{{/box}} verifiziert.
FlorianPuie@sbede 11.2 76
77 [[image:11_nextcloud_no-more-upgrades_finish.png]]