Lost /var/db/pkg

Robert Huff roberthuff at rcn.com
Wed Jun 13 12:04:00 UTC 2012


Matthew Seaman writes:

>  > I had a hard disk failure some time ago, and I ended up losing
>  > /var/db/pkg/ and everything under it (before you say I should've been
>  > backing it up, I know, I was actually doing an initial full when this
>  > happened). Is there a way I can restore it, or at least manually add
>  > entries I know for sure about?
>  
>  Reinstall all the ports on your system?  Since you've lost
>  /var/db/pkg, you won't have a handy record of what the necessary
>  packages are.  You can get a long way by starting with ports you
>  want directly (eg.  firefox) and reinstalling all of their
>  dependencies.
>  
>  It's unlikely to be completely accurate, and the system will
>  probably have odd little issues with normal ports maintenance
>  going on.  Perhaps the most effective procedure would be to wipe
>  out the contents of /usr/local and /compat/linux and just start
>  again from scratch.

	Only that's going to eradicate anything in /usr/local that a)
one wants/uses and b) wasn't put there by ports.  (Tell me you don't
have a handful of scripts which have been working happily away since
you wrote them in the early Devonian.  :-)
	A less drastic path would be to wipe out /usr/local/{lib,
libexec}, /compat/linux, and whatever directory has port-installed
docs.  
	Check /usr/local/bin, /usr/local/etc (especially rc.d/), and
/usr/local/share; many files there are named for their ports. Grep
bin/ for anything whose first line is "#! /bin/sh", and figure out
where it came from.
	_Now_ start with major prograns you know were installed  -
on my system that would be emacs, FireFox, Java, LibreOffice,
ImageMagick, and mplayer - and get out your copy of <very long
pretentious novel> - because even on a fast system you're talking
days to put everything back.


				Robert "learned the hard way" Huff


More information about the freebsd-questions mailing list