mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 10:52:22 +00:00
204 lines
16 KiB
JSON
204 lines
16 KiB
JSON
{
|
|
"meta": {
|
|
"title": "LXC-Aktualisierungen: Betriebssystem, Apps und Docker | ProxMenux",
|
|
"description": "Konfigurieren und Ausführen von Betriebssystem-, Anwendungs-, Docker Engine- und Docker-Image-Updates aus einem LXC-Container."
|
|
},
|
|
"header": {
|
|
"title": "LXC-Aktualisierungen: Betriebssystem, Apps und Docker",
|
|
"description": "Überprüfen Sie jedes Update-Ziel an einem Ort, führen Sie es unabhängig aus oder kombinieren Sie ausgewählte Ziele in einer kontrollierten Massenaktion."
|
|
},
|
|
"intro": {
|
|
"p1": "Der Reiter <strong>Aktualisierungen</strong> trennt Versionserkennung und Installation. Registrierung und optionale Versionsverfolgung erfolgen im <link>App-Reiter</link>; ausführbare Aktualisierungsmethoden werden hier verwaltet.",
|
|
"p2": "Eine gespeicherte Anwendung wird in Updates angezeigt, auch wenn sie nur einen Weblink enthält. Die Versionsverfolgung ist optional und ein Updater kann unabhängig konfiguriert werden.",
|
|
"callout": "Die Registrierung wählt keinen Updater aus. Wird ein passender Helper-Scripts-Updater erkannt, wählen und speichern Sie <strong>Helper-Scripts</strong> oder <strong>Eigener Befehl</strong>. Die Erkennung garantiert keine Kompatibilität. Die Wahl gilt pro App, auch wenn mehrere denselben LXC nutzen."
|
|
},
|
|
"overview": {
|
|
"heading": "Was der Tab enthält",
|
|
"lead": "Jedes verfügbare Ziel hat seinen eigenen Abschnitt und seine eigene Aktion:",
|
|
"items": [
|
|
"<strong>Betriebssystempakete</strong> für Debian-, Ubuntu- und Alpine-Container.",
|
|
"Ein Abschnitt je <strong>registrierter Anwendung</strong>, auch für Datensätze mit nur einem Link.",
|
|
"Ein <strong>Docker</strong>-Abschnitt, wenn Docker registriert ist, wobei Docker Engine und getaggte Images gruppiert sind.",
|
|
"Ein konfigurierbarer Abschnitt <strong>Sammelaktualisierung</strong> mit anschließenden Sicherungs-, Neustart- und Zeitplanoptionen."
|
|
]
|
|
},
|
|
"mechanisms": {
|
|
"heading": "Wie eine Aktualisierungsmethode ausgewählt wird",
|
|
"lead": "Der integrierte Weg für Proxmox VE Helper-Scripts verwendet den offiziellen <helper>update-apps-Mechanismus</helper>. Andere Installationen verwenden die passende Paket-, Docker- oder eigene Methode.",
|
|
"officialReference": "Offizielle Referenz: Die <helper>Proxmox VE Helper-Scripts-Update-Apps-Dokumentation</helper> umfasst interaktive und unbeaufsichtigte Modi, Backups, Trockenläufe, temporäre Build-Ressourcen, Protokolle und Exit-Codes.",
|
|
"colSource": "Quelle",
|
|
"colAction": "Gezeigte Aktion",
|
|
"colNotes": "Was läuft",
|
|
"rows": [
|
|
{
|
|
"source": "APT- oder APK-Pakete",
|
|
"action": "OS Updates anwenden",
|
|
"notes": "Aktualisiert die Containerpakete. Als dpkg- oder apk-Pakete installierte registrierte Apps werden im selben Lauf berücksichtigt."
|
|
},
|
|
{
|
|
"source": "Proxmox VE Helper-Scripts",
|
|
"action": "Update anwenden",
|
|
"notes": "Nachdem Helper-Scripts explizit ausgewählt wurde, wird das offizielle Anwendungsskript ausgeführt, das durch den validierten /usr/bin/update-Wrapper identifiziert wurde. Eine Marker- oder Katalogübereinstimmung allein ermöglicht niemals die Ausführung."
|
|
},
|
|
{
|
|
"source": "Eigener Befehl",
|
|
"action": "Führen Sie den Updater aus",
|
|
"notes": "Führt den gespeicherten Befehl im LXC aus und ersetzt jeden integrierten App-Updater für diesen Datensatz."
|
|
},
|
|
{
|
|
"source": "Docker Engine",
|
|
"action": "Docker Engine aktualisieren",
|
|
"notes": "Aktualisiert nur installierte Docker-Pakete und deren erforderliche Abhängigkeiten. Andere Betriebssystempakete und Container bleiben unverändert."
|
|
},
|
|
{
|
|
"source": "Docker-Image",
|
|
"action": "Image aktualisieren",
|
|
"notes": "Zieht das ausgewählte Image und erstellt die Compose-Servicegruppe oder den geschützten eigenständigen Container neu."
|
|
}
|
|
],
|
|
"callout": "Ein eigener Befehl <strong>ersetzt</strong> Helper-Scripts für diese Anwendung. Manuelle, Sammel- und geplante Läufe beachten die gespeicherte Wahl. Vorhandene eigene Befehle und ausdrücklich gespeicherte ältere Sammel- bzw. aktivierte Zeitplanauswahlen bleiben erhalten. Neu registrierte Apps werden nie durch einen alten Zeitplan aufgenommen."
|
|
},
|
|
"docker": {
|
|
"heading": "Docker Engine und Docker Images",
|
|
"lead": "Nach der Docker-Registrierung im App-Reiter erscheinen Docker Engine und Image-Inventar im selben Abschnitt <strong>Docker</strong>.",
|
|
"items": [
|
|
"Die Docker Engine-Versionsverfolgung ist vom OS-Paketzähler getrennt und verfügt über einen eigenen Update-Button.",
|
|
"Lokale Images mit Tags werden anhand unveränderlicher Digests mit ihrer Registry verglichen. <strong>Jetzt prüfen</strong> aktualisiert das Inventar, ohne Images herunterzuladen oder Container neu zu starten.",
|
|
"Compose-Dienste werden von ihrem deklarierten Projekt aktualisiert. Images, die zur gleichen Servicegruppe gehören, werden zusammen bearbeitet, damit das Projekt nicht wiederholt neu erstellt wird.",
|
|
"Ein eigenständiger Container wird anhand seiner aktuellen Konfiguration neu erstellt. Der geschützte Ablauf bewahrt Rücksetzungsdaten auf und stellt bei einem Fehler den vorherigen Container wieder her.",
|
|
"Jedes Image kann separat in manuellen, massenhaften und geplanten Updates ausgewählt werden, mit Ausnahme deklarierter Compose-Abhängigkeiten, die dem übergeordneten Service folgen müssen."
|
|
],
|
|
"callout": "Container, die innerhalb von Docker laufen, werden nicht als unabhängige LXC-Anwendungen angezeigt. Ihre veröffentlichten Webports können als Links unter der Docker-Registrierung gespeichert werden, während Bildaktualisierungen im Docker-Bereich verbleiben."
|
|
},
|
|
"actions": {
|
|
"heading": "Individuelle Aktionen und Statusfarben",
|
|
"lead": "Jeder Abschnitt bleibt unabhängig voneinander umsetzbar, unabhängig davon, ob ein Bulk-Update konfiguriert ist oder nicht.",
|
|
"items": [
|
|
"<strong>Configure</strong> öffnet den Updater-Selektor, wenn keine Methode ausgewählt ist; <strong>Edit</strong> ändert eine gespeicherte Auswahl. Die Informationsschaltflächen erklären jede Option, verlinken auf die offizielle Dokumentation und zeigen ein benutzerdefiniertes Skriptbeispiel an. Die Auswahl einer Option führt sie nicht aus.",
|
|
"Wenn die Versionsverfolgung deaktiviert ist, aber ein Updater vorhanden ist, wird die neutrale Aktion <strong>Run updater</strong> angezeigt. ProxMenux behauptet nicht, dass ein Update anhängig ist.",
|
|
"Konfigurieren Sie ohne einen verfügbaren Helper-Scripts-Updater einen benutzerdefinierten Befehl. Das Deaktivieren einer Methode wählt nicht stillschweigend eine andere aus; bestehende Plan-/Zeitplanauswahlen bleiben gespeichert und nicht verfügbare Ziele werden gemeldet.",
|
|
"Die Aktion <strong>Update image</strong> gilt nur für die ausgewählte Docker-Einheit; sie aktualisiert weder Docker Engine noch nicht verwandte Images."
|
|
],
|
|
"statusColState": "Bekannter Zustand",
|
|
"statusColAppearance": "Aussehen",
|
|
"statusColMeaning": "Bedeutung",
|
|
"statusRows": [
|
|
{
|
|
"state": "Verifiziertes Update verfügbar",
|
|
"appearance": "Lila Text, nach oben gerichtetes Symbol und lila Aktion",
|
|
"meaning": "Installierte und verfügbare Versionen bzw. Image-Digests unterscheiden sich."
|
|
},
|
|
{
|
|
"state": "Nachweislich aktuell",
|
|
"appearance": "Grünes Häkchen und grüne Aktion Aktualisiert",
|
|
"meaning": "Die letzte abgeschlossene Überprüfung bestätigt, dass das Ziel aktuell ist."
|
|
},
|
|
{
|
|
"state": "Version unbekannt",
|
|
"appearance": "Neutraler Text und neutrale Handlung",
|
|
"meaning": "Ein Updater kann ausgeführt werden, aber es gibt keinen Versionsnachweis, um ihn als anhängig oder aktuell zu kennzeichnen."
|
|
}
|
|
]
|
|
},
|
|
"custom": {
|
|
"heading": "Benutzerdefinierte Aktualisierungsbefehle",
|
|
"lead": "Verwenden Sie einen benutzerdefinierten Befehl, wenn die Installation keinen verifizierten integrierten Updater hat oder wenn die normale Prozedur ersetzt werden muss.",
|
|
"items": [
|
|
"Öffnen Sie <strong>Configure</strong>, wenn das Feld leer ist, oder <strong>Edit</strong>, wenn bereits eine Methode vorhanden ist.",
|
|
"Bei einer integrierten App oder Docker Engine zeigt der Editor den aktuell verwendeten Befehl an. Das Speichern verschiedener Inhalte macht es zum expliziten Override für diesen Datensatz.",
|
|
"Testen Sie zuerst die komplette Prozedur im LXC Terminal. Es muss nicht interaktiv sein, das korrekte Arbeitsverzeichnis verwenden und beim Ausfall einen Nicht-Null-Ausgangsstatus zurückgeben.",
|
|
"<code>pct exec</code> nicht einschließen; ProxMenux betritt bereits den Container und führt den Befehl als root aus."
|
|
],
|
|
"exampleLead": "Beispiel eines vollständigen Containerverfahrens:",
|
|
"example": "cd /opt/my-app && ./update.sh",
|
|
"callout": "Ein Versionsbefehl wie <code>myapp --version</code> liest nur eine Version; es ist kein Updater. Befehle laufen mit administrativen Privilegien, so dass gespeicherte Inhalte mit der gleichen Sorgfalt wie ein Root-Shell-Befehl überprüft werden müssen."
|
|
},
|
|
"bulk": {
|
|
"heading": "Sammelaktualisierung",
|
|
"lead": "Die Sammelaktualisierung erstellt eine wiederverwendbare Aktion für eine genau festgelegte Zielauswahl im LXC. Sie steht nach den App- und Docker-Abschnitten und vor <strong>Optionen</strong>.",
|
|
"items": [
|
|
"Betriebssystempakete sind Pflicht. Zusätzlich muss mindestens eine App, Docker Engine oder eine Docker-Image-Einheit ausgewählt werden.",
|
|
"Apps und Docker-Einheiten werden einzeln ausgewählt. Der übergeordnete Compose-Dienst zeigt die mit ihm zu aktualisierenden Abhängigkeiten.",
|
|
"Nicht verfügbare oder entfernte Ziele werden als veraltet markiert und müssen entfernt werden, bevor die Konfiguration gespeichert werden kann.",
|
|
"<strong>Aktualisierungen anwenden</strong> ist lila, wenn ein gewähltes Ziel ein nachgewiesenes Update hat, grün, wenn alle nachweislich aktuell sind, und neutral bei unbekanntem Ergebnis.",
|
|
"Durch das Entfernen der Bulk-Konfiguration werden keine einzelnen Aktualisierungsmethoden oder Einstellungen für geplante Aktualisierungen entfernt."
|
|
],
|
|
"callout": "Bulk Update ersetzt nicht die einzelnen Buttons. Es ist eine optionale Abkürzung für eine Auswahl, die zusammen laufen sollte."
|
|
},
|
|
"options": {
|
|
"heading": "Backup- und Neustartoptionen",
|
|
"lead": "Die gleichen Optionen gelten für manuelle, Massen- und geplante Durchläufe:",
|
|
"items": [
|
|
"<strong>Sicherung vor dem Anwenden</strong> erstellt ein vzdump-Backup auf dem gewählten Speicher. Schlägt die erforderliche Sicherung fehl, startet die Aktualisierung nicht.",
|
|
"<strong>Neustart nach dem Anwenden</strong> startet den LXC nur nach einem erfolgreichen Lauf neu.",
|
|
"Die Auswahlen werden pro LXC gespeichert und bleiben unabhängig von der Zielliste."
|
|
]
|
|
},
|
|
"scheduled": {
|
|
"heading": "Geplante Updates",
|
|
"lead": "Geplante Updates verwenden die gleichen ausführbaren Ziele und Sicherheitsoptionen wie manuelle Aktionen.",
|
|
"items": [
|
|
"Wählen Sie einen voreingestellten oder cron-Ausdruck und wählen Sie dann genaue Ziele aus: Betriebssystempakete, einzelne Apps, Docker Engine, eigenständige Docker-Einheiten oder Compose-Dienstgruppen.",
|
|
"Ein Release Hold gilt nur für ausgewählte Anwendungen mit Versionstracking. Apps ohne Tracking führen ihren Updater immer dann aus, wenn ihr Zeitplan fällig ist.",
|
|
"Der Zustand des letzten Laufs unterscheidet Erfolg, Teilerfolg, Fehler, Sicherheitsaufschub und keine ausstehenden Updates. Nach dem ersten geplanten Lauf öffnet <strong>Aktualisierungen → Geplante Aktualisierungen → Protokoll anzeigen</strong> die vollständige Ausgabe des Updaters und seiner aufgerufenen Unterskripte.",
|
|
"Nach jedem Durchlauf überprüft ProxMenux den standardmäßigen Debian-Reboot-erforderlichen Marker. Wenn ein Neustart erforderlich ist, wird dies auf der Registerkarte Updates und der Abschlussbenachrichtigung angezeigt; die Warnung wird gelöscht, wenn der LXC gestartet oder neu gestartet wird.",
|
|
"Protokolle geplanter Läufe liegen auf dem Proxmox-Host in <code>/usr/local/share/proxmenux/logs/lxc-updates/</code> mit dem Namen <code><VMID>-scheduled-<run-id>.log</code>. Pro LXC bleiben die letzten zehn Protokolle erhalten; ältere Dateien werden automatisch gelöscht.",
|
|
"Diese beibehaltene Historie gilt für geplante Updates. Ein manuelles Update zeigt seine Ausgabe live im Monitor-Ausführungsfenster an und erstellt kein geplantes Protokoll in diesem Verzeichnis.",
|
|
"Externe Host-Zeitpläne, die von Proxmox VE Helper-Scripts erkannt wurden, werden separat angezeigt, so dass eine überlappende Automatisierung sichtbar ist."
|
|
],
|
|
"callout": "Führen Sie jede ausgewählte Methode manuell aus, bevor Sie einen Zeitplan aktivieren. Geplante Befehle können keine Eingabeaufforderungen beantworten."
|
|
},
|
|
"completion": {
|
|
"heading": "Was passiert nach einem Update",
|
|
"lead": "Das Update gilt nicht als abgeschlossen, wenn der Terminalbefehl lediglich beendet wird.",
|
|
"items": [
|
|
"Derselbe Lauf zeichnet sein Endergebnis auf und aktualisiert den OS-Paketzustand, die registrierten App-Versionen und das Docker-Inventar.",
|
|
"Geplante Durchläufe behalten ihre Terminalausgabe bei und melden, ob ein Neustart noch erforderlich ist, um die Anwendung von Paketänderungen abzuschließen.",
|
|
"Der LXC-Cache wird durch den verifizierten Post-Update-Zustand ersetzt, so dass Badges und Buttons das vorherige Ergebnis nicht beibehalten.",
|
|
"Wenn ein angehaltener oder wiederhergestellter LXC startet, aktualisiert das vorhandene Lebenszyklusereignis diesen LXC erneut. Docker-Inventar wartet, bis der Daemon fertig ist, anstatt ein leeres Startergebnis als endgültig zwischenzuspeichern.",
|
|
"Aktivierte Benachrichtigungen werden vom finalisierten Durchlauf ausgegeben, einschließlich Teilfehlern und gruppierten Docker-Bildergebnissen."
|
|
]
|
|
},
|
|
"troubleshooting": {
|
|
"heading": "Häufige Situationen",
|
|
"colProblem": "Situation",
|
|
"colResolution": "Lösung",
|
|
"rows": [
|
|
{
|
|
"problem": "Es wurde keine Aktualisierungsmethode identifiziert",
|
|
"resolution": "Öffnen Sie die Konfiguration, fügen Sie die offizielle nicht-interaktive Prozedur hinzu und testen Sie sie manuell, bevor Sie sie planen."
|
|
},
|
|
{
|
|
"problem": "Eine Proxmox VE Helper-Scripts-Identität wird angezeigt, aber es gibt keine Aktion",
|
|
"resolution": "Der LXC hat Legacy-Identifikationsdaten, aber keinen verifizierten /usr/bin/update-Wrapper. Fügen Sie eine benutzerdefinierte Methode erst hinzu, nachdem Sie das korrekte Verfahren bestätigt haben."
|
|
},
|
|
{
|
|
"problem": "Docker-Bilder sind nach dem Start oder der Wiederherstellung vorübergehend leer",
|
|
"resolution": "Warten Sie, bis Docker fertig ist, oder drücken Sie jetzt Überprüfen. Das Inventar wiederholt den Start und behandelt ein vorübergehendes leeres Ergebnis nicht als endgültig."
|
|
},
|
|
{
|
|
"problem": "Ein gespeichertes Bulk-Ziel ist nicht mehr verfügbar",
|
|
"resolution": "Bearbeiten Sie die Bulk-Konfiguration, entfernen Sie das veraltete Ziel und wählen Sie den aktuellen Ersatz aus, wenn eines vorhanden ist."
|
|
},
|
|
{
|
|
"problem": "Ein benutzerdefinierter Befehl scheitert",
|
|
"resolution": "Führen Sie es im LXC-Terminal aus und überprüfen Sie dessen Pfad, Abhängigkeiten, nicht-interaktive Flags und Exit-Code."
|
|
},
|
|
{
|
|
"problem": "Ein geplantes Update sagt, dass ein Neustart erforderlich ist",
|
|
"resolution": "Öffnen Sie Protokoll anzeigen, prüfen Sie den abgeschlossenen Lauf und starten Sie den LXC neu. ProxMenux löscht die Warnung, sobald das Lebenszyklusereignis den erneuten Start meldet."
|
|
}
|
|
]
|
|
},
|
|
"figures": {
|
|
"osPending": {
|
|
"alt": "Abschnitt Betriebssystempakete mit ausstehenden und Sicherheitsupdates",
|
|
"caption": "Der Betriebssystembereich hält Paketaktualisierungen unabhängig von Anwendungs- und Docker-Aktionen."
|
|
},
|
|
"options": {
|
|
"alt": "LXC Update-Optionen mit Pre-Update-Backup und Post-Update-Neustart",
|
|
"caption": "Backup- und Neustarteinstellungen gelten für manuelle, Massen- und geplante Ausführung."
|
|
}
|
|
}
|
|
}
|