[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: “guix gc”, auto gcroots, cluster deployments

From: Ludovic Courtès
Subject: Re: “guix gc”, auto gcroots, cluster deployments
Date: Tue, 08 Jun 2021 14:55:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)


Ricardo Wurmus <> skribis:

> Ludovic Courtès <> writes:
>> Hi!
>> Ricardo Wurmus <> skribis:
>>> There are two problems here:
>>> 1) I don’t think “guix gc --list-dead” (or “--list-live”, or more
>>> generally “findRoots” in nix/libstore/ should delete
>>> anything.  It should just list and not clean up.
>> Maybe ‘findRoots’ could populate the list of stale roots and it’d be
>> up
>> to the caller to decide whether to delete them or not?
> Yes, this would be better.  It already does this for links whose
> targets exist but cannot be read.


>>> 2) For cluster installations with remote file systems perhaps
>>> there’s
>>> something else we can do to record gcroots.  We now have this


>>> […] we would
>>> record
>>> /var/guix/profiles/per-user/me/auto/8ypp8dmwnydgbsgjcms2wyb32mng0wri
>>> pointing to 
>>> /gnu/store/ap0vrfxjdj57iqdapg8q83l4f7aylqzm-profile, and
>>> then point /home/me/projects/mrg1_chipseq/.guix-profile-1-link at
>>> that.  Yes, removing
>>> /home/me/projects/mrg1_chipseq/.guix-profile-1-link would no longer
>>> free up the profile for garbage collection, but removing
>>> $(readlink /home/me/projects/mrg1_chipseq/.guix-profile-1-link)
>>> would.
>> Yes, but how would per-user/me/auto/* be cleaned up?
> Yeah, that’s an open question.
> I get the appeal of having these things be cleaned up automatically
> when the link disappears, but if we added this extra layer of
> indirection for cluster deployments this would become manual.
> Can we make this configurable perhaps…?  On my cluster installation
> I’d rather have a cron job to erase the stuff in per-user/me/auto/* on
> my own terms, than to have “guix gc” fail to resolve links and
> consider it all garbage.

Sure, why not.  Do you have configuration options in mind?

I have troubles wrapping my head around this problem.  Should we split
it into smaller chunks in bug-guix?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]