Was dieses Modul tut #
Jedes Mal, wenn du einen Server startest, muss die Basis stimmen: die ausstehenden Updates installieren, entscheiden, in welcher Sprache die Programme sprechen, die richtige Zeitzone setzen, der Maschine einen Namen geben und sicherstellen, dass die Uhr richtig geht. Das sind kleine, aber wiederkehrende Aufgaben, und jede hat ihren eigenen Linux-Befehl mit eigener Syntax.
Das Modul os vereint sie alle hinter einer einheitlichen Schnittstelle. Es aktualisiert das System (oder nur den Sicherheitsteil) und sagt dir, ob ein Neustart nötig ist; es aktiviert die unbeaufsichtigten Aktualisierungen, damit die Sicherheitsupdates von selbst eingespielt werden; es setzt Locale, Zeitzone und Hostname idempotent; und es verwaltet die NTP-Synchronisierung, damit die Uhrzeit nie abweicht. Jede Aktion ist gefahrlos wiederholbar: Ist der gewünschte Zustand bereits erreicht, wird nichts angefasst.
Die Unterbefehle, die etwas ändern (aktualisieren, Locale, Zeitzone, Hostname oder NTP setzen), schreiben ins System und benötigen root-Rechte: starte sie mit sudo. Die, die nur abfragen (status, list, check), benötigen das nicht.
Häufige Aufgaben #
Wähle aus, was du tun möchtest. Jedes Rezept liefert den Befehl fertig geschrieben — ersetze einfach die Beispielwerte durch deine eigenen und klicke auf Kopieren.
1
Updates ansehen und einspielen
Prüfe, was ansteht, und bring dich im Handumdrehen auf den neuesten Stand.
Sieh dir zuerst den allgemeinen Zustand an und welche Updates warten:
$ imaxe os status
$ imaxe os checkSpiele das Ausstehende ein. Wenn du nur die Sicherheitsupdates willst und dass bei Bedarf neu gestartet wird, füge die Flags hinzu:
$ sudo imaxe os update --security-only --reboot-if-neededimaxe os reboot-required (Code 0 = ja, nötig).2
Sicherheitsupdates automatisch einspielen
Dass die Sicherheitsupdates von selbst eingespielt werden, ohne dass du dahinter sein musst.
Aktiviere die unbeaufsichtigten Aktualisierungen. Dies erzeugt die Konfiguration von unattended-upgrades für dich:
$ sudo imaxe os autoupdate enableBestätige, dass es aktiv ist und wann die nächste Ausführung erfolgt:
$ imaxe os autoupdate statussudo imaxe os autoupdate disable.3
Zeitzone und Uhrzeit setzen
Setze deine IANA-Zone und stelle sicher, dass die Uhr per NTP synchronisiert wird.
Wenn du den genauen Namen deiner Zone nicht mehr weißt, filtere ihn zuerst:
$ imaxe os timezone list EuropeSetze die Zone (idempotent) und aktiviere die Zeitsynchronisierung:
$ sudo imaxe os timezone set Europe/Madrid
$ sudo imaxe os timesync enableimaxe os timesync status.4
Systemsprache festlegen
Definiere das LANG und generiere das Locale, falls es noch nicht existiert.
Lege die Systemsprache fest. Der Befehl generiert das Locale und installiert das Paket locales, falls es fehlt:
$ sudo imaxe os locale set es_ES.UTF-8Brauchst du weitere Sprachen verfügbar, ohne das LANG zu ändern? Generiere sie separat:
$ sudo imaxe os locale generate es_ES.UTF-8 en_US.UTF-8imaxe os locale status.5
Rechnernamen ändern
Vergib einen klaren Hostname und halte /etc/hosts konsistent.
/etc/hosts konsistent.Weise den Hostname zu. Erlaubt sind nur Buchstaben, Ziffern und Bindestriche, bis zu 63 Zeichen:
$ sudo imaxe os hostname set web-01/etc/hosts entsprechend aktualisiert. Prüfe es mit imaxe os hostname status.Wenn die Instanz von cloud-init verwaltet wird, kann dieses den Hostname bei jedem Start überschreiben. Deshalb lässt os.yml das Feld hostname standardmäßig leer: setze es nur, wenn du weißt, dass cloud-init es nicht überschreiben wird.
Synopsis #
imaxe os <subcomando> [<acción>] [<argumento>...] [flags]Die Unterbefehle, die das System ändern (aktualisieren, unbeaufsichtigte Aktualisierungen, Locale, Zeitzone, Hostname, NTP), benötigen root-Rechte (nutze sudo). Füge --json zu jedem status oder check hinzu, um maschinenlesbare Ausgabe zu erhalten, geeignet für Scripting.
Unterbefehle #
| Unterbefehl | Was er tut | Aktionen / Flags |
|---|---|---|
| status | Zusammenfassung des Update-Status des Systems. | --json |
| update | Spielt die ausstehenden Updates jetzt ein. | --security-only, --reboot-if-needed |
| check | Listet die ausstehenden Updates auf, ohne sie einzuspielen. | --json |
| reboot-required | Zeigt an, ob ein Neustart ansteht (exit 0 = ja, 1 = nein). | --json |
| autoupdate | Verwaltet die automatischen, unbeaufsichtigten Aktualisierungen. | enable · disable · status |
| locale | Verwaltet das System-Locale (generiert und installiert das Nötige). | status · list · set · generate |
| timezone | Zeigt oder ändert die Zeitzone des Systems. | status · list · set |
| hostname | Zeigt oder ändert den Hostname (konsistent mit /etc/hosts). | status · set |
| timesync | Verwaltet die Zeitsynchronisierung (NTP). | status · enable · disable |
Argumente und Flags #
| Argument / Flag | Typ | Wo es gilt | Beschreibung |
|---|---|---|---|
| --json | bool | status · check | Gibt das Ergebnis als strukturiertes JSON auf stdout aus, geeignet für Scripting. |
| --security-only | bool | update | Spielt nur die Sicherheitsupdates ein. |
| --reboot-if-needed | bool | update | Startet automatisch neu, wenn das System es nach dem Aktualisieren erfordert. |
| <locale> erf. | string… | locale set · locale generate | Locale im Format es_ES.UTF-8. Bei set genau eines (das LANG des Systems); bei generate eines oder mehrere zu generierende. |
| <zona> erf. | string | timezone set | IANA-Zeitzone, z. B. Europe/Madrid. |
| <filtro> | string | timezone list | Optionaler Filter, um die Liste der Zonen einzugrenzen (z. B. Europe). |
| <nuevo> erf. | string | hostname set | Neuer Hostname: Kleinbuchstaben a-z, Ziffern 0-9 und Bindestriche, maximal 63 Zeichen. |
Dateien und Pfade #
| Pfad | Inhalt |
|---|---|
| /etc/imaxe/os.yml | Konfiguration des Moduls: unbeaufsichtigte Aktualisierungen, Update-Richtlinie, Locale, Zeitzone, Hostname und NTP. |
| /var/log/imaxe/os.log | Strukturiertes Protokoll jedes Updates und jeder Konfigurationsänderung des Systems. |
| /etc/apt/apt.conf.d/20auto-upgrades | Von autoupdate enable erzeugte Konfiguration, die die unbeaufsichtigten Aktualisierungen aktiviert. |
| /etc/apt/apt.conf.d/50unattended-upgrades | Regeln von unattended-upgrades (was aktualisiert wird, Neustartfenster, Ausschlussliste). |
Beispiel für os.yml:
unattended:
enabled: true
security_only: true
automatic_reboot: false
automatic_reboot_time: "03:00"
blacklist: []
update:
default_security_only: false
locale:
lang: es_ES.UTF-8
generate: [es_ES.UTF-8, en_US.UTF-8]
timezone: Europe/Madrid
hostname: ""
ntp:
enabled: trueLeere Felder ("") bedeuten «nicht anfassen»: Das Modul lässt diese Einstellung so, wie sie ist. Deshalb kommt hostname leer — die Instanz verwaltet ihn meist über cloud-init.
Exit-Codes und Logs #
Jede Ausführung gibt einen Code zurück, den du mit echo $? prüfen kannst — nützlich zum Verketten in Skripten:
reboot-required nutzt den Exit-Code als Antwort: 0 bedeutet «ja, ein Neustart ist nötig» und 1 bedeutet «nein». So kannst du es direkt in einem Skript verketten, ohne Text zu parsen.
Verfolge das Log live, während du debuggst:
$ sudo tail -f /var/log/imaxe/os.logFehlerbehebung #
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Es erscheint USAGE (Code 2) | Ein Pflichtargument fehlt (Locale, Zone oder Hostname) oder das Format ist ungültig. | Prüfe die Argumenttabelle: der Hostname erlaubt nur a-z0-9 und Bindestriche (≤63). |
| Der Hostname ändert sich nach dem Neustart wieder | cloud-init überschreibt den Hostname bei jedem Start. | Deaktiviere die Hostname-Verwaltung in cloud-init oder lass das Feld in os.yml leer und setze ihn nicht von Hand. |
locale set dauert lange oder schlägt fehl | Das Paket locales fehlt und muss installiert/generiert werden. | Versuche es erneut mit aktuellem System (imaxe os update); das Modul installiert locales und generiert das Locale von selbst. |
| Die Uhrzeit weicht weiter ab | Die NTP-Synchronisierung ist deaktiviert. | Aktiviere sie mit sudo imaxe os timesync enable und prüfe mit imaxe os timesync status. |
| Die unbeaufsichtigten Aktualisierungen werden nicht eingespielt | Die unbeaufsichtigten Aktualisierungen wurden auf dieser Maschine nie aktiviert. | Starte sudo imaxe os autoupdate enable und bestätige mit imaxe os autoupdate status. |
Steckst du beim Modul System fest?
Schreib uns mit der Ausgabe von «imaxe <module> status --json» und wir antworten dir schnell.