mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
doc: Upgrading Guix: Add instructions for distro packages.
This makes sure that, prior to the upgrade commands, the guix-daemon is run from /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon instead of /usr/bin/guix-daemon. * doc/guix.texi (Upgrading Guix): Add instructions for distro packages. Change-Id: I71df3603cffc5d20b6a77241b0c384872b54ec83 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
This commit is contained in:
parent
96b0d77231
commit
d5cf3b5def
1 changed files with 61 additions and 0 deletions
|
@ -2123,6 +2123,67 @@ tool):
|
|||
systemctl restart guix-daemon.service
|
||||
@end example
|
||||
|
||||
While this works for @file{guix-install.sh}, it will most likely not
|
||||
work if you installed Guix through the package manager of another
|
||||
distribution (for instance with sudo apt install guix, pacman -S guix,
|
||||
etc) because on many distributions @file{guix-daemon.service} will only
|
||||
run the Guix daemon provided by the distribution.
|
||||
|
||||
Waiting for your distribution to provide security fixes sometimes work,
|
||||
but fixing security issues in the Guix package takes times for
|
||||
distributions because Guix doesn't backport the security fixes to the
|
||||
releases used by the distributions. On some distribution versions, the
|
||||
Guix package is never fixed.
|
||||
|
||||
However since Guix updates also comes with a new daemon, so you can
|
||||
simply configure your distribution to use the guix-daemon provided by
|
||||
Guix instead. The following will assume that your distribution uses
|
||||
systemd.
|
||||
|
||||
You first need to override @file{guix-daemon.service} with the following
|
||||
command:
|
||||
|
||||
@example
|
||||
sudo install -m 644 \
|
||||
/lib/systemd/system/guix-daemon.service \
|
||||
/etc/systemd/system/guix-daemon.service
|
||||
@end example
|
||||
|
||||
You will then need to edit @file{/etc/systemd/system/guix-daemon.service}. To do
|
||||
that open this file with a text editor that has root permissions:
|
||||
|
||||
@example
|
||||
sudo $EDITOR /etc/systemd/system/guix-daemon.service
|
||||
@end example
|
||||
|
||||
Then try to find a line with @emph{ExecStart=}, it should look a bit
|
||||
like that:
|
||||
@example
|
||||
...
|
||||
[Service]
|
||||
ExecStart=/usr/bin/guix-daemon --build-users-group=_guixbuild
|
||||
...
|
||||
@end example
|
||||
|
||||
Then change @emph{/usr/bin/guix-daemon} into
|
||||
@emph{/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon} and
|
||||
save the changes.
|
||||
|
||||
Once done you need to tell systemd that @emph{guix-daemon.service} was
|
||||
overriden:
|
||||
|
||||
@example
|
||||
sudo systemctl daemon-reload
|
||||
@end example
|
||||
|
||||
Once done you can then update the Guix daemon in the same way than if
|
||||
you installed Guix with @file{guix-install.sh}:
|
||||
|
||||
@example
|
||||
sudo -i guix pull
|
||||
sudo systemctl restart guix-daemon.service
|
||||
@end example
|
||||
|
||||
On Guix System, upgrading the daemon is achieved by reconfiguring the
|
||||
system (@pxref{Invoking guix system, @code{guix system reconfigure}}).
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue