Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Nov 2006 09:42:01 -0500
From:      "Andy Greenwood" <greenwood.andy@gmail.com>
To:        "Eric Schuele" <e.schuele@computer.org>
Cc:        freebsd@orchid.homeunix.org, "illoai@gmail.com" <illoai@gmail.com>, freebsd-questions@freebsd.org
Subject:   Re: /var corrupted.....
Message-ID:  <3ee9ca710611030642pa40318bl5412badda93aebfc@mail.gmail.com>
In-Reply-To: <454AC644.3080201@computer.org>
References:  <1162399232.4866.25.camel@ugly> <4548D3DC.3060902@orchid.homeunix.org> <454A0699.2000904@computer.org> <d7195cff0611020821g5263e059ga3f79d1a6c927496@mail.gmail.com> <454AC644.3080201@computer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
couldn't you do something like this?

1) install all your "big" ports (leafs with lots of dependancies)
2) run this to get a list of depedancy ports which should already be
there, just not in /var/db/pkg

# pkg_info -ar | awk '/Dependency:/ {print $2}'|sort|uniq

3) "install" these ports so that they get added to /var/db/pkg.

Seems like this should work, am I missing something?

On 11/2/06, Eric Schuele <e.schuele@computer.org> wrote:
> On 11/02/2006 10:21, illoai@gmail.com wrote:
> > On 11/2/06, Eric Schuele <e.schuele@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.
>
> Thanks.  Good ideas.  I'll play with this when I have time.  But after
> using mtree to recreate the structure in /var (off the / filesystem),
> things came back online pretty well.  I'll most likely get things put
> back together and then just recreate the /var filesystem and copy
> everything back into it.
>
> >
> > *(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.
> >
>
> I'm presently doing this now.  I have reinstalled most, if not all, top
> level ports and will be running through `pkgdb -F` tomorrow.  I suspect
> that will take a fair amount of time.
>
> Thanks.
> --
> Regards,
> Eric
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"
>


-- 
I'm nerdy in the extreme and whiter than sour cream



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3ee9ca710611030642pa40318bl5412badda93aebfc>