/gnu/store/.links filling the hard drive on foreign distro

  • Done
  • quality assurance status badge
Details
3 participants
  • Elias Kueny
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Elias Kueny
Severity
normal
E
E
Elias Kueny wrote on 22 Mar 2023 11:48
(address . bug-guix@gnu.org)
g3cedph6it4.fsf@cfeld-pcx39651.desy.de
Hello,

I'm using guix over a foreign distro (Ubuntu 22.04). I initially installed guix from the Ubuntu repositories (version 1.3.0-4), and updated as user with guix pull (work computer: I don't have root access to run the installer script).

The problem is the size of /gnu/store/.links: after garbage collection with "guix gc --delete-generations=1w", /gnu/store is 17.4 GB in total, and /gnu/store/.links is 14.5 GB (344120 items, ranging from 93 MB to 4.1 kB each). The garbage collector prints that "currently hard linking saves 3717.77 MiB".
With a 40GB hard drive, the gnu store regularly fills up all the available space if I'm not careful. I found from an old issue (https://issues.guix.gnu.org/24937#1)that 10 millions links should need around 700 MB, so this sounds like a bug.

After garbage collection, there are only 16 profiles left in /var/guix/profiles/per-user/ for my account: 2 for current-guix, 2 for guix-profile, and the rest for guix-home (where almost every program is installed), plus one guix shell profile I keep activated during gc to not uninstall it. I can't check for the root account, but I'm guessing it contains only the profile of the initial guix installation. There are no other users.

I tried uninstalling the original guix from the Ubuntu repositories in case the issue is due to some interference between it and the current guix I pulled as user, but /var/guix/daemon-socket/socket was gone with it, so I couldn't try to run the garbage collection.

Elias
L
L
Ludovic Courtès wrote on 8 Apr 2023 23:12
(name . Elias Kueny)(address . elias.kueny@posteo.net)(address . 62379@debbugs.gnu.org)
87cz4eaxit.fsf@gnu.org
Hi,

Elias Kueny <elias.kueny@posteo.net> skribis:

Toggle quote (5 lines)
> The problem is the size of /gnu/store/.links: after garbage collection
> with "guix gc --delete-generations=1w", /gnu/store is 17.4 GB in
> total, and /gnu/store/.links is 14.5 GB (344120 items, ranging from 93
> MB to 4.1 kB each).

This is expected: /gnu/store/.links contains hard links to other files
in /gnu/store. IOW /gnu/store/.links is a subset of the rest of
/gnu/store, sharing the same inodes.

Toggle quote (6 lines)
> The garbage collector prints that "currently hard linking saves
> 3717.77 MiB". With a 40GB hard drive, the gnu store regularly fills
> up all the available space if I'm not careful. I found from an old
> issue (https://issues.guix.gnu.org/24937#1) that 10 millions links
> should need around 700 MB, so this sounds like a bug.

Note that the issue you mention was addressed to a large extent in 2021:


HTH!

Ludo’.
M
M
Maxim Cournoyer wrote on 7 May 2023 17:05
(name . Ludovic Courtès)(address . ludo@gnu.org)
877ctk18su.fsf@gmail.com
Hi,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (24 lines)
> Hi,
>
> Elias Kueny <elias.kueny@posteo.net> skribis:
>
>> The problem is the size of /gnu/store/.links: after garbage collection
>> with "guix gc --delete-generations=1w", /gnu/store is 17.4 GB in
>> total, and /gnu/store/.links is 14.5 GB (344120 items, ranging from 93
>> MB to 4.1 kB each).
>
> This is expected: /gnu/store/.links contains hard links to other files
> in /gnu/store. IOW /gnu/store/.links is a subset of the rest of
> /gnu/store, sharing the same inodes.
>
>> The garbage collector prints that "currently hard linking saves
>> 3717.77 MiB". With a 40GB hard drive, the gnu store regularly fills
>> up all the available space if I'm not careful. I found from an old
>> issue (https://issues.guix.gnu.org/24937#1) that 10 millions links
>> should need around 700 MB, so this sounds like a bug.
>
> Note that the issue you mention was addressed to a large extent in 2021:
>
> https://issues.guix.gnu.org/24937#20
>

Closing, as this is working as intended. If you do not wish to use the
guix-daemon deduplication feature, you can provide it with the
'--disable-deduplication', with the caveat that your hard drive may be
filled even faster :-).

--
Thanks,
Maxim
Closed
?