LIVCK Cloud

Agent-Updates

Der Agent hält sich standardmäßig selbst aktuell. Du legst fest, wann das passieren darf -- oder schaltest es ganz ab und aktualisierst manuell.

Wo du es einstellst

Server → Server öffnen → Bearbeiten → Reiter Updates

Dort siehst du:

  • Installierte Version und, falls vorhanden, Update verfügbar: v…
  • Letzter Update-Lauf mit Ergebnis: Erfolgreich, Fehlgeschlagen, Zurückgerollt, Übersprungen oder Unbekannt
  • Automatische Updates -- Schalter, standardmäßig an
  • Fenster von / Fenster bis -- standardmäßig 00:00 bis 04:00

Das Fenster gilt in der Zeitzone des Servers

Nicht in deiner. Ein Fenster über Mitternacht ist erlaubt -- z.B. 22:00 bis 02:00. Sind Anfang und Ende gleich, gilt das Fenster als immer offen.

Wie ein automatisches Update abläuft

Auf dem Server läuft ein Timer, der stündlich nachsieht -- mit einem festen, pro Server zufälligen Versatz, damit nicht alle deine Maschinen gleichzeitig loslaufen. Aktualisiert wird nur, wenn alle folgenden Punkte zutreffen:

  1. Automatische Updates sind für diesen Server eingeschaltet
  2. LIVCK hat eine Version für diesen Server freigegeben
  3. Die lokale Uhrzeit liegt im eingestellten Wartungsfenster

Trifft eines davon nicht zu, passiert schlicht nichts und der Timer versucht es zur nächsten Stunde wieder.

Läuft ein Update, sieht das so aus:

  1. Die passende Datei wird über HTTPS heruntergeladen
  2. Die SHA-256-Prüfsumme wird zwingend geprüft -- fehlt sie oder passt sie nicht, bricht das Update ab
  3. Die neue Datei wird zunächst als unprivilegierter Benutzer getestet, nicht als root
  4. Der Austausch erfolgt atomar -- es gibt keinen Moment, in dem keine Programmdatei da ist. Die alte Version bleibt liegen
  5. Der Dienst wird neu gestartet und 20 Sekunden lang beobachtet
  6. Startet er nicht sauber durch oder gerät in eine Neustartschleife, fällt der Agent automatisch auf die alte Version zurück

Während des Vorgangs steht der Server in der Konsole auf Update läuft -- LIVCK schlägt in dieser Zeit keinen Alarm. Bleibt er länger als 15 Minuten in diesem Zustand, gilt das als Fehlschlag.

Downgrades sind ausgeschlossen

Ein automatisches Update kann die Version niemals zurückdrehen. Nur du selbst kannst auf der Kommandozeile mit --force bewusst eine ältere Version installieren.

Manuell aktualisieren

Auf dem Server, als root:

sudo livck-agent upgrade

Weitere Möglichkeiten:

BefehlWirkung
livck-agent upgrade --checkZeigt nur an, ob ein Update vorliegt -- ändert nichts
livck-agent upgrade --version v0.2.1Installiert eine bestimmte Version
livck-agent upgrade --forceErlaubt Neuinstallation und Downgrade

livck-agent upgrade --check gibt den Exit-Code 5 zurück, wenn ein Update verfügbar ist -- praktisch für eigene Skripte und Konfigurationsmanagement.

Updates abschalten

Es gibt zwei Ebenen, und beide funktionieren unabhängig voneinander:

EbeneVorgehenWirkung
In LIVCKSchalter Automatische Updates im Reiter Updates ausschaltenDer Agent prüft weiter, installiert aber nichts
Auf dem Serversudo systemctl disable --now livck-agent-update.timerDer Update-Vorgang wird gar nicht erst gestartet

Die zweite Variante ist die härtere: Sie liegt vollständig in deiner Hand und lässt sich von LIVCK aus nicht rückgängig machen.

Sonderfälle

Über den Paketmanager installiert. Wurde der Agent als .deb oder .rpm installiert, laufen Updates über dpkg bzw. rpm -- gesteuert bleiben sie trotzdem vom Agenten. Der Reiter Updates weist darauf hin. Kollidiert das Update mit einem gerade laufenden unattended-upgrades, wartet der Agent und versucht es später erneut.

Systeme mit schreibgeschütztem /usr. Auf image-basierten Distributionen (z.B. rpm-ostree, MicroOS) kann der Agent seine Programmdatei nicht ersetzen. Er meldet das einmalig als Übersprungen statt stündlich zu scheitern -- Updates laufen dann über dein Image.

Gestaffelte Freigabe. LIVCK gibt neue Versionen schrittweise frei, nicht auf einen Schlag für alle. Es kann also sein, dass ein Server schon aktualisiert ist und ein anderer noch wartet. Manuell kannst du jederzeit vorziehen.

Fehlgeschlagene Updates

Steht im Reiter Updates ein Fehlgeschlagen oder Zurückgerollt, läuft dein Server weiter -- mit der bisherigen Version. Der Agent hört nicht auf zu messen.

Für die Ursachensuche hilft auf dem Server:

sudo livck-agent status
sudo livck-agent doctor
sudo journalctl -u livck-agent-update.service -n 50

Fehlermeldungen sind bereinigt

Bevor eine Fehlermeldung an LIVCK gemeldet wird, entfernt der Agent alles, was nach URL oder Zugangstoken aussieht. Zugangsdaten landen nicht in Protokollen.

Weiterführende Themen