Hinweis: Diese Dokumentation wurde mit Unterstützung künstlicher Intelligenz erstellt und von Menschen auf Genauigkeit geprüft.
Update von Ubuntu Jammy (22.04) auf Ubuntu Noble (24.04)¶
Backup
Bevor Sie beginnen, stellen Sie sicher, dass Sie ein funktionierendes Backup Ihres Systems erstellt haben! Auf virtuellen Maschinen legen Sie zusätzlich einen Snapshot an, um das komplette Upgrade zurückrollen zu können.
Führen Sie alle Kommandos als root Benutzer aus.
Um immer die aktuelle Version von openITCOCKPIT verwenden zu können, ist es wichtig, das zugrundeliegende Betriebssystem aktuell zu halten. Mit dieser Anleitung können Sie Ihr Ubuntu Jammy System auf Ubuntu Noble aktualisieren.
openITCOCKPIT Version
Das Upgrade installiert die aktuellste openITCOCKPIT Version, die für Ubuntu Noble verfügbar ist. Es ist nicht möglich, während des Betriebssystem-Upgrades auf der bisherigen openITCOCKPIT Version zu bleiben.
Dauer und Erreichbarkeit
Rechnen Sie mit 15 bis 60 Minuten, abhängig von der Anzahl der Pakete und der Leistung des Systems. Ab dem Stoppen von PHP-FPM ist die openITCOCKPIT Weboberfläche nicht mehr erreichbar, bis die Konfiguration am Ende dieser Anleitung neu geschrieben wurde.
Voraussetzungen¶
- openITCOCKPIT in der Version 4.x oder 5.x
- Mindestens 5 GB freier Speicherplatz auf
/- während des Upgrades werden etwa 2 GB Pakete heruntergeladen
Prüfen Sie vor dem Start den freien Speicherplatz:
df -h /
Installation aller Updates¶
Bevor Sie mit dem Upgrade von Ubuntu beginnen, stellen Sie bitte sicher, dass alle verfügbaren Updates installiert wurden.
apt update && apt -y full-upgrade
PHP-FPM stoppen¶
Vor dem Upgrade sollte PHP-FPM 8.1 angehalten werden, um Konflikte zu vermeiden:
systemctl stop php8.1-fpm.service
Falls Sie eine andere PHP Version einsetzen, stoppen Sie den entsprechenden phpX.Y-fpm.service.
Alte systemd Units entfernen¶
openITCOCKPIT 5.9 ersetzt Statusengine 3 durch Statusengine 4. Der Cleanup Dienst startet jetzt
/opt/openitc/statusengine4/worker/bin/db_cleanup, ältere Installationen nutzten
/opt/openitc/statusengine3/worker/bin/Console.php.
Units unter /etc/systemd/system haben Vorrang vor den Units aus /usr/lib/systemd/system.
Eine zurückgebliebene Unit aus Statusengine 3 Zeiten überdeckt daher die neue Unit und der Dienst
scheitert mit status=203/EXEC.
Prüfen Sie, welche Unit aktuell verwendet wird:
systemctl cat statusengine_cleanup.service statusengine_cleanup.timer
ls -l /etc/systemd/system/statusengine_cleanup.*
Existiert eine Unit unter /etc/systemd/system, deaktivieren Sie diese, verschieben Sie sie und aktivieren
Sie sie anschließend erneut:
systemctl disable statusengine_cleanup.timer
mkdir -p /root/backup_units
mv /etc/systemd/system/statusengine_cleanup.* /root/backup_units/
systemctl daemon-reload
systemctl enable --now statusengine_cleanup.timer
Nach diesem Schritt müssen beide Units aus /usr/lib/systemd/system geladen werden.
openITCOCKPIT Pakete ermitteln¶
Nun werden zuerst alle installierten Pakete von openITCOCKPIT ermittelt und in der Variable openitcockpit_upd gespeichert:
openitcockpit_upd=$(apt-mark showmanual | grep openitcockpit | grep -v '^openitcockpit-statusengine3-worker$' | xargs echo)" "$(apt-mark showauto | grep openitcockpit | grep -v '^openitcockpit-statusengine3-worker$' | xargs echo)
openitcockpit-statusengine3-worker nicht pinnen
Seit openITCOCKPIT 5.9 wird das Paket openitcockpit-statusengine3-worker durch
openitcockpit-statusengine4-worker ersetzt. Wird das alte Paket explizit angefordert, bricht apt mit
openitcockpit-statusengine4-worker : Conflicts: openitcockpit-statusengine3-worker ab.
Paketquellen ändern¶
Die Ubuntu-Paketquellen müssen nun auf den neuen Release Noble angepasst werden:
for f in /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/*.sources; do
[ -f "$f" ] && sed -i 's/jammy/noble/g' "$f"
done
Damit werden sowohl /etc/apt/sources.list als auch deb822-Quellen wie /etc/apt/sources.list.d/ubuntu.sources umgestellt.
Prüfen Sie, dass keine Jammy-Quelle übrig ist:
grep -rn jammy /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
Der grep Befehl darf keine Zeile mehr ausgeben.
Upgrade durchführen¶
Nun wird das eigentliche Upgrade von Ubuntu 22.04 auf 24.04 gestartet:
apt update
# Simulation (nur prüfen) - darf keine unerfüllten Abhängigkeiten melden
apt -s full-upgrade $openitcockpit_upd apache2-
# Upgrade wirklich ausführen
apt -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" full-upgrade $openitcockpit_upd apache2-
Die Dpkg::Options behalten bestehende Konfigurationsdateien ohne Rückfrage bei. Konfigurationsdateien,
die von openITCOCKPIT verwaltet werden, werden im letzten Schritt durch das Update-Skript neu geschrieben.
Schlägt das Upgrade fehl, setzen Sie es so fort:
dpkg --configure -a
Nicht mehr benötigte Pakete löschen¶
apt -y autoremove
PHP nach Upgrade starten¶
systemctl restart php8.3-fpm.service
Konfiguration aktualisieren¶
Im letzten Schritt werden alle Konfigurationsdateien aktualisiert und bei Bedarf neu generiert.
openITCOCKPIT Master¶
Wenn Sie das Update auf einem openITCOCKPIT Master System ausführen, nutzen Sie den folgenden Befehl:
openitcockpit-update --cc
openITCOCKPIT Satellit¶
Auf einem openITCOCKPIT Satellit nutzen Sie den folgenden Befehl:
/opt/openitc/frontend/UPDATE.sh
Neustart durchführen¶
Ein Neustart des Systems ist erforderlich, um den neuen Kernel zu aktivieren:
reboot
Verifikation¶
Prüfen Sie nach dem Neustart, ob das Upgrade erfolgreich abgeschlossen wurde:
grep PRETTY_NAME /etc/os-release
systemctl --failed
systemctl status php8.3-fpm.service
systemctl status statusengine_cleanup.timer
systemctl --failed darf keine Unit auflisten und der Cleanup Timer muss aus
/usr/lib/systemd/system/statusengine_cleanup.timer geladen werden.