I suppose the doubling of size is due to deduplication not working well with rsync: we use hard links for identical files, but I suppose rsync doesn't recreate the hard links?
Maybe try guix gc --optimize? Le 3 mars 2021 08:44:56 GMT-05:00, Phil <p...@beadling.co.uk> a écrit : >Hi all, > >My growing /gnu/store needed to be moved to another location. I >couldn't >find any specific instructions on doing this but think I've managed to >cobble together a way of doing this safely without breaking store >properties. > >There were some gremlins tho - on restarting Guix the /gnu/store was >seen to grow to approximately double it's size. > >I seem to have tamed this with the garbage collection, but would be >interested >in people's thoughts if this is a reasonable way to do this, or if you >have any hints or gotchas I may have missed? > >Stop all Guix services and mounts > systemctl stop guix-daemon.service > systemctl stop gnu-store.mount > systemctl status guix-daemon.service > systemctl status gnu-store.mount > >Assuming that you have a /some_other_disk mount with more room: > mkdir /some_other_disk/gnu > rsync -va /gnu/store /some_other_disk/gnu/ > >Move the old store create the correct directory for the new > cd /gnu/store > mv store store.old > mkdir store > chmod 01775 store > chown root:guixbuild store > >Change the Guix configuration file - >/etc/systemd/system/gnu-store.mount - under [Mount]: > What=/some_other_disk/gnu/store > >Reload configuration and restart the daemon > systemctl daemon-reload > systemctl start guix-daemon.service > systemctl status guix-daemon.service > systemctl status gnu-store.mount > >When you're sure everything looks good >rm -rf /gnu/store.old > >Like I said this worked and guix pull/install/etc worked fine >afterwards >- previous installs were recognized etc. > >When I ran: >guix gc --verify > >It returned success (0 ret code) > >I noted however that the new /gnu/store was approx double in size - it >looked like it had created new links to represent store items. > >I then ran: >guix gc --collect-garbage > >This seemed to remove about half the size of the new store - suggesting >to me that stale links were now removed. > >Is my method sane? > >Is there a better way of doing such a move to avoid the doubling of >size? > > >Thanks, >Phil