[Nix-dev] --ignore-liveness when nix-store --delete'ing
Eelco Dolstra
eelco.dolstra at logicblox.com
Thu Jul 2 17:22:37 CEST 2015
Hi,
On 02/07/15 17:12, stewart mackenzie wrote:
> Please do not run this command:
>
> nix-store --delete --ignore-liveness /nix/store/hash-gnutar-version
>
> I have exactly this issue: http://pastebin.com/z5k8bxWQ and wanted to
> selectively delete the troublesome gnutar package.
>
> The above command completely and utterly borked my system. It started deleteing
> my entire environment, I was left with a terminal that didn't understand 'ls' or
> and other command, though I could change directory. I could not run any nix*
> command.
>
> Ah! No problem! I thought, I'll just restart into another generation.
>
> So grateful manner I say: Thank you dearly for such a well designed system.
> These generations are insanely great.
>
> 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.
--
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/
More information about the nix-dev
mailing list