Comment sont mis à jour les fichiers de configuration modifiés?

Bonjour,

Je souhaiterais connaître la logique des mises à jour de yunohost et quels fichiers sont conservés et quels sont ceux qui sont remplacés lorsque ceux-ci ont été modifiés?
Je me suis aperçu que les fichiers de configuration des applications natives de yunohost ne sont pas remplacés et qu’on peut lister les différences avec regen-conf.
Pour les applications, en prenant pour exemple Nextcloud, le fichier /etc/php/7.0/fpm/pool.d/nextcloud.conf est remplacé et une copie de l’ancienne configuration est ajoutée dans /home/yunohost.conf/backup alors que /var/www/nextcloud/config/config.php lui n’est pas écrasé.

Y a-t-il un moyen simple (comme regen-conf) de voir quels fichiers ont été remplacés et quelles sont les différences avec ceux d’origine lors des mises à jour d’applications ?

Bonjour,
Je suis loin d’être un spécialiste, mais etckeeper créé un .git sous /etc, nativement avec Yunohost.
Tu dois pouvoir y retrouver des informations…
Etckeeper qui va être abandonné très bientôt dans les prochaines versions de Yunohost.
Je ne sais pas si ça répond à ta question ?
Pour reprendre ton exemple de Nextcloud, tu dois pouvoir trouver toutes les informations dans le script de “upgrade” !

Merci anonyme18, je suis allé voir dans .git, je n’ai pas trouvé ou je ne sais pas quoi regarder qui puisse m’apporter ce genre d’info.
C’est vrai que le script d’upgrade est très bien commenté, et même sans comprendre le code on a aisément l’information de ce qui est mis à jour. Félicitations au passage aux dev/mainteneurs de ces scripts pour cette lisibilité.

Cependant ça ne répond pas vraiment à la question, je cherchais quelque chose d’équivalent à regen-conf mais pour les applications, je ne sais pas si ça existe sur yunohost. Disons que j’ai modifié quelques fichiers et soit je perds les modifications aux mises à jour, ce qui est un moindre mal quand on sait lesquels car une copie est réalisée, soit les fichiers sont conservés mais je ne vois pas les éventuels ajouts qui auraient pu être fait à ceux-ci depuis mon installation.

1 Like

Hi metyun

as you’ve already seen, when a file is overwritten, a backup is made into /home/yunohost.conf/backup.
The upgrade process tells you exactly where the file is, as well, when doing that, it tells you what were the differences between the 2 files.
It’s intended to help you re apply your modifications if needed.

If you missed that information on a previous upgrade, you can find it back into the log files.

To know which files are overwritten, there’s currently no other way than having a look to the upgrade script.
But, I’m working (already available for some of my apps) on an option to choose whether a file should be overwrite or not. Option you can find into the config-panel of the app.
This is still an experimental feature, but it will be available for all apps in the future.

1 Like

Thank you Maniack_Crudelis,
It’s a good news that this option will be available for all apps in the future. :smiley:
I suspect that only files in /etc/… are replaced, is it right?
I went to see the logs and indeed, I found the information I was looking for.

All files could be overwritten, the basic rule is to overwrite all config files, except those that are likely to be manually modified. So, if anything bad would happen, an upgrade will fix the app.
Files in /etc are often nginx or php files, those files are overwritten by standard functions in YunoHost, specific files for an app are up to the packager himself.

1 Like