[Nix-dev] --ignore-liveness when nix-store --delete'ing

stewart mackenzie setori88 at gmail.com
Thu Jul 2 17:32:37 CEST 2015


On Thu, Jul 2, 2015 at 11:22 PM, Eelco Dolstra
<eelco.dolstra at logicblox.com> wrote:
>> So ... is this --ignore-liveness expected behaviour?
>
> Sort of. "nix-store --delete <PATH>" will delete paths that refer to <PATH>,
> provided that those paths are themselves garbage, in order to make <PATH>
> deletable. But if you pass --ignore-liveness, the referrer closure will be
> deleted unconditionally.
>
> However, I do notice that the nix-store manpage incorrectly states that the
> existence of referring paths will prevent deletion.

Okay it was my expectation that just that closure would be deleted.
But indeed it ripped through my entire env deleting everything in it's
path.

I had to go back a couple of generations and now when I run:
"sudo nixos-rebuild --upgrade --repair switch"
I get this output

....
checking path ‘/nix/store/zz7ph09vb3mbpy79h8vf6ksh0ll32zhm-libcap-2.24’...
checking path ‘/nix/store/zzf5i155cyq8npp0h3lq1avvac230z6p-haskell-exceptions-0.8.0.2’...
checking path ‘/nix/store/zzg7bz3afjxwn5dvbdxn0dh11rhh7l07-xz-5.2.1’...
checking path ‘/nix/store/zzjmzg5xpns5mcnj01ss6qsd4yj706zh-openssl-1.0.1m’...
updating GRUB 2 menu...
fileparse(): need a valid pathname at
/nix/store/70clp9yc2js4cvgr1hgnq58mvh9jp7vl-install-grub.pl line 379.
warning: error(s) occured while switching to the new configuration

So at least I can get into an environment but upgrading seems tricky.

Please be careful when testing this.

Any advice?


More information about the nix-dev mailing list