![我如何对 Guix 系统一代进行垃圾收集?](https://linux22.com/image/192795/%E6%88%91%E5%A6%82%E4%BD%95%E5%AF%B9%20Guix%20%E7%B3%BB%E7%BB%9F%E4%B8%80%E4%BB%A3%E8%BF%9B%E8%A1%8C%E5%9E%83%E5%9C%BE%E6%94%B6%E9%9B%86%EF%BC%9F.png)
在我的 Guix 系统上运行时sudo guix gc --list-roots
,我看到很多系统版本,一直可以追溯到我第一次安装系统时。
$ sudo guix gc --list-roots
...
/var/guix/profiles/system-22-link
/var/guix/profiles/system-1-link
/var/guix/profiles/system-10-link
/var/guix/profiles/system-11-link
/var/guix/profiles/system-12-link
/var/guix/profiles/system-13-link
/var/guix/profiles/system-14-link
/var/guix/profiles/system-15-link
...
sudo guix gc --delete-generations=30d
当我按预期运行时,这些不会被垃圾收集。为什么会这样以及如何 GC 系统根目录?
答案1
据我观察,guix gc
没有触及任何系统 gc-roots。有一个单独的命令guix system delete-generations
来管理这些。guix system delete-generations 1m
随后运行确实删除了超过一个月的系统 gc-roots 并清理了旧状态的guix gc
存储。/gnu/store
在我的机器上,这个大小是 34GiB。