Mettre à jour¶
Depuis la Console (recommandé)¶
La page Agents permet de déclencher la mise à jour d'un agent à distance. L'agent télécharge et installe le paquet avec le gestionnaire natif de sa distribution, puis redémarre.
C'est la méthode la plus sûre : l'API connaît les versions installées et signale les écarts.
Depuis la machine¶
sudo apt update
sudo apt install --only-upgrade 'abls-*'
sudo dnf makecache
sudo dnf upgrade 'abls-*'
Les paquets ne redémarrent pas les services
C'est volontaire : un redémarrage intempestif d'un agent pilotant un automate peut avoir des conséquences physiques. Le redémarrage est toujours une décision explicite :
sudo systemctl restart abls-agent-modbus@MODBUS_CHAUFFERIE.service
Ordre de mise à jour¶
Sur un domaine de plusieurs machines, respectez cet ordre :
flowchart LR
A["1. Socle<br/>API, si auto-hébergé"] --> B["2. Serveur master<br/>abls-agent-server"]
B --> C["3. Agents secondaires"]
C --> D["4. Interfaces web<br/>Console et Home"]
Ne mettez pas à jour tout le parc d'un coup
Procédez machine par machine, en vérifiant le retour en service de chacune avant de passer à la suivante. Un agent qui ne redémarre pas est beaucoup plus facile à diagnostiquer seul.
Vérifier après mise à jour¶
# Version installée
dpkg -l 'abls-*' # Debian
rpm -qa 'abls-*' # Fedora
# Le service est-il bien reparti ?
systemctl is-active abls-agent-modbus@MODBUS_CHAUFFERIE.service
# L'enrôlement s'est-il bien refait ?
sudo journalctl -u abls-agent-modbus@MODBUS_CHAUFFERIE.service -n 40
Dans la Console, la version remontée par l'agent doit correspondre à celle installée.
Que devient la configuration ?¶
Les fichiers /etc/abls/*.conf ne sont pas écrasés par une mise à jour. Vous n'avez pas à
refaire l'enrôlement.
En cas de conflit sur un fichier de configuration géré par le paquet, APT propose de conserver la version locale : répondez N (garder votre version) sauf indication contraire dans les notes de version.
Revenir en arrière¶
# Lister les versions disponibles
apt-cache madison abls-agent-modbus
# Installer une version précise
sudo apt install abls-agent-modbus=<version>
sudo dnf downgrade abls-agent-modbus
Le retour arrière n'est pas toujours possible
Si l'API a été mise à jour et a fait évoluer son schéma de base, les agents d'ancienne version peuvent ne plus être acceptés. Vérifiez les notes de version avant de descendre un agent isolé.
Mettre à jour le socle auto-hébergé¶
- Sauvegarder la base de données (procédure).
- Mettre à jour le paquet
abls-habitat-apiet redémarrer le service. - Vérifier
https://votre-api.example.com/statuset les journaux. - Mettre à jour les interfaces web (Console et Home).
- Mettre à jour les agents.
Sauvegardez avant toute montée de version de l'API
L'API applique automatiquement les migrations de schéma au démarrage. Ces migrations ne sont pas réversibles.
Mises à jour du système d'exploitation¶
Les agents suivent les bibliothèques système (GLib, libcurl, libmodbus, libgpiod…). Une montée de version majeure de la distribution (Bookworm vers Trixie, par exemple) impose de basculer aussi le dépôt Abls :
source /etc/os-release
sudo rm /etc/apt/sources.list.d/abls-pkgs-*.sources
sudo wget -O /etc/apt/sources.list.d/abls-pkgs-${VERSION_CODENAME}.sources \
https://pkgs.abls-habitat.fr/abls-pkgs-${VERSION_CODENAME}.sources
sudo apt update && sudo apt install --only-upgrade 'abls-*'