Recovering loss of /var/db/pkg ?

Volodymyr Kostyrko c.kworr at gmail.com
Sat Aug 8 06:54:14 UTC 2009


Mark Stosberg wrote:
> I'll just say it plainly:
> 
> /var/db/pkg is long gone and there is no backup. It was not copied to  
> new a machine.
> 
> Is there is any hope of being able to use the ports or packages system in a
> meangingful way again?
> 
> My sense is that some recovery is possible, but may be prohibitively expensive.
> 
> Thanks for any tips!

There are a lot of common places the files would be installed such as 
bin, sbin, lib, libexec under %%PREFIX%%. You can use `find dir -type f 
| xargs -n1 -Ifoo sh -c "echo -n foo:; pkg_which foo"` to obtain the 
list of known files (pkg_which is part of ports-mgmt/portsupgrade). 
After that you can reinstall all packages that provide files with 
missing origin. I bet you should use the same /usr/ports you have last 
time when /var/db/pkg was full, just to be very close to pkg-plist.

Other ways can include moving all %%PREFIX%% to %%PREFIX%%.old and 
building all ports from scratch.

-- 
Sphinx of black quartz judge my vow.



More information about the freebsd-questions mailing list