Note the FIXME.
-------- Forwarded Message --------
Subject: Re: Ever-growing store with --gc-keep-outputs?
Date: Fri, 09 Nov 2018 02:13:43 -0500
From: Mark H Weaver <mhw@netris.org>
To: swedebugia <swedebugia@riseup.net>
CC: Pierre Neidhardt <mail@ambrevar.xyz>, Guix-Help <help-guix@gnu.org>
Toggle quote (2 lines)
>> Pierre Neidhardt <mail@ambrevar.xyz> writes:
snip
Toggle quote (10 lines)
>> When I want to free up some disk space, I do the following steps:
>>
>> (1) update my user profiles and delete old generations
>> (2) delete older generations in /var/guix/profiles (but always
>> keeping the one referenced by /run/booted-system!)
>> (3) reconfigure the system to remove the old system profiles from
>> grub.cfg
>> (4) guix gc
> This would be nice to have in the manual I think.
Would you like to propose a patch?
Mark
From 8825b2aa2a10c0fa536486cd52a488601a7846d3 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Wed, 14 Nov 2018 09:13:25 +0100
Subject: [PATCH] doc: guix: Inform users about deleting old system generations
to save space
* guix/scripts.scm: Expand error message. FIXME: we should hide this from
non-GuixSD-users.
* doc/guix.texi (GNU System Distribution): New section: Managing free space.
---
doc/guix.texi | 37 +++++++++++++++++++++++++++++++++++++
guix/scripts.scm | 9 +++++++--
2 files changed, 44 insertions(+), 2 deletions(-)
Toggle diff (84 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 0ba034e82..dd507cbc4 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -212,6 +212,7 @@ GNU Distribution
* Documentation:: Browsing software user manuals.
* Installing Debugging Files:: Feeding the debugger.
* Security Updates:: Deploying security fixes quickly.
+* Managing free space:: Delete unused files from the store.
* Package Modules:: Packages from the programmer's viewpoint.
* Packaging Guidelines:: Growing the distribution.
* Bootstrapping:: GNU/Linux built from scratch.
@@ -8894,6 +8895,7 @@ For information on porting to other architectures or kernels,
* Documentation:: Browsing software user manuals.
* Installing Debugging Files:: Feeding the debugger.
* Security Updates:: Deploying security fixes quickly.
+* Managing free space:: Delete unused files from the store.
* Package Modules:: Packages from the programmer's viewpoint.
* Packaging Guidelines:: Growing the distribution.
* Bootstrapping:: GNU/Linux built from scratch.
@@ -23511,6 +23513,41 @@ Lastly, to check which Bash running processes are using, you can use the
lsof | grep /gnu/store/.*bash
@end example
+@node Managing free space
+@section Managing free space
+
+@cindex free up space
+@cindex delete system generations
+
+Garbage collection in GuixSD is done the same way as in Guix for package
+profiles. System generations cannot yet be deleted with the @command{guix system}
+command. We recommend you to follow this procedure when freeing up space in
+GuixSD:
+
+@table @asis
+
+@item 1)
+@command{guix package -p ~s --delete-generations=1m}
+
+@item 2)
+Manually delete old system generations symlinks in
+@file{/var/guix/profiles}, but always keeping at least the one referenced by
+@file{/run/booted-system}! We recommend keeping at least the current and the
+former generation to make roll-back possible, see @pxref{Invoking guix system}.
+
+If you would like to help implementing a guix command for
+this step, see @pxref{Contributing}.
+
+@item 3)
+Reconfigure the system to remove the deleted system profiles from
+grub.cfg, see @pxref{Invoking guix system}
+
+@item 4)
+Lastly finish cleaning up with @command{guix gc}.
+
+@end table
+
+
@node Package Modules
@section Package Modules
diff --git a/guix/scripts.scm b/guix/scripts.scm
index 5e20ecd92..702855a33 100644
--- a/guix/scripts.scm
+++ b/guix/scripts.scm
@@ -215,8 +215,13 @@ available."
generations and collecting garbage, along these lines:
@example
-guix package -p ~s --delete-generations=1m
-guix gc
+1) $ guix package -p ~s --delete-generations=1m
+2) also consider manually deleting old system generations symlinks in
+/var/guix/profiles (but always keeping the one referenced by
+/run/booted-system!
+3) reconfigure the system to remove the old system profiles from grub.cfg
+4) lastly clean up with:
+$ guix gc
@end example\n")
profile))
(display-hint (G_ "Consider running @command{guix gc} to free
--
2.18.0