all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* How to delete system generations?
@ 2017-01-08 14:01 huang ying
  2017-01-08 20:50 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: huang ying @ 2017-01-08 14:01 UTC (permalink / raw)
  To: help-guix

Hi,

For package, there is

$ guix package --delete-generations

But, for system, I don't find similar stuff?  Is there something for that?

I need that because I found the contents of the following store item is invalid,

/gnu/store/s9mrff47jfp9b3bhgv59q2kzwbmi6rl8-fatfsck-static-4.0

$ ls -l /gnu/store/s9mrff47jfp9b3bhgv59q2kzwbmi6rl8-fatfsck-static-4.0/sbin
total 0
-r-xr-xr-x 1 root root 0 Jan  1  1970 fsck.fat
lrwxrwxrwx 4 root root 8 Jan  1  1970 fsck.vfat -> fsck.fat

I want to regenerate it and the initrd.  But I don't know how.  One
way is to delete all generations depends on it, gc it, then regenerate
it.  But I don't know how to delete system generations.

Or is there some other way to work around this?

Best Regards,
Huang, Ying

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to delete system generations?
  2017-01-08 14:01 How to delete system generations? huang ying
@ 2017-01-08 20:50 ` Ludovic Courtès
  2017-01-09  1:13   ` huang ying
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2017-01-08 20:50 UTC (permalink / raw)
  To: huang ying; +Cc: help-guix

Hello,

huang ying <huang.ying.caritas@gmail.com> skribis:

> For package, there is
>
> $ guix package --delete-generations
>
> But, for system, I don't find similar stuff?  Is there something for that?

Not yet!  But you can run:

  sudo rm /var/guix/profiles/system-123-link

to delete generation 123.  Be careful to choose the right number!

> I need that because I found the contents of the following store item is invalid,
>
> /gnu/store/s9mrff47jfp9b3bhgv59q2kzwbmi6rl8-fatfsck-static-4.0
>
> $ ls -l /gnu/store/s9mrff47jfp9b3bhgv59q2kzwbmi6rl8-fatfsck-static-4.0/sbin
> total 0
> -r-xr-xr-x 1 root root 0 Jan  1  1970 fsck.fat
> lrwxrwxrwx 4 root root 8 Jan  1  1970 fsck.vfat -> fsck.fat

How do you know it’s invalid?

> I want to regenerate it and the initrd.  But I don't know how.  One
> way is to delete all generations depends on it, gc it, then regenerate
> it.  But I don't know how to delete system generations.
>
> Or is there some other way to work around this?

When the store is corrupt, you can run ‘guix gc --verify=contents,repair’:

  https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-gc.html

That will check the integrity of each item in /gnu/store (thus it’s very
I/O-intensive and can take a lot of time) and, if it finds a corrupt
item, will try to fetch a substitute to replace it.  That’s really a
last resort, though.

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to delete system generations?
  2017-01-08 20:50 ` Ludovic Courtès
@ 2017-01-09  1:13   ` huang ying
  0 siblings, 0 replies; 3+ messages in thread
From: huang ying @ 2017-01-09  1:13 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix

Hi, Ludo,

Thanks for help!

On Mon, Jan 9, 2017 at 4:50 AM, Ludovic Courtès <ludo@gnu.org> wrote:
> Hello,
>
> huang ying <huang.ying.caritas@gmail.com> skribis:
>
>> For package, there is
>>
>> $ guix package --delete-generations
>>
>> But, for system, I don't find similar stuff?  Is there something for that?
>
> Not yet!  But you can run:
>
>   sudo rm /var/guix/profiles/system-123-link
>
> to delete generation 123.  Be careful to choose the right number!

Great to know that.  It is quite simple.

>> I need that because I found the contents of the following store item is invalid,
>>
>> /gnu/store/s9mrff47jfp9b3bhgv59q2kzwbmi6rl8-fatfsck-static-4.0
>>
>> $ ls -l /gnu/store/s9mrff47jfp9b3bhgv59q2kzwbmi6rl8-fatfsck-static-4.0/sbin
>> total 0
>> -r-xr-xr-x 1 root root 0 Jan  1  1970 fsck.fat
>> lrwxrwxrwx 4 root root 8 Jan  1  1970 fsck.vfat -> fsck.fat
>
> How do you know it’s invalid?

The size of fsck.fat is 0.

Then I done some experiment to change the package via adding some
(display "") and the newly generated fatfsck-static has fsck.fat file
with non-zero size.

>> I want to regenerate it and the initrd.  But I don't know how.  One
>> way is to delete all generations depends on it, gc it, then regenerate
>> it.  But I don't know how to delete system generations.
>>
>> Or is there some other way to work around this?
>
> When the store is corrupt, you can run ‘guix gc --verify=contents,repair’:
>
>   https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-gc.html
>
> That will check the integrity of each item in /gnu/store (thus it’s very
> I/O-intensive and can take a lot of time) and, if it finds a corrupt
> item, will try to fetch a substitute to replace it.  That’s really a
> last resort, though.

Good to know this.  I will try to gc the system, so package and initrd
firstly.  That should be cheaper.

Best Regards,
Huang, Ying

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-09  1:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-08 14:01 How to delete system generations? huang ying
2017-01-08 20:50 ` Ludovic Courtès
2017-01-09  1:13   ` huang ying

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.