ubuntu:ubuntu_24.04_1
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ubuntu:ubuntu_24.04_1 [2026/05/09 09:49] – angelegt franz | ubuntu:ubuntu_24.04_1 [2026/05/09 10:31] (aktuell) – angelegt franz | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Ubuntu Server 22.04 LTS auf 24.04 LTS upgraden ====== | ====== Ubuntu Server 22.04 LTS auf 24.04 LTS upgraden ====== | ||
| - | Diese Anleitung beschreibt das Upgrade eines Ubuntu Servers von **Ubuntu 22.04 LTS (Jammy Jellyfish)** | + | Diese Anleitung beschreibt das Upgrade eines Ubuntu Servers von Ubuntu 22.04 LTS auf Ubuntu 24.04 LTS. |
| Stand: 2026-05-09 | Stand: 2026-05-09 | ||
| Zeile 7: | Zeile 7: | ||
| ===== Ziel ===== | ===== Ziel ===== | ||
| - | Upgrade eines bestehenden Ubuntu Servers von: | + | Upgrade eines bestehenden Ubuntu Servers von Ubuntu 22.04 LTS auf Ubuntu 24.04 LTS. |
| - | * Ubuntu 22.04 LTS\\ | + | Besonderheiten dieses Servers: |
| - | * auf Ubuntu 24.04 LTS | + | |
| - | mit besonderer Beachtung von: | + | * Ubuntu Server |
| - | + | * SSH Zugriff | |
| - | * SSH-Zugriff\\ | + | * UFW Firewall |
| - | * UFW Firewall\\ | + | * Apache |
| - | * Apache Reverse Proxy\\ | + | * Let's Encrypt |
| - | * Let's Encrypt | + | * Docker |
| - | * Docker | + | * Docker Compose |
| - | * Nextcloud unter Docker\\ | + | * Nextcloud unter Docker |
| - | * Paketquellen und Drittanbieter-Repositories | + | |
| ===== Wichtige Hinweise ===== | ===== Wichtige Hinweise ===== | ||
| - | **Nicht ohne Backup | + | Vor dem Upgrade muss ein funktionierendes |
| - | Ein Release-Upgrade kann Dienste, | + | Ein Release Upgrade kann Paketquellen, Dienste, Konfigurationsdateien und Abhängigkeiten verändern. Besonders bei Docker, Nextcloud, Apache, SSH und Firewall Regeln |
| - | **Nicht über eine einzige unsichere SSH-Verbindung arbeiten.** | + | Das Upgrade sollte möglichst in einem Wartungsfenster durchgeführt werden. |
| - | Am besten: | + | Wenn möglich, zusätzlich zur SSH Verbindung eine Konsole des Providers, eine VM Konsole, IPMI, iLO oder eine andere Notfallkonsole bereithalten. |
| - | * über Konsole / VM-Konsole / iLO / IPMI / Provider-Konsole arbeiten\\ | + | Das Upgrade |
| - | * zusätzlich SSH absichern\\ | + | |
| - | * Upgrade in '' | + | |
| - | **Nicht verwenden:** | + | Nicht verwenden: |
| - | + | ||
| - | <code bash> | + | |
| - | sudo do-release-upgrade -d\\ | + | |
| + | <code bash> sudo do-release-upgrade -d | ||
| </ | </ | ||
| - | Der Parameter | + | Der Parameter -d ist für Entwicklungs |
| ===== Offizielle Quellen ===== | ===== Offizielle Quellen ===== | ||
| - | * Ubuntu Server Upgrade Guide: https:// | + | |
| - | * Ubuntu 24.04 LTS Release Notes: https:// | + | * Ubuntu 24.04 LTS Release Notes: |
| - | * Ubuntu 24.04 Community Release Notes: https:// | + | * Ubuntu 24.04 Community Release Notes: |
| ===== 1. Aktuelle Systemversion prüfen ===== | ===== 1. Aktuelle Systemversion prüfen ===== | ||
| - | <code bash>\\ | + | <code bash> lsb_release -a uname -r hostnamectl |
| - | lsb_release -a\\ | + | |
| - | uname -r\\ | + | |
| - | hostnamectl\\ | + | |
| </ | </ | ||
| Erwartet vor dem Upgrade: | Erwartet vor dem Upgrade: | ||
| - | <code text>\\ | + | <code text> Ubuntu 22.04.x LTS Codename: jammy |
| - | Ubuntu 22.04.x LTS\\ | + | |
| </ | </ | ||
| ===== 2. Backup erstellen ===== | ===== 2. Backup erstellen ===== | ||
| - | Vor dem Upgrade muss ein funktionierendes | + | Vor dem Upgrade muss ein vollständiges und geprüftes |
| - | + | ||
| - | ==== 2.1 Wichtige Verzeichnisse sichern ==== | + | |
| Mindestens sichern: | Mindestens sichern: | ||
| - | * '' | + | |
| - | * Docker-Compose-Verzeichnisse\\ | + | * Docker Compose Verzeichnisse |
| - | * '' | + | * .env Dateien |
| - | * Docker Volumes\\ | + | * Docker Volumes |
| - | * Datenbanken\\ | + | * Datenbanken |
| - | * Nextcloud-Datenverzeichnis\\ | + | * Nextcloud Datenverzeichnis |
| - | * Apache-Konfiguration\\ | + | * Apache Konfiguration |
| - | * Certbot-/Let's-Encrypt-Konfiguration | + | * Certbot |
| + | * wichtige eigene Skripte | ||
| + | * Cronjobs | ||
| + | * UFW Regeln | ||
| - | Beispiele: | + | ==== 2.1 /etc sichern ==== |
| - | + | ||
| - | <code bash> | + | |
| - | sudo tar -czf / | + | |
| + | <code bash> sudo tar -czf / | ||
| </ | </ | ||
| - | Falls Docker Compose | + | ==== 2.2 Docker Compose |
| - | <code bash> | + | Pfad zum Docker Compose Projekt prüfen: |
| - | cd /pfad/zum/ | + | |
| - | pwd\\ | + | |
| - | ls -la\\ | + | |
| + | <code bash> cd / | ||
| </ | </ | ||
| - | Beispiel: | + | Beispiel |
| - | + | ||
| - | <code bash> | + | |
| - | tar -czf / | + | |
| + | <code bash> sudo tar -czf / | ||
| </ | </ | ||
| - | ==== 2.2 Docker | + | ==== 2.3 Docker |
| - | Laufende Container anzeigen: | + | <code bash> docker ps docker ps -a docker volume ls docker network ls docker compose version docker version |
| + | </ | ||
| - | <code bash> | + | ==== 2.4 Nextcloud Backup prüfen ==== |
| - | docker ps\\ | + | |
| - | docker compose version\\ | + | |
| - | docker version\\ | + | |
| - | </ | + | Bei Nextcloud unter Docker müssen besonders gesichert werden: |
| - | Docker | + | * Nextcloud Datenverzeichnis |
| + | * Nextcloud config.php | ||
| + | * Datenbank | ||
| + | * Docker | ||
| + | * .env Datei | ||
| + | * eventuell externe App Daten | ||
| - | <code bash> | + | Datenbankcontainer anzeigen: |
| - | docker volume ls\\ | + | |
| + | <code bash> docker ps | ||
| </ | </ | ||
| - | Bei Nextcloud besonders wichtig: | + | Beispiel für einen Datenbankdump bei MariaDB oder MySQL: |
| - | * Nextcloud-Konfigurationsdateien\\ | + | <code bash> docker exec -it DATENBANK_CONTAINER_NAME mysqldump |
| - | * Nextcloud-Datenverzeichnis\\ | + | </ |
| - | * Datenbankdump\\ | + | |
| - | * Docker Compose Datei\\ | + | |
| - | * '' | + | |
| - | Beispiel für MariaDB/ | + | Hinweis: Containername, |
| - | <code bash> | + | ===== 3. SSH Zugriff absichern ===== |
| - | docker ps\\ | + | |
| - | </ | + | Während des Upgrades kann ein zusätzlicher SSH Port 1022 verwendet werden. Der Ubuntu Release Upgrader bietet diesen Port häufig als Notfallzugang an. |
| - | Dann passenden Datenbankcontainer ermitteln und Dump erstellen, Beispiel: | + | Port 1022 in UFW erlauben: |
| - | + | ||
| - | <code bash> | + | |
| - | docker exec -it DATENBANK_CONTAINER_NAME mysqldump -u root -p --all-databases > / | + | |
| + | <code bash> sudo ufw allow 1022/tcp sudo ufw status numbered | ||
| </ | </ | ||
| - | **Achtung: | + | SSH Status prüfen: |
| - | + | ||
| - | ===== 3. SSH-Zugriff absichern ===== | + | |
| - | + | ||
| - | Während des Upgrades kann ein zusätzlicher | + | |
| - | + | ||
| - | Firewall vorher öffnen: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | sudo ufw allow 1022/ | + | |
| - | sudo ufw status numbered\\ | + | |
| + | <code bash> systemctl status ssh --no-pager ss -tlnp | grep -E ': | ||
| </ | </ | ||
| - | Aktuellen SSH-Zugriff prüfen: | + | tmux installieren: |
| - | + | ||
| - | <code bash> | + | |
| - | systemctl status ssh --no-pager\\ | + | |
| - | ss -tlnp | grep -E ': | + | |
| + | <code bash> sudo apt install tmux | ||
| </ | </ | ||
| - | Zusätzlich empfohlen: | + | tmux starten: |
| - | + | ||
| - | <code bash> | + | |
| - | sudo apt install tmux\\ | + | |
| - | tmux\\ | + | |
| + | <code bash> tmux | ||
| </ | </ | ||
| - | Das Upgrade | + | Das Upgrade |
| ===== 4. System vollständig aktualisieren ===== | ===== 4. System vollständig aktualisieren ===== | ||
| Zeile 183: | Zeile 148: | ||
| Paketlisten aktualisieren: | Paketlisten aktualisieren: | ||
| - | <code bash>\\ | + | <code bash> sudo apt update |
| - | sudo apt update\\ | + | |
| </ | </ | ||
| - | Vollständiges Upgrade der bestehenden | + | Bestehende |
| - | + | ||
| - | <code bash> | + | |
| - | sudo apt dist-upgrade -o APT:: | + | |
| + | <code bash> sudo apt dist-upgrade -o APT:: | ||
| </ | </ | ||
| Nicht mehr benötigte Pakete entfernen: | Nicht mehr benötigte Pakete entfernen: | ||
| - | <code bash>\\ | + | <code bash> sudo apt autoremove --purge |
| - | sudo apt autoremove --purge\\ | + | |
| </ | </ | ||
| Paketstatus prüfen: | Paketstatus prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo apt --fix-broken install sudo dpkg --audit apt-mark showhold |
| - | sudo apt --fix-broken install\\ | + | |
| - | sudo dpkg --audit\\ | + | |
| - | apt-mark showhold\\ | + | |
| </ | </ | ||
| Freien Speicherplatz prüfen: | Freien Speicherplatz prüfen: | ||
| - | <code bash>\\ | + | <code bash> df -h df -h / /boot /var |
| - | df -h\\ | + | |
| - | df -h / /boot /var\\ | + | |
| </ | </ | ||
| - | Falls Pakete zurückgehalten werden, zuerst prüfen und lösen: | + | Falls Pakete zurückgehalten werden: |
| - | + | ||
| - | <code bash> | + | |
| - | apt list --upgradable\\ | + | |
| - | apt-mark showhold\\ | + | |
| + | <code bash> apt list --upgradable apt-mark showhold | ||
| </ | </ | ||
| - | ===== 5. Reboot vor dem Release-Upgrade ===== | + | Zurückgehaltene Pakete zuerst bewusst prüfen und beheben. |
| + | |||
| + | ===== 5. Reboot vor dem Release Upgrade ===== | ||
| Prüfen, ob ein Reboot erforderlich ist: | Prüfen, ob ein Reboot erforderlich ist: | ||
| - | <code bash>\\ | + | <code bash> test -f / |
| - | test -f / | + | |
| </ | </ | ||
| Server neu starten: | Server neu starten: | ||
| - | <code bash>\\ | + | <code bash> sudo reboot |
| - | sudo reboot\\ | + | |
| </ | </ | ||
| Nach dem Reboot erneut anmelden und prüfen: | Nach dem Reboot erneut anmelden und prüfen: | ||
| - | <code bash>\\ | + | <code bash> lsb_release -a uname -r systemctl --failed |
| - | lsb_release -a\\ | + | |
| - | uname -r\\ | + | |
| - | systemctl --failed\\ | + | |
| </ | </ | ||
| - | ===== 6. Upgrade-Tool vorbereiten ===== | + | ===== 6. Upgrade Tool vorbereiten ===== |
| - | Paket installieren: | + | update-manager-core |
| - | + | ||
| - | <code bash> | + | |
| - | sudo apt install | + | |
| + | <code bash> sudo apt install update-manager-core | ||
| </ | </ | ||
| Konfiguration prüfen: | Konfiguration prüfen: | ||
| - | <code bash>\\ | + | <code bash> cat / |
| - | cat / | + | |
| </ | </ | ||
| Dort muss stehen: | Dort muss stehen: | ||
| - | <code text>\\ | + | <code text> Prompt=lts |
| - | Prompt=lts\\ | + | |
| </ | </ | ||
| - | Falls nicht, | + | Falls nicht, |
| - | + | ||
| - | <code bash> | + | |
| - | sudo nano / | + | |
| + | <code bash> sudo nano / | ||
| </ | </ | ||
| - | Oder per Befehl: | + | Oder per Befehl |
| - | + | ||
| - | <code bash> | + | |
| - | sudo sed -i ' | + | |
| + | <code bash> sudo sed -i ' | ||
| </ | </ | ||
| - | ===== 7. Drittanbieter-Quellen | + | ===== 7. Drittanbieter |
| Vor dem Upgrade alle zusätzlichen Paketquellen prüfen: | Vor dem Upgrade alle zusätzlichen Paketquellen prüfen: | ||
| - | <code bash>\\ | + | <code bash> ls -la / |
| - | ls -la / | + | |
| - | grep -R "^deb " / | + | |
| </ | </ | ||
| Typische Drittquellen: | Typische Drittquellen: | ||
| - | * Docker\\ | + | |
| - | * Google\\ | + | |
| - | * Microsoft\\ | + | * Microsoft |
| - | * NodeSource\\ | + | * NodeSource |
| - | * PostgreSQL\\ | + | * PostgreSQL |
| - | * MariaDB\\ | + | * MariaDB |
| - | * Grafana\\ | + | * Grafana |
| - | * sonstige PPAs | + | * sonstige PPAs |
| - | Der Release-Upgrader deaktiviert Drittanbieterquellen häufig automatisch. Nach dem Upgrade müssen sie für '' | + | Der Release Upgrader deaktiviert Drittanbieterquellen häufig automatisch. Nach dem Upgrade müssen sie für noble wieder korrekt aktiviert werden. |
| - | Aktuellen Ubuntu-Codename prüfen: | + | Aktuellen Ubuntu Codename prüfen: |
| - | + | ||
| - | <code bash> | + | |
| - | lsb_release -cs\\ | + | |
| + | <code bash> lsb_release -cs | ||
| </ | </ | ||
| Vor dem Upgrade sollte hier stehen: | Vor dem Upgrade sollte hier stehen: | ||
| - | <code text>\\ | + | <code text> jammy |
| - | jammy\\ | + | |
| </ | </ | ||
| Nach dem Upgrade sollte hier stehen: | Nach dem Upgrade sollte hier stehen: | ||
| - | <code text>\\ | + | <code text> noble |
| - | noble\\ | + | |
| </ | </ | ||
| - | ===== 8. Optional: Docker/Nextcloud vor dem Upgrade stoppen ===== | + | ===== 8. Optional Docker |
| Bei produktiven Diensten Wartungsfenster einplanen. | Bei produktiven Diensten Wartungsfenster einplanen. | ||
| - | Docker-Compose-Verzeichnis öffnen: | + | Docker Compose Verzeichnis öffnen: |
| - | + | ||
| - | <code bash> | + | |
| - | cd / | + | |
| + | <code bash> cd / | ||
| </ | </ | ||
| Status prüfen: | Status prüfen: | ||
| - | <code bash>\\ | + | <code bash> docker compose ps |
| - | docker compose ps\\ | + | |
| </ | </ | ||
| Optional Container stoppen: | Optional Container stoppen: | ||
| - | <code bash>\\ | + | <code bash> docker compose down |
| - | docker compose down\\ | + | |
| </ | </ | ||
| - | **Hinweis: | + | Nur stoppen, wenn ein Backup vorhanden ist und klar ist, wie die Dienste wieder gestartet werden. |
| - | ===== 9. Release-Upgrade starten ===== | + | ===== 9. Release Upgrade starten ===== |
| Upgrade starten: | Upgrade starten: | ||
| - | <code bash>\\ | + | <code bash> sudo do-release-upgrade |
| - | sudo do-release-upgrade\\ | + | |
| </ | </ | ||
| Während des Upgrades: | Während des Upgrades: | ||
| - | * Fragen aufmerksam lesen\\ | + | |
| - | * keine Paketentfernungen blind bestätigen\\ | + | * keine Paketentfernungen blind bestätigen |
| - | * bei Konfigurationsdateien bewusst entscheiden\\ | + | * bei Konfigurationsdateien bewusst entscheiden |
| - | * bei SSH-Hinweis Port '' | + | * Unterschiede anzeigen lassen, wenn lokale Änderungen vorhanden sind |
| - | * bei Aufforderung zum Neustart bestätigen | + | |
| + | * bei Aufforderung zum Neustart bestätigen | ||
| Typische Frage bei Konfigurationsdateien: | Typische Frage bei Konfigurationsdateien: | ||
| - | * lokale Version behalten\\ | + | |
| - | * Paketbetreuer-Version installieren\\ | + | * Paketbetreuer Version installieren |
| - | * Unterschiede anzeigen | + | * Unterschiede anzeigen |
| - | Bei manuell angepassten | + | Bei manuell angepassten |
| ===== 10. Reboot nach dem Upgrade ===== | ===== 10. Reboot nach dem Upgrade ===== | ||
| Zeile 389: | Zeile 306: | ||
| Nach Abschluss des Upgrades neu starten: | Nach Abschluss des Upgrades neu starten: | ||
| - | <code bash>\\ | + | <code bash> sudo reboot |
| - | sudo reboot\\ | + | |
| </ | </ | ||
| Danach Version prüfen: | Danach Version prüfen: | ||
| - | <code bash>\\ | + | <code bash> lsb_release -a uname -r hostnamectl |
| - | lsb_release -a\\ | + | |
| - | uname -r\\ | + | |
| - | hostnamectl\\ | + | |
| </ | </ | ||
| Erwartet: | Erwartet: | ||
| - | <code text>\\ | + | <code text> Ubuntu 24.04.x LTS Codename: noble |
| - | Ubuntu 24.04.x LTS\\ | + | |
| - | Codename: noble\\ | + | |
| </ | </ | ||
| Zeile 415: | Zeile 323: | ||
| Paketquellen prüfen: | Paketquellen prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo apt update |
| - | sudo apt update\\ | + | |
| </ | </ | ||
| Alle Quellen kontrollieren: | Alle Quellen kontrollieren: | ||
| - | <code bash>\\ | + | <code bash> grep -R "^deb " / |
| - | grep -R "^deb " / | + | |
| </ | </ | ||
| - | Es sollten keine alten '' | + | Es sollten keine alten jammy Quellen aktiv sein, außer bewusst und begründet. |
| - | Suchen nach alten Einträgen: | + | Nach alten Einträgen |
| - | + | ||
| - | <code bash> | + | |
| - | grep -R " | + | |
| + | <code bash> grep -R " | ||
| </ | </ | ||
| - | Falls Docker-Quelle deaktiviert wurde, prüfen: | + | Falls Docker Quelle deaktiviert wurde: |
| - | + | ||
| - | <code bash> | + | |
| - | ls -la / | + | |
| - | cat / | + | |
| + | <code bash> ls -la / | ||
| </ | </ | ||
| - | Docker-Quelle muss nach dem Upgrade auf '' | + | Docker Quelle muss nach dem Upgrade auf noble zeigen, nicht auf jammy. |
| ===== 12. System nachbereinigen ===== | ===== 12. System nachbereinigen ===== | ||
| Zeile 450: | Zeile 349: | ||
| Paketstatus prüfen: | Paketstatus prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo apt update sudo apt upgrade sudo apt autoremove --purge sudo apt clean |
| - | sudo apt update\\ | + | |
| - | sudo apt upgrade\\ | + | |
| - | sudo apt autoremove --purge\\ | + | |
| - | sudo apt clean\\ | + | |
| </ | </ | ||
| Fehlerhafte Dienste anzeigen: | Fehlerhafte Dienste anzeigen: | ||
| - | <code bash>\\ | + | <code bash> systemctl --failed |
| - | systemctl --failed\\ | + | |
| </ | </ | ||
| Fehler im aktuellen Boot anzeigen: | Fehler im aktuellen Boot anzeigen: | ||
| - | <code bash>\\ | + | <code bash> journalctl -p 3 -xb |
| - | journalctl -p 3 -xb\\ | + | |
| </ | </ | ||
| Pakete mit Problemen prüfen: | Pakete mit Problemen prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo dpkg --audit sudo apt --fix-broken install |
| - | sudo dpkg --audit\\ | + | |
| - | sudo apt --fix-broken install\\ | + | |
| </ | </ | ||
| Zeile 484: | Zeile 371: | ||
| Status prüfen: | Status prüfen: | ||
| - | <code bash>\\ | + | <code bash> systemctl status ssh --no-pager systemctl status ssh.socket --no-pager ss -tlnp | grep -E ': |
| - | systemctl status ssh --no-pager\\ | + | |
| - | systemctl status ssh.socket --no-pager\\ | + | |
| - | ss -tlnp | grep -E ': | + | |
| </ | </ | ||
| - | Ab Ubuntu 24.04 kann SSH über systemd Socket Activation laufen. Deshalb zusätzlich | + | Ab Ubuntu 24.04 kann SSH über systemd Socket Activation laufen. Deshalb zusätzlich ssh.socket prüfen. |
| - | Falls SSH funktioniert und Port '' | + | Falls SSH funktioniert und Port 1022 nicht mehr benötigt wird: |
| - | + | ||
| - | <code bash> | + | |
| - | sudo ufw delete allow 1022/ | + | |
| - | sudo ufw status numbered\\ | + | |
| + | <code bash> sudo ufw delete allow 1022/tcp sudo ufw status numbered | ||
| </ | </ | ||
| Zeile 505: | Zeile 385: | ||
| Status anzeigen: | Status anzeigen: | ||
| - | <code bash>\\ | + | <code bash> sudo ufw status verbose |
| - | sudo ufw status verbose\\ | + | |
| </ | </ | ||
| Typische erlaubte Ports: | Typische erlaubte Ports: | ||
| - | <code text>\\ | + | <code text> 22/tcp 80/tcp 443/ |
| - | 22/tcp\\ | + | |
| - | 80/tcp\\ | + | |
| - | 443/tcp\\ | + | |
| </ | </ | ||
| Falls temporär verwendet: | Falls temporär verwendet: | ||
| - | <code text>\\ | + | <code text> 1022/ |
| - | 1022/tcp\\ | + | |
| </ | </ | ||
| Regeln prüfen: | Regeln prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo ufw status numbered |
| - | sudo ufw status numbered\\ | + | |
| </ | </ | ||
| ===== 15. Apache Reverse Proxy prüfen ===== | ===== 15. Apache Reverse Proxy prüfen ===== | ||
| - | Apache-Konfiguration testen: | + | Apache Konfiguration testen: |
| - | <code bash>\\ | + | <code bash> sudo apache2ctl configtest |
| - | sudo apache2ctl configtest\\ | + | </ |
| + | |||
| + | Apache Status prüfen: | ||
| + | <code bash> systemctl status apache2 --no-pager | ||
| </ | </ | ||
| - | Apache-Status prüfen: | + | Apache |
| + | |||
| + | <code bash> sudo systemctl reload apache2 | ||
| + | </ | ||
| - | <code bash> | + | Aktive Virtual Hosts prüfen: |
| - | systemctl status apache2 --no-pager\\ | + | |
| + | <code bash> sudo apache2ctl -S | ||
| </ | </ | ||
| - | Apache neu laden: | + | Aktive Module prüfen: |
| - | <code bash>\\ | + | <code bash> |
| - | sudo systemctl reload apache2\\ | + | </ |
| + | |||
| + | Wichtige Module für Reverse Proxy: | ||
| + | |||
| + | * proxy | ||
| + | * proxy_http | ||
| + | * headers | ||
| + | * ssl | ||
| + | * rewrite | ||
| + | |||
| + | Prüfung: | ||
| + | <code bash> apache2ctl -M | grep -E " | ||
| </ | </ | ||
| - | Aktive VirtualHosts | + | ===== 16. Let's Encrypt und Certbot |
| - | <code bash> | + | Snap prüfen: |
| - | sudo apache2ctl -S\\ | + | |
| + | <code bash> snap list | ||
| </ | </ | ||
| - | Aktive Module | + | Certbot Zertifikate |
| - | <code bash>\\ | + | <code bash> |
| - | apache2ctl -M\\ | + | </ |
| + | |||
| + | Renewal Test durchführen: | ||
| + | <code bash> sudo certbot renew --dry-run | ||
| </ | </ | ||
| - | Wichtige Module für Reverse Proxy: | + | Timer prüfen: |
| - | * '' | + | <code bash> systemctl list-timers | grep -i certbot systemctl list-timers | grep -i snap |
| - | * '' | + | </ |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | Beispielprüfung: | + | ===== 17. Docker nach dem Upgrade prüfen ===== |
| - | <code bash> | + | Docker Version prüfen: |
| - | apache2ctl -M | grep -E " | + | |
| + | <code bash> docker version docker compose version | ||
| </ | </ | ||
| - | ===== 16. Let's Encrypt / Certbot | + | Docker Dienst |
| - | Snap prüfen: | + | <code bash> systemctl status docker --no-pager |
| + | </ | ||
| - | <code bash> | + | Container prüfen: |
| - | snap list\\ | + | |
| + | <code bash> docker ps docker ps -a | ||
| </ | </ | ||
| - | Certbot-Zertifikate prüfen: | + | Falls Container vor dem Upgrade gestoppt wurden: |
| - | <code bash>\\ | + | <code bash> |
| - | sudo certbot certificates\\ | + | </ |
| + | |||
| + | Logs prüfen: | ||
| + | <code bash> docker compose logs --tail=100 | ||
| </ | </ | ||
| - | Renewal-Test durchführen: | + | ===== 18. Nextcloud nach dem Upgrade prüfen ===== |
| - | <code bash> | + | Docker Container prüfen: |
| - | sudo certbot renew --dry-run\\ | + | |
| + | <code bash> docker ps | ||
| </ | </ | ||
| - | Timer prüfen: | + | Nextcloud Logs prüfen: |
| + | |||
| + | <code bash> docker logs --tail=100 NEXTCLOUD_CONTAINER_NAME | ||
| + | </ | ||
| - | <code bash> | + | Nextcloud Status per occ prüfen: |
| - | systemctl list-timers | grep -i certbot\\ | + | |
| - | systemctl list-timers | grep -i snap\\ | + | |
| + | <code bash> docker exec -u www-data -it NEXTCLOUD_CONTAINER_NAME php occ status | ||
| </ | </ | ||
| - | ===== 17. Docker nach dem Upgrade | + | Maintenance Mode prüfen: |
| - | Docker-Version prüfen: | + | <code bash> docker exec -u www-data -it NEXTCLOUD_CONTAINER_NAME php occ maintenance:mode |
| + | </ | ||
| - | <code bash> | + | Core Integrität prüfen: |
| - | docker version\\ | + | |
| - | docker compose version\\ | + | |
| + | <code bash> docker exec -u www-data -it NEXTCLOUD_CONTAINER_NAME php occ integrity: | ||
| </ | </ | ||
| - | Docker-Dienst prüfen: | + | Hinweis: Containername und Benutzer können je nach Image abweichen. |
| - | <code bash> | + | ===== 19. Netzwerk prüfen ===== |
| - | systemctl status docker --no-pager\\ | + | |
| + | IP Adressen prüfen: | ||
| + | |||
| + | <code bash> ip addr ip route | ||
| </ | </ | ||
| - | Container | + | DNS prüfen: |
| - | <code bash>\\ | + | <code bash> |
| - | docker ps\\ | + | </ |
| - | docker ps -a\\ | + | |
| + | Erreichbarkeit prüfen: | ||
| + | |||
| + | <code bash> ping -c 4 1.1.1.1 ping -c 4 ubuntu.com | ||
| </ | </ | ||
| - | Falls Container vor dem Upgrade gestoppt wurden: | + | Offene Ports prüfen: |
| + | |||
| + | <code bash> ss -tulpen | ||
| + | </ | ||
| + | |||
| + | ===== 20. Dienste prüfen ===== | ||
| - | <code bash> | + | Alle fehlgeschlagenen Dienste anzeigen: |
| - | cd / | + | |
| - | docker compose up -d\\ | + | |
| + | <code bash> systemctl --failed | ||
| + | </ | ||
| + | |||
| + | Wichtige Dienste einzeln prüfen: | ||
| + | |||
| + | <code bash> systemctl status ssh --no-pager systemctl status apache2 --no-pager systemctl status docker --no-pager systemctl status ufw --no-pager | ||
| </ | </ | ||
| Logs prüfen: | Logs prüfen: | ||
| - | <code bash>\\ | + | <code bash> |
| - | docker | + | </ |
| + | |||
| + | ===== 21. Alte Kernel und Pakete prüfen ===== | ||
| + | |||
| + | Installierte Kernel anzeigen: | ||
| + | <code bash> dpkg -l | grep linux-image | ||
| </ | </ | ||
| - | ===== 18. Nextcloud nach dem Upgrade prüfen ===== | + | Nicht mehr benötigte Pakete entfernen: |
| - | Docker-Container prüfen: | + | <code bash> sudo apt autoremove |
| + | </ | ||
| - | <code bash> | + | System bereinigen: |
| - | docker ps\\ | + | |
| + | <code bash> sudo apt clean | ||
| </ | </ | ||
| - | Nextcloud-Logs prüfen, Beispiel: | + | ===== 22. Abschlussprüfung ===== |
| - | <code bash> | + | Folgende Punkte müssen erfolgreich sein: |
| - | docker logs --tail=100 NEXTCLOUD_CONTAINER_NAME\\ | + | |
| + | * Server startet ohne Fehler | ||
| + | * SSH funktioniert | ||
| + | * UFW Regeln passen | ||
| + | * Apache Konfiguration ist gültig | ||
| + | * HTTPS Zertifikate funktionieren | ||
| + | * Docker läuft | ||
| + | * Nextcloud ist erreichbar | ||
| + | * keine fehlgeschlagenen systemd Dienste | ||
| + | * keine alten jammy Paketquellen aktiv | ||
| + | * apt update läuft fehlerfrei | ||
| + | * journalctl zeigt keine kritischen neuen Fehler | ||
| + | |||
| + | Befehle: | ||
| + | |||
| + | <code bash> lsb_release -a uname -r sudo apt update systemctl --failed journalctl -p 3 -xb sudo apache2ctl configtest sudo certbot renew --dry-run docker ps sudo ufw status verbose | ||
| </ | </ | ||
| - | Falls Nextcloud OCC benötigt wird, Beispiel: | + | ===== 23. Temporäre Freigaben entfernen ===== |
| - | <code bash> | + | Falls Port 1022 nur für das Upgrade geöffnet wurde: |
| - | docker exec -u www-data -it NEXTCLOUD_CONTAINER_NAME php occ status\\ | + | |
| + | <code bash> sudo ufw delete allow 1022/tcp sudo ufw status numbered | ||
| </ | </ | ||
| - | Weitere sinnvolle Prüfungen: | + | ===== 24. Rollback ===== |
| - | <code bash> | + | Falls das Upgrade fehlschlägt: |
| - | docker exec -u www-data -it NEXTCLOUD_CONTAINER_NAME php occ maintenance:mode\\ | + | |
| - | docker exec -u www-data -it NEXTCLOUD_CONTAINER_NAME php occ integrity: | + | |
| + | * nicht weiter blind reparieren | ||
| + | * Fehlermeldungen sichern | ||
| + | * Logs sichern | ||
| + | * Backup prüfen | ||
| + | * bei VM Snapshot zurückspielen | ||
| + | * bei Bare Metal Restore aus Backup planen | ||
| + | |||
| + | Wichtige Logs: | ||
| + | |||
| + | <code text> / | ||
| </ | </ | ||
| - | **Hinweis:** Containername und Benutzer können je nach Image abweichen. | + | Anzeigen: |
| - | ===== 19. Netzwerk prüfen ===== | + | <code bash> ls -la / |
| + | </ | ||
| - | IP-Adressen prüfen: | + | ===== 25. Kurzfassung ===== |
| - | <code bash>\\ | + | <code bash> |
| - | ip addr\\ | + | |
| - | ip route\\ | + | |
| + | sudo apt install update-manager-core \\ cat / | ||
| + | |||
| + | sudo do-release-upgrade | ||
| + | |||
| + | sudo reboot | ||
| + | |||
| + | lsb_release -a \\ sudo apt update \\ systemctl --failed \\ journalctl -p 3 -xb \\ sudo apache2ctl configtest \\ sudo certbot renew --dry-run \\ docker ps \\ sudo ufw status verbose \\ | ||
| </ | </ | ||
| - | DNS prüfen: | + | ===== Ergebnis ===== |
| + | |||
| + | Nach erfolgreichem Abschluss läuft der Server auf: | ||
| + | |||
| + | <code text> Ubuntu 24.04 LTS Noble Numbat | ||
| + | </ | ||
| - | <code bash> | + | Alle produktiven Dienste wurden geprüft. |
| - | resolvectl status | + | |
ubuntu/ubuntu_24.04_1.1778312985.txt.gz · Zuletzt geändert: von franz