Version 17.1 von jonasmayer@sbede am 2022/05/16 11:36

Zeige letzte Bearbeiter
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.
3
4 {{toc start="4" numbered="true"/}}
5
6
7 ==== Ausgangslage ====
8
9 Zu sehen ist zunächst jeweils der Puppet- und Nextcloud-Versionsstand vor der Aktualisierung des Servers.
10
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
16 ==== Gewöhnliche Aktualisierung per ldupdate ====
17
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
20 [[image:03_nextcloud-1st-prun_after-ldupdate.png||height="547" width="1336"]]
21
22
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.
24
25 [[image:04_nextcloud-new-packages_after-ldupdate.png||height="218" width="827"]]
26
27
28 Bei einem zweiten {{box}}prun{{/box}} im Container ist dann dieser Fehler zu sehen:
29
30 [[image:05_nextcloud-2nd-prun_after-ldupdate_error-major-version.png||height="357" width="1358"]]
31
32
33 ==== Lösung des Problems durch gezieltes Aktualisieren aller Major-Versionen, die dazwischen liegen ====
34
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
38 [[image:1645179101612-273.png]]
39
40
41 Nun installiert man die Pakete ld-nextcloud sowie ld-nextcloud-fix in der benötigten Version (durch strikte Angabe der Versionsnummer im APT-Paketmanager).
42
43 (% class="box successmessage" %)
44 (((
45 **Hinweis:** Beide Pakete sollten immer dieselbe Versionsnummer erhalten.
46 )))
47
48 [[image:07_nextcloud_install-major-versions_step-by-step.png||height="351" width="724"]]
49
50
51 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.
52
53 [[image:08_nextcloud_necessary-prun-after-package-upgrade_for-each-major-version.png||height="558" width="1285"]]
54
55
56 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.
57
58 [[image:09_nextcloud_install-next-major-version_step-by-step.png||height="283" width="908"]]
59
60 [[image:10_nextcloud_next-prun-after-package-upgrade_major-version.png||height="557" width="1313"]]
61
62
63 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.
64
65 [[image:11_nextcloud_no-more-upgrades_finish.png]]