On 11/03/2011 04:15 AM, "Paweł Hajdan, Jr." wrote: > Shouldn't portage offer some means to recover from a corrupted vdb? > > I just stumbled upon > <http://forums.gentoo.org/viewtopic-t-900382-start-0-postdays-0-postorder-asc-highlight-.html> > and it seems really bad. > > It would suck if the only solution to this is reinstall (I remember > package database becoming corrupted in some RPM-based distro I had years > ago and I hated it).
Your best protection is to have a redundant backup on a separate disk. When I do updates, I always clone my root partition to another partition on a separate disk and chroot into that for the updates, and I keep that spare partition as a backup in case one of my disks fails. For cloning, a command like `rsync -axH --delete / /mnt/backup_rootfs/` works well for me. I've also used btrfs subvolume snapshots for quick and efficient cloning of my root filesystem, but that doesn't give the kind of redundancy that a separate filesystem on a separate disk gives. > If the recovery is already possible, we should get a doc explaining what > to do. Otherwise it'd be really great to implement some recovery logic. > > I think we can't salvage much from a corrupted db (anything can happen, > and the reporter mentions some code being present in the files), but at > least "emerge -e world" or equivalent should be possible. Due to circular dependencies, you need a seed vdb to start with. If you don't have a redundant backup, another option would be to simply remove the corrupt /var/db/pkg and replace it with a copy from a stage3 tarball. -- Thanks, Zac
