On Tue, Feb 13 2018, Leo Famulari wrote:
That’s a misunderstanding. All of the things in the “services” field of your operating-system configuration are “system services”, so all of
them get updated.


But, it doesn't try to stop and restart those services in case of any
relevant changes, right? Doesn't that require a reboot?

The "system services" aren't services in the sense of being started/stopped. They are an extensible way to modify the system, such that one "service" can depend on another for its behaviour. For example, the `etc-service-type` is responsible for putting files in /etc, and so other services can "extend" it with files that they want placed in /etc. The concept of "starting" and "stopping" these services isn't really meaningful, because they just specify the state of the system. These services have an effect when you reconfigure.

One of the things that a "system service" can do is to register a Shepherd service. This is a process which will be invoked by Shepherd (pid 1), and can be started/stopped with the `herd` command. Reconfigure will not register any new Shepherd services, if doing so would involve starting an already-running service. So, for instance, you probably have a `guix-daemon` process running on your system. Reconfiguring your system will not upgrade (and thus restart) your `guix-daemon`. You need to reboot to have the new, updated, `guix-daemon` process. (Ideally you would only have to stop/start the Shepherd service manually to have the updated version, but at the moment doing so will just restart the old version.)

Hopefully that explanation is helpful. I also hope it's correct.

Carlo

Attachment: signature.asc
Description: PGP signature

Reply via email to