guix-devel
[Top][All Lists]
Advanced

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

guix gc: smarter collection & guix.el manual deletion


From: Pierre Neidhardt
Subject: guix gc: smarter collection & guix.el manual deletion
Date: Thu, 26 Jul 2018 09:49:24 +0200
User-agent: mu4e 1.0; emacs 26.1

Hi!

I run GuixSD on a rather small partition (<25GB) and quite often the
partition gets full during a transation and I end up having to clean up
the store (e.g. "guix gc -F5G").

The problem is that more often than not, "guix gc" will remove store
items that are almost always needed for the next transaction, which
results in a huge re-update of those newly missing packages.  What a
waste of time...

It would be nice if "guix gc" would be a bit smarter and remove items
that are less likely to be needed for the next transaction.

Or maybe I'm missing the point?

The store does not have timestamps, so removing old items would not work
I guess.  But what about removing older versions first?  Say I have
glibc-2.24 and glibc-2.25, only remove glibc-2.24 if that's enough to
free the required space.

Maybe we could introduce a "whitelist" of packages to delete last.

In the end I figured that the most convenient way to clean up the store
might be to do it manually with "guix gc --delete PATH".  Well, not so
from the commandline, but with guix.el I thought we could do something
nice.  So I gave it a (quick&dirty™) shot:

        https://gitlab.com/emacs-guix/emacs-guix/issues/2

With guix.el loaded, `eval' my example and run "M-x guix-store".
This will return a list of all the dead links, which you can sort by
name or by size.  You can then mark items ("m") and delete them ("k").

What do you people think?


While I'm at it, I'd like to note that something might be wrong with the
`-F` option: I never get the promised amount of free space back, only
about 2/3 of it.

--
Pierre Neidhardt

Attachment: signature.asc
Description: PGP signature


reply via email to

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