[Top][All Lists]

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

Re: Install `guix pull'ed Guix to target partition on system install

From: Pierre Neidhardt
Subject: Re: Install `guix pull'ed Guix to target partition on system install
Date: Mon, 21 Dec 2020 17:49:11 +0100

zimoun <> writes:

> Therefore, the missing store items from the RAM store could be
> transferred to installation target via ‘guix archive’.

But I don't think `guix pull' looks for a repository in the store.

> But I am
> surprised that after rebooting this /gnu/store misses items that you
> need when you run “guix pull” as root.

This is not surprising: when you run "guix pull" from an installation
media, there is no /gnu/store on the disk since Guix hasn't been
installed to the disk yet.

> What I miss in your problem is:
>   # guix pull # writes in memory (1)
>   # guix system init 
>   # reboot                       
>   # guix pull # writes in disk   (2)
>   $ guix pull # writes in disk   (3)

No need for 3.

> (1) is slow,  (2) should not clone.  Is (2) cloning?

1: yes.
2: It would be nice if it could reuse the checkout from 1.

> What you are proposing is to improve (3), right?

No, 2.

> Instead of cloning
> from Savannah and so populate ~/.cache/guix/checkouts, you are proposing
> that between (1) and (3), «something» creates a store item with the full
> clone from Savannah, then (3) copies from this store item to
> ~/.cache/guix/checkouts if it does not exist, and run “git pull”
> there.

Correct but with (2) instead of (3).

> But I do not think the “cloning” part is the consuming one here; even if
> it obviously depends on the network.

On a 6 Mbit/s connection and a modest laptop, this took about 30
The Guix checkout is huge.

Maybe a shallow clone could fix this, but since we've added the
introduction commit I don't think it's possible.

> And it is does only once in life. ;-)

Do you mean installation is something done only once?
I beg to differ, I've been using Guix for 2.5 years and already
installed it a dozen of times.

> Example with a poor network via my smartphone:
> --8<---------------cut here---------------start------------->8---

> [...]

> $ rm -fr 
> ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq 
> $ time guix pull
> Updating channel 'guix' from Git repository at 
> ''...
> Building from this channel:
>   guix 5ecc0b1
> Computing Guix derivation for 'x86_64-linux'... -
> nothing to be done
> hint: After setting `PATH', run `hash guix' to make sure your shell refers to 
> `/home/simon/.config//guix/current/bin/guix'.
> real  4m15.202s
> user  3m8.522s
> sys   0m5.010s
> --8<---------------cut here---------------end--------------->8---

I wouldn't call this a poor network ;)
You can go much worse than that, in my case it took around half an hour.


Pierre Neidhardt

Attachment: signature.asc
Description: PGP signature

reply via email to

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