/var corrupted.....
illoai at gmail.com
illoai at gmail.com
Thu Nov 2 16:21:52 UTC 2006
On 11/2/06, Eric Schuele <e.schuele at computer.org> wrote:
> On 11/01/2006 11:05, Karol Kwiatkowski wrote:
> > On 01/11/2006 17:40, Eric Schuele wrote:
> >> Hello,
> >>
> >> [Running 6.2-PRERELEASE as of Oct 30th]
> >>
> >> My /var filesystem on my laptop died this morning.
. . .
> >> 2) If I have destroyed it what can I do at this point? I have no full
> >> backup of /var. I had nothing of any real importance on there. Some
> >> MySQL data... but I've got that. My package database comes to mind.
> >> but nothing of any personal value... just stuff to keep the OS on its
> >> feet. So... if its gone... is there anyway to create a functional /var
> >> filesystem that will allow me to "get back to work as usual"? Or is my
> >> only option a complete reinstall of everything?
. . .
> > The downside of this (option 2) is you'll loose some important
> > information about your system, /var/db/pkg comes first to my mind.
>
> With respect to the package database...
> I've seen plenty of threads from folks having lost theirs in some form
> or fashion, and the solution always seems to be "reinstall everything".
> Well, ok... sounds like a PITA, but how hard can it really be. I only
> had 30-40 "apps" installed anyway. With their deps it weighs in around
> 350 ports total. So I started to do just that. Figured I'd reinstall
> in the order I originally installed in the first place. Starting with
> Xorg. I go to the port dir and `make install`, thinking it would
> reinstall it and all its deps. No go. It does in fact reinstall Xorg,
> but none of its deps because it finds them present. Reinstalling 30-40
> apps is one things, having to manually go in and do 350... now thats a PITA!
You might be able to force mount the dirty filesystem via
mount -f
You can also try
dd if=/dev/ad0s1d of=some_dang_file_name*
And then using mdconfig to play with the resulting file.
mdconfig -t vnode -f some_dang_file_name -u 0 && \
mount -f /dev/md0c /mnt (maybe?)
If you can get the /var/db/pkg dir off nicely, good luck.
*(Note that this could take a long time on a 1 or 2G /var
as it reads all of the empty blocks as well, you might want
to hand it a bs= and a count= if you know about how much
of /var was full at the time, man dd for more details. Also
note that I have had faster results using sdd from ports)
I had a similar problem a while back and both methods
were able to read some of the data from the former /var,
however the /var/db/pkg directory was trashed and I ended
up having to fall back on the "reinstall everything" method.
My method ended up consisting of:
1) reinstalling portupgrade
2) reinstalling several high level programs (opera, mplayer,
gnumeric, any window managers, & so on)
3) pkgdb -F which one at a time reinstalls everything depended
on. Make sure you have backups of any important files in
/usr/local/etc as they may get overwritten.
--
--
More information about the freebsd-questions
mailing list