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>
