Wiki-Quellcode von Nextcloud Update-Fehler durch Versionssprung
Version 17.1 von jonasmayer@sbede am 2022/05/16 11:36
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
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]] |