unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Newbie: Error when using "guix gc -D" to delete directory in /gnu/store
@ 2023-03-19  0:33 Rodrigo Morales
  2023-03-19  6:36 ` Julien Lepiller
  0 siblings, 1 reply; 3+ messages in thread
From: Rodrigo Morales @ 2023-03-19  0:33 UTC (permalink / raw)
  To: help-guix

Table of Contents
_________________

1. The context
2. What I've tried
3. Additional information
4. The question


1 The context
=============

  I had previously installed the package `rime-data'. One of the files
  that is installed by that package is called `wubi86.dict.yaml'.

  I'm currently experimenting with `ibus' and I need all files that
  exist in `/gnu/store' that are called `wubi86.dict.yaml' to be deleted
  from my system. I've located those files, but when I try to delete
  those files, I get the following error

  ,----
  | guix gc -D /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
  `----

  ,----
  | finding garbage collector roots...
  | guix gc: error: cannot delete path
`/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile' since it is still
alive
  `----

  See next section to see what I've tried to delete those directories.


2 What I've tried
=================

  I know how to locate all files that are called `wubi86,dict.yaml' and
  are located under `/gnu/store'

  ,----
  | sudo updatedb
  `----

  ,----
  | locate 'wubi86.dict.yaml'
  `----

  ,----
  |
/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile/share/rime-data/wubi86.dict.yaml
  |
/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802/share/rime-data/wubi86.dict.yaml
  |
/gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile/share/rime-data/wubi86.dict.yaml
  `----

  If I try to delete any of those directories using `guix gc -D', I get
  the same error (please see code blocks below)

  ,----
  | guix gc -D /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
  `----

  ,----
  | finding garbage collector roots...
  | guix gc: error: cannot delete path
`/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile' since it is still
alive
  `----

  ,----
  | guix gc -D
/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802
  `----

  ,----
  | finding garbage collector roots...
  | guix gc: error: cannot delete path
`/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802' since
it is still alive
  `----

  ,----
  | guix gc -D /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile/
  `----

  ,----
  | finding garbage collector roots...
  | guix gc: error: cannot delete path
`/gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile' since it is still
alive
  `----


3 Additional information
========================

  I found [this thread] in the help-guix mailing list on the same
  topic. In [this reply], someone mentions that it is possible to list
  the referrers to see which directories are pointing to those
  directories. This is the output of those command.

  For the two directories that end in `*-profile', `guix gc --referrers'
  print the directory itself.

  ,----
  | guix gc --referrers /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
  `----

  ,----
  | /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
  `----

  ,----
  | guix gc --referrers /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile/
  `----

  ,----
  | /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile
  `----

  For the directory, that has the files from the package, a lot of files
  ending with `drv' is shown.

  ,----
  | guix gc --referrers
/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802
  `----

  ,----
  | /gnu/store/0wr0x4v73wiks87843njqqf590fm0xix-glib-schemas.drv
  | /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
  | /gnu/store/4zpl6kqdb1ppnc0a1wbh50az8bhnzc4z-gtk-icon-themes.drv
  | /gnu/store/7qjr2v4w4m8kp1mzax2w840mg489120m-emacs-subdirs.drv
  | /gnu/store/8qjbmddr1x6v4pjwxm8i5alslxb7ca43-profile.drv
  | /gnu/store/8ziy5i9svd645iinf850cnca82vb154s-ca-certificate-bundle.drv
  | /gnu/store/a8n5pfdh03lwfrcpp6823bnwlgh5in13-xdg-desktop-database.drv
  | /gnu/store/ascqql7fl3c7r784hpnqcam3x8f78dmg-info-dir.drv
  | /gnu/store/bwlk4j71l97vk84pzdddra2fpvn9zvj5-fonts-dir.drv
  | /gnu/store/d9dhmxg8b87jj8n797vyabdc2dimr2aw-ibus-rime-1.5.0
  | /gnu/store/h4qckgajdkz7rm8yrwrxqv882mr1mnnm-emacs-rime-1.0.5
  |
/gnu/store/hlrfay6rcgh9c5wzzcj7wf7iwzf87msc-gdk-pixbuf-loaders-cache-file.drv
  | /gnu/store/nbhwrpx1py3j4sivysv6xi5s4hx4ziqz-gtk-im-modules.drv
  | /gnu/store/px3idmv8x0ws0zs2n7scgbi302af7iaw-xdg-mime-database.drv
  | /gnu/store/qczdrj7c8wyszygw78yi9ngz46lhyylv-ibus-rime-1.5.0
  | /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile
  `----


[this thread]
<https://lists.gnu.org/archive/html/help-guix/2016-05/msg00043.html>

[this reply]
<https://lists.gnu.org/archive/html/help-guix/2016-05/msg00048.html>


4 The question
==============

  How can I get rid of those three directories in `/gnu/store/' [1] so
  that I can make sure that my system has no file called
  `wubi86.dict.yaml'?

  [1] Namely
  + `/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile'
  + `/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802'
  + `/gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile'

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

* Re: Newbie: Error when using "guix gc -D" to delete directory in /gnu/store
  2023-03-19  0:33 Newbie: Error when using "guix gc -D" to delete directory in /gnu/store Rodrigo Morales
@ 2023-03-19  6:36 ` Julien Lepiller
  2023-04-03 22:09   ` Simon Tournier
  0 siblings, 1 reply; 3+ messages in thread
From: Julien Lepiller @ 2023-03-19  6:36 UTC (permalink / raw)
  To: help-guix, Rodrigo Morales

First of all, you don't need to delete these files. Even if they exist in the store, they won't be foumd by other software unless they are currently installed in one of your profiles.

The error you get when you try to delete them means that one of the generations of one of your profiles still has a reference to them. You should have a look at the symlinks at /var/guix/profiles to fehure out which profile and which generetion that is.

Le 19 mars 2023 01:33:56 GMT+01:00, Rodrigo Morales <moralesrodrigo1100@gmail.com> a écrit :
>Table of Contents
>_________________
>
>1. The context
>2. What I've tried
>3. Additional information
>4. The question
>
>
>1 The context
>=============
>
>  I had previously installed the package `rime-data'. One of the files
>  that is installed by that package is called `wubi86.dict.yaml'.
>
>  I'm currently experimenting with `ibus' and I need all files that
>  exist in `/gnu/store' that are called `wubi86.dict.yaml' to be deleted
>  from my system. I've located those files, but when I try to delete
>  those files, I get the following error
>
>  ,----
>  | guix gc -D /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
>  `----
>
>  ,----
>  | finding garbage collector roots...
>  | guix gc: error: cannot delete path
>`/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile' since it is still
>alive
>  `----
>
>  See next section to see what I've tried to delete those directories.
>
>
>2 What I've tried
>=================
>
>  I know how to locate all files that are called `wubi86,dict.yaml' and
>  are located under `/gnu/store'
>
>  ,----
>  | sudo updatedb
>  `----
>
>  ,----
>  | locate 'wubi86.dict.yaml'
>  `----
>
>  ,----
>  |
>/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile/share/rime-data/wubi86.dict.yaml
>  |
>/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802/share/rime-data/wubi86.dict.yaml
>  |
>/gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile/share/rime-data/wubi86.dict.yaml
>  `----
>
>  If I try to delete any of those directories using `guix gc -D', I get
>  the same error (please see code blocks below)
>
>  ,----
>  | guix gc -D /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
>  `----
>
>  ,----
>  | finding garbage collector roots...
>  | guix gc: error: cannot delete path
>`/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile' since it is still
>alive
>  `----
>
>  ,----
>  | guix gc -D
>/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802
>  `----
>
>  ,----
>  | finding garbage collector roots...
>  | guix gc: error: cannot delete path
>`/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802' since
>it is still alive
>  `----
>
>  ,----
>  | guix gc -D /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile/
>  `----
>
>  ,----
>  | finding garbage collector roots...
>  | guix gc: error: cannot delete path
>`/gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile' since it is still
>alive
>  `----
>
>
>3 Additional information
>========================
>
>  I found [this thread] in the help-guix mailing list on the same
>  topic. In [this reply], someone mentions that it is possible to list
>  the referrers to see which directories are pointing to those
>  directories. This is the output of those command.
>
>  For the two directories that end in `*-profile', `guix gc --referrers'
>  print the directory itself.
>
>  ,----
>  | guix gc --referrers /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
>  `----
>
>  ,----
>  | /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
>  `----
>
>  ,----
>  | guix gc --referrers /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile/
>  `----
>
>  ,----
>  | /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile
>  `----
>
>  For the directory, that has the files from the package, a lot of files
>  ending with `drv' is shown.
>
>  ,----
>  | guix gc --referrers
>/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802
>  `----
>
>  ,----
>  | /gnu/store/0wr0x4v73wiks87843njqqf590fm0xix-glib-schemas.drv
>  | /gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile
>  | /gnu/store/4zpl6kqdb1ppnc0a1wbh50az8bhnzc4z-gtk-icon-themes.drv
>  | /gnu/store/7qjr2v4w4m8kp1mzax2w840mg489120m-emacs-subdirs.drv
>  | /gnu/store/8qjbmddr1x6v4pjwxm8i5alslxb7ca43-profile.drv
>  | /gnu/store/8ziy5i9svd645iinf850cnca82vb154s-ca-certificate-bundle.drv
>  | /gnu/store/a8n5pfdh03lwfrcpp6823bnwlgh5in13-xdg-desktop-database.drv
>  | /gnu/store/ascqql7fl3c7r784hpnqcam3x8f78dmg-info-dir.drv
>  | /gnu/store/bwlk4j71l97vk84pzdddra2fpvn9zvj5-fonts-dir.drv
>  | /gnu/store/d9dhmxg8b87jj8n797vyabdc2dimr2aw-ibus-rime-1.5.0
>  | /gnu/store/h4qckgajdkz7rm8yrwrxqv882mr1mnnm-emacs-rime-1.0.5
>  |
>/gnu/store/hlrfay6rcgh9c5wzzcj7wf7iwzf87msc-gdk-pixbuf-loaders-cache-file.drv
>  | /gnu/store/nbhwrpx1py3j4sivysv6xi5s4hx4ziqz-gtk-im-modules.drv
>  | /gnu/store/px3idmv8x0ws0zs2n7scgbi302af7iaw-xdg-mime-database.drv
>  | /gnu/store/qczdrj7c8wyszygw78yi9ngz46lhyylv-ibus-rime-1.5.0
>  | /gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile
>  `----
>
>
>[this thread]
><https://lists.gnu.org/archive/html/help-guix/2016-05/msg00043.html>
>
>[this reply]
><https://lists.gnu.org/archive/html/help-guix/2016-05/msg00048.html>
>
>
>4 The question
>==============
>
>  How can I get rid of those three directories in `/gnu/store/' [1] so
>  that I can make sure that my system has no file called
>  `wubi86.dict.yaml'?
>
>  [1] Namely
>  + `/gnu/store/252h4ryvdj3d3bgnm1v47s7838wn86nz-profile'
>  + `/gnu/store/b3f1s6nnj1rg7szcmb3n3y194ayhfgja-rime-data-0.38.20210802'
>  + `/gnu/store/zj0cf20jk3qgl12451znx1n8rj13z2jg-profile'


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

* Re: Newbie: Error when using "guix gc -D" to delete directory in /gnu/store
  2023-03-19  6:36 ` Julien Lepiller
@ 2023-04-03 22:09   ` Simon Tournier
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Tournier @ 2023-04-03 22:09 UTC (permalink / raw)
  To: Julien Lepiller, help-guix, Rodrigo Morales

Hi,

On Sun, 19 Mar 2023 at 07:36, Julien Lepiller <julien@lepiller.eu> wrote:
> First of all, you don't need to delete these files. Even if they exist
> in the store, they won't be foumd by other software unless they are
> currently installed in one of your profiles. 
>
> The error you get when you try to delete them means that one of the
> generations of one of your profiles still has a reference to them. You
> should have a look at the symlinks at /var/guix/profiles to fehure out
> which profile and which generetion that is. 

For listing all your profiles, you can run:

    guix package --list-profiles

Well, you could run something like:

    for p in $(guix package --list-profiles);
    do
       echo $p;
       guix package -p $p --list-generations | grep rime-data
    ;done

so you will find in which profile you installed and removed the package
rime-data.  Then, ’guix package -p path/to/that/profile -l’ will list
all the generations.  Depending on context, you can delete the
generations containing the package rime-data; see “guix package
--delete-generations”.

Last, “guix gc -D” should work as expected.

Please note that the corollary of your annoyance is that you are still
able to switch to a specific generation of some profile containing the
package ’rime-data’ without doing anything more (download or else).

Cheers,
simon




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

end of thread, other threads:[~2023-04-04 11:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-19  0:33 Newbie: Error when using "guix gc -D" to delete directory in /gnu/store Rodrigo Morales
2023-03-19  6:36 ` Julien Lepiller
2023-04-03 22:09   ` Simon Tournier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).