Ce que fait ce module #
Chaque fois que vous démarrez un serveur, il faut mettre la base en place : installer les mises à jour en attente, décider de la langue dans laquelle s'expriment les programmes, régler le bon fuseau horaire, donner un nom à la machine et vous assurer que l'horloge est à l'heure. Ce sont de petites tâches, mais répétitives, et chacune a sa propre commande Linux avec sa propre syntaxe.
Le module os les réunit toutes derrière une interface cohérente. Il met à jour le système (ou seulement la partie sécurité) et vous indique s'il faut redémarrer ; il active les mises à jour automatiques pour que les correctifs de sécurité s'appliquent tout seuls ; il fixe la locale, le fuseau horaire et le hostname de façon idempotente ; et il gère la synchronisation NTP pour que l'heure ne dérive jamais. Chaque action peut être répétée sans risque : si l'état voulu est déjà atteint, rien n'est modifié.
Les sous-commandes qui modifient quelque chose (mettre à jour, fixer la locale, le fuseau, le hostname ou le NTP) écrivent dans le système et nécessitent les privilèges root : lancez-les avec sudo. Celles qui se contentent de consulter (status, list, check) ne le requièrent pas.
Tâches courantes #
Choisissez ce que vous voulez faire. Chaque recette contient la commande déjà écrite — remplacez simplement les valeurs d'exemple par les vôtres, et cliquez sur Copier.
1
Voir et appliquer les mises à jour
Vérifiez ce qui est en attente et mettez-vous à jour en un instant.
Regardez d'abord l'état général et quelles mises à jour sont en attente :
$ imaxe os status
$ imaxe os checkAppliquez ce qui est en attente. Si vous ne voulez que celles de sécurité et un redémarrage au besoin, ajoutez les flags :
$ sudo imaxe os update --security-only --reboot-if-neededimaxe os reboot-required (code 0 = oui, il faut redémarrer).2
Passer les mises à jour de sécurité en automatique
Faites en sorte que les mises à jour de sécurité s'appliquent seules, sans que vous ayez à surveiller.
Activez les mises à jour automatiques. Cela génère la configuration d'unattended-upgrades à votre place :
$ sudo imaxe os autoupdate enableConfirmez que c'est actif et quand aura lieu la prochaine exécution :
$ imaxe os autoupdate statussudo imaxe os autoupdate disable.3
Régler le fuseau horaire et l'heure
Fixez votre fuseau IANA et assurez-vous que l'horloge se synchronise par NTP.
Si vous ne vous rappelez pas le nom exact de votre fuseau, filtrez-le d'abord :
$ imaxe os timezone list EuropeFixez le fuseau (c'est idempotent) et activez la synchronisation de l'heure :
$ sudo imaxe os timezone set Europe/Madrid
$ sudo imaxe os timesync enableimaxe os timesync status.4
Fixer la langue du système
Définissez le LANG et générez la locale si elle n'existe pas encore.
Fixez la langue du système. La commande génère la locale et installe le paquet locales s'il manque :
$ sudo imaxe os locale set es_ES.UTF-8Vous avez besoin de plus de langues disponibles sans changer le LANG ? Générez-les à part :
$ sudo imaxe os locale generate es_ES.UTF-8 en_US.UTF-8imaxe os locale status.5
Changer le nom de la machine
Donnez un hostname clair et gardez /etc/hosts cohérent.
/etc/hosts cohérent.Attribuez le hostname. Seuls les lettres, les chiffres et les tirets sont admis, jusqu'à 63 caractères :
$ sudo imaxe os hostname set web-01/etc/hosts mis à jour en cohérence. Vérifiez-le avec imaxe os hostname status.Si l'instance est gérée par cloud-init, celui-ci peut réécrire le hostname à chaque démarrage. C'est pourquoi os.yml laisse le champ hostname vide par défaut : ne le fixez que si vous savez que cloud-init ne va pas l'écraser.
Synopsis #
imaxe os <subcomando> [<acción>] [<argumento>...] [flags]Les sous-commandes qui modifient le système (mettre à jour, mises à jour automatiques, locale, fuseau horaire, hostname, NTP) nécessitent les privilèges root (utilisez sudo). Ajoutez --json à n'importe quel status ou check pour obtenir une sortie lisible par machine, adaptée au scripting.
Sous-commandes #
| Sous-commande | Rôle | Actions / flags |
|---|---|---|
| status | Résumé de l'état des mises à jour du système. | --json |
| update | Applique maintenant les mises à jour en attente. | --security-only, --reboot-if-needed |
| check | Liste les mises à jour en attente sans les appliquer. | --json |
| reboot-required | Indique s'il y a un redémarrage en attente (exit 0 = oui, 1 = non). | --json |
| autoupdate | Gère les mises à jour automatiques (unattended). | enable · disable · status |
| locale | Gère la locale du système (génère et installe le nécessaire). | status · list · set · generate |
| timezone | Affiche ou change le fuseau horaire du système. | status · list · set |
| hostname | Affiche ou change le hostname (cohérent avec /etc/hosts). | status · set |
| timesync | Gère la synchronisation de l'heure (NTP). | status · enable · disable |
Arguments et flags #
| Argument / flag | Type | Où s'applique | Description |
|---|---|---|---|
| --json | bool | status · check | Émet le résultat sous forme de JSON structuré sur stdout, adapté au scripting. |
| --security-only | bool | update | Applique uniquement les mises à jour de sécurité. |
| --reboot-if-needed | bool | update | Redémarre automatiquement si le système le requiert après la mise à jour. |
| <locale> req. | string… | locale set · locale generate | Locale au format es_ES.UTF-8. Sur set, une seule (le LANG du système) ; sur generate, une ou plusieurs à générer. |
| <zona> req. | string | timezone set | Fuseau horaire IANA, p. ex. Europe/Madrid. |
| <filtro> | string | timezone list | Filtre optionnel pour restreindre la liste des fuseaux (p. ex. Europe). |
| <nuevo> req. | string | hostname set | Nouveau hostname : minuscules a-z, chiffres 0-9 et tirets, maximum 63 caractères. |
Fichiers et chemins #
| Chemin | Contenu |
|---|---|
| /etc/imaxe/os.yml | Configuration du module : mises à jour automatiques, politique de mise à jour, locale, fuseau horaire, hostname et NTP. |
| /var/log/imaxe/os.log | Journal structuré de chaque mise à jour et changement de configuration du système. |
| /etc/apt/apt.conf.d/20auto-upgrades | Config générée par autoupdate enable qui active les mises à jour automatiques. |
| /etc/apt/apt.conf.d/50unattended-upgrades | Règles d'unattended-upgrades (ce qui est mis à jour, fenêtre de redémarrage, liste d'exclusions). |
Exemple d'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: trueLes champs vides ("") signifient « ne pas toucher » : le module laisse ce réglage tel quel. C'est pourquoi hostname est vide — l'instance le gère généralement via cloud-init.
Codes de sortie et logs #
Chaque exécution renvoie un code que vous pouvez vérifier avec echo $? — utile pour enchaîner dans des scripts :
reboot-required utilise le code de sortie comme réponse : 0 signifie « oui, il faut redémarrer » et 1 signifie « non ». Vous pouvez ainsi l'enchaîner directement dans un script sans parser de texte.
Suivez le log en direct pendant que vous déboguez :
$ sudo tail -f /var/log/imaxe/os.logRésolution des problèmes #
| Symptôme | Cause probable | Solution |
|---|---|---|
| Renvoie USAGE (code 2) | Un argument obligatoire manque (locale, fuseau ou hostname) ou le format n'est pas valide. | Consultez la table des arguments : le hostname n'admet que a-z0-9 et des tirets (≤63). |
| Le hostname change à nouveau après un redémarrage | cloud-init réécrit le hostname à chaque démarrage. | Désactivez la gestion du hostname dans cloud-init, ou laissez le champ vide dans os.yml et ne le fixez pas à la main. |
locale set met du temps ou échoue | Le paquet locales n'est pas présent et doit être installé/généré. | Réessayez avec le système à jour (imaxe os update) ; le module installe locales et génère la locale tout seul. |
| L'heure reste décalée | La synchronisation NTP est désactivée. | Activez-la avec sudo imaxe os timesync enable et vérifiez avec imaxe os timesync status. |
| Les mises à jour automatiques ne s'appliquent pas | Les mises à jour automatiques n'ont jamais été activées sur cette machine. | Lancez sudo imaxe os autoupdate enable et confirmez avec imaxe os autoupdate status. |
Bloqué sur le module Système ?
Écrivez-nous avec la sortie de « imaxe <module> status --json » et nous vous répondons rapidement.