Updates
So hältst du aictl und die Plattform aktuell: von Hand, mit einer Vorschau oder automatisch in einem Rhythmus deiner Wahl.
7 Min. Lesezeit Kapitel 14
Ein Update einspielen#
sudo aictl update
Ein Update läuft in diesen Schritten ab:
- Neue Version suchen.
aictlfragt den Lizenzserver, ob es eine neuere Version gibt. Die Antwort ist digital signiert. - Sich selbst aktualisieren. Gibt es eine neuere Version, lädt
aictlsie herunter, prüft Signatur und Prüfsumme, ersetzt sich selbst und arbeitet mit der neuen Version weiter. - Die Plattform abgleichen. Die Konfiguration wird aus deinen Einstellungen neu erzeugt, und die Plattform wird auf diesen Stand gebracht. Eine neue Version von
aictlbringt dabei oft auch neuere Versionen der Bausteine mit. Deine Daten bleiben erhalten. - Den Hintergrunddienst neu starten, falls sich
aictlin Schritt 2 aktualisiert hat, damit auch er mit der neuen Version läuft. - Auf den Start warten und prüfen. Am Ende siehst du eine Zusammenfassung.
Während eines Updates werden Dienste neu erstellt, die Plattform kann also kurz nicht erreichbar sein. Plane Updates deshalb am besten ausserhalb der Arbeitszeit.
Wichtig: Erweiterungen bleiben beim normalen Update auf ihrer Version. So bleibt eine Installation nachvollziehbar. Erweiterungen aktualisierst du gezielt mit
sudo aictl extension update, siehe Erweiterungen verwalten.
Wenn es nichts zu tun gibt#
Gibt es keine neuere Version und hat sich seit dem letzten erfolgreichen Update nichts an deinen Einstellungen geändert, hört update nach dem Erzeugen der Konfiguration auf:
[ ok ] <version> is current and the configuration is unchanged — nothing to do
Dann wird nichts neu gestartet. Nur der Hintergrunddienst wird eingerichtet oder gestartet, falls er fehlt oder angehalten ist. Als «unverändert» gilt die Plattform, wenn
- die Version von
aictlund die Einstellungsdatei dieselben sind wie beim letzten erfolgreichen Update, - keine gespeicherten, aber noch nicht angewendeten Zugangsdaten warten,
- die Plattform nicht mit
stopangehalten ist.
In diesen Fällen genügt update nicht, und du verwendest besser apply:
- nach
aictl secret rmoderaictl proxy set-cert, denn diese Änderungen zählen fürupdatenicht als Änderung, - wenn du die Plattform einfach erneut abgleichen willst.
Willst du trotzdem den vollständigen Abgleich, verwende sudo aictl update --force.
Auch eine Installation und eine Wiederherstellung zählen als letzter erfolgreicher Abgleich, sofern alle Erweiterungen eingerichtet wurden.
Vorschau#
sudo aictl update --dry-run
Die Vorschau verändert nichts. Sie zeigt:
- ob sich
aictlselbst aktualisieren würde, und auf welche Version, - ob sich die Zusammenstellung der Plattform ändern würde: neue oder entfernte Bausteine, neue Versionen von Bausteinen, oder nur geänderte Einstellungen.
Sie zeigt nicht, was sich an Gateway, KI-Zentrale oder Erweiterungen ändern würde, und auch nicht, ob das Update «nichts zu tun» melden würde. Würde sich aictl selbst aktualisieren, kann die neue Version weitere Änderungen mitbringen, die die Vorschau der alten Version noch nicht kennt.
Optionen#
| Option | Wirkung |
|---|---|
--dry-run |
Nur anzeigen, was sich ändern würde. |
--pull |
Die Bestandteile der Plattform vor dem Abgleich erneut herunterladen, mit Wiederholungen bei Netzproblemen. |
--force |
Den vollständigen Abgleich auch dann ausführen, wenn es nichts zu tun gibt. |
--spec <datei> |
Eine neue Einstellungsdatei übernehmen, siehe unten. |
--health-wait <dauer> |
Wie lange auf den Start gewartet wird, Standard 10 Minuten. Ein Update kann Daten umstellen, plane grosszügig. |
Eine neue Einstellungsdatei übernehmen#
Achtung:
--specersetzt die gesamte Einstellungsdatei. Alles, was in deiner Datei fehlt, fällt auf die Standardwerte zurück, etwa die Administrator-Adresse und der Name des Hauptservers. Fehlen die Domain oder installierte Erweiterungen, bricht das Update ab und nennt, was verloren ginge.
Nimm deshalb immer die bestehende Datei als Vorlage:
sudo cp /etc/aictl/spec.yaml ~/spec.yaml
nano ~/spec.yaml
sudo aictl update --spec ~/spec.yaml --dry-run
sudo aictl update --spec ~/spec.yaml
Welche Einstellungen es gibt, beschreibt die Entwicklerdokumentation im Kundenportal.
Automatische Updates#
Möchtest du dich nicht selbst um Updates kümmern, übernimmt das der Hintergrunddienst:
sudo aictl update enable # einmal pro Woche (Standard)
sudo aictl update enable --interval 3d # alle drei Tage
sudo aictl update disable # ausschalten
sudo aictl update status # aktueller Stand
Das Intervall schreibst du als Dauer mit h (Stunden), d (Tage) oder w (Wochen), zum Beispiel 24h, 3d oder 2w. Das kürzeste Intervall ist eine Stunde.
So funktioniert es:
- Der Hintergrunddienst schaut alle 15 Minuten nach, ob eine Prüfung fällig ist. Nach dem ersten Einschalten erfolgt die erste Prüfung deshalb innerhalb von etwa 15 Minuten.
- Ist eine Prüfung fällig, startet er ein gewöhnliches
aictl updateals eigenen Systemauftrag. Dieser übersteht den Neustart des Hintergrunddienstes am Ende des Updates. - Gibt es keine neue Version, endet dieses Update normalerweise mit «nichts zu tun».
- Der Zeitpunkt der Prüfung wird vorher gespeichert. Schlägt ein Update fehl, versucht es der Dienst erst im nächsten Intervall wieder.
- Ein automatisches Update hat niemanden, der Fragen beantwortet. Es verwendet überall die Standardantworten. Ist Cloudflare als DNS-Anbieter eingerichtet, legt es fehlende DNS-Einträge zum Beispiel ohne Rückfrage an.
update status zeigt, ob automatische Updates eingeschaltet sind, das Intervall, ob der Hintergrunddienst läuft, wann zuletzt geprüft wurde und wann die nächste Prüfung fällig ist.
Wichtig: Automatische Updates funktionieren nur, solange der Hintergrunddienst läuft. Ist er angehalten, meldet
update enabledas, und es finden keine Prüfungen statt.
Das Ergebnis eines automatischen Updates wird nicht an den Hintergrunddienst zurückgemeldet. Du findest es im Systemprotokoll:
sudo journalctl -u 'aictl-autoupdate-*'
Prüfe nach einem automatischen Update mit sudo aictl status, ob alles läuft.
Die Modell-Engine#
Ein Update hebt auch die Modell-Engine auf dem Hauptserver auf die Version an, die mit aictl kommt, sofern die installierte älter ist. Die lokalen Modelle antworten dabei einige Sekunden lang nicht. Eine neuere Version, die du selbst eingespielt hast, bleibt unverändert. Wie du das Anheben abschaltest, beschreibt die Entwicklerdokumentation im Kapitel «Stack anpassen». Auf weiteren Rechnern hebt ein erneuter join die Modell-Engine an, siehe Modelle und Rechner.
Wechsel auf eine neue Datenbank-Version#
Bringt ein Update eine neue Hauptversion der Datenbank mit, zieht aictl die Daten beim nächsten update, apply oder restore einmalig um:
- Die Plattform wird angehalten.
- Jede Datenbank wird in die neue Version kopiert.
- Datenbanken, Tabellen und die Zahl der Zeilen werden mit dem Original verglichen.
- Die Plattform startet mit der neuen Version.
Der Unterbruch dauert je nach Datenmenge einige Sekunden bis Minuten. Vorher prüft aictl, ob genug Platz für eine zweite Kopie frei ist.
Die alten Daten bleiben als Rückfallebene unverändert liegen. sudo aictl status zeigt das mit einer Warnung und nennt den Befehl, der sie löscht, sobald alles läuft.
Schlägt der Umzug fehl, bleibt die Plattform angehalten, und die alten Daten sind unberührt. sudo aictl apply versucht es erneut. Willst du vorerst bei der alten Version bleiben, trägst du sie wie in der Meldung genannt in die Einstellungen ein und führst sudo aictl apply aus.
Kein automatisches Zurück#
Ein Update ersetzt aictl vollständig. Eine Kopie der alten Version wird nicht aufbewahrt. Schlägt der Abgleich nach dem Update fehl, bleibt die neue Version installiert. Behebe dann die Ursache und führe sudo aictl apply aus. Ein fehlgeschlagenes Update auf eine neue Version wird dem Lizenzserver gemeldet, damit unser Support es sieht.
Erstelle vor grösseren Updates ein Backup.
Wenn die neue Version nicht geladen werden kann#
- Der Lizenzserver ist nicht erreichbar oder die neue Version lässt sich nicht laden: Das Update meldet
self-update check failedoderself-update to … failedund arbeitet mit der installierten Version weiter. Der Abgleich der Plattform läuft trotzdem. - Hält der Fehler an, melde dich beim Support unter [email protected]. Der Fehlschlag wird dem Lizenzserver gemeldet.
Updates und Lizenz#
- Ist die Lizenz eingeschränkt, aktualisiert sich
aictlzwar noch selbst, der Abgleich der Plattform wird aber verweigert. Siehe Lizenz. - Wie lange neue Versionen inklusive sind, hängt von deinem Plan ab, siehe Preise. Nach Ablauf läuft deine Installation unverändert weiter, und Sicherheitsupdates werden weiterhin eingespielt. Der Lizenzserver bietet dir dann nur noch Versionen an, die du beziehen darfst. Neue Versionen mit neuen Funktionen erhältst du mit der Update-Verlängerung. Sobald wir sie freischalten, holst du sie mit
sudo aictl license renewab.
Nicht gefunden, was du suchst?
Unser Support hilft dir gerne weiter.