From mboxrd@z Thu Jan 1 00:00:00 1970 From: huang ying Subject: Re: How to delete system generations? Date: Mon, 9 Jan 2017 09:13:14 +0800 Message-ID: References: <87lgultgxd.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cQOWV-0006or-6o for help-guix@gnu.org; Sun, 08 Jan 2017 20:13:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cQOWT-0000Vw-SD for help-guix@gnu.org; Sun, 08 Jan 2017 20:13:19 -0500 In-Reply-To: <87lgultgxd.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: help-guix@gnu.org Hi, Ludo, Thanks for help! On Mon, Jan 9, 2017 at 4:50 AM, Ludovic Court=C3=A8s wrote: > Hello, > > huang ying skribis: > >> For package, there is >> >> $ guix package --delete-generations >> >> But, for system, I don't find similar stuff? Is there something for tha= t? > > 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/s= bin >> 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=E2=80=99s 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 =E2=80=98guix gc --verify=3Dconten= ts,repair=E2=80=99: > > https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-gc.htm= l > > That will check the integrity of each item in /gnu/store (thus it=E2=80= =99s 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=E2=80=99s reall= y 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