Bugzilla – Bug 1195748
New upgrade mode (based on transactional server).
Last modified: 2022-02-17 17:49:02 UTC
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0 Build Identifier: The problem of transactional server update is user must restart system. I think we can do better, but it probably requires changes in the kernel. Firstly, remember timestamp, when process lastly perform exec. Secondly, save timestamp of snapshot creation. Thirdly, process sees only /usr and / with highest timestamp, but lower than process lastly exec time Firth, send signal (via DBUS) to processes, telling to inform user, there is need to restart There is only one problem: which settings (/etc, /usr/etc, etc.) should process see? As /usr and / or newest? I think, it should see newest, since daemons read full configuration during startup and no need to re-read. In this case, user can edit configuration of service and send some signal to tell to re-read configuration. There is also another problem: what if we do exec and newer version of program starts... it may be helper program to communicate with parent. Idea is great, but we must brainstorm. I think, we can mount each snapshot and process running from some snapshot see that snapshot by default. Systemd may try to run app from newest snapshot by default. Also, Desktop Environment could do the same. Reproducible: Always Actual Results: When using transactional server, we must reboot after update. Expected Results: We do not have to reboot. App should be closed by user as soon as possible and systemd(or DE) should relaunch it.
Ignaz should know how to properly address this.