/var corrupted.....
Eric Schuele
e.schuele at computer.org
Fri Nov 3 15:50:05 UTC 2006
On 11/03/2006 08:42, Andy Greenwood wrote:
> 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?
I think the above would work just as well. The only difference I see is
that `pkgdb -F` is automating step 3 for me. It's determining what
dependencies are not present, and asking if I would like to install
them. This way, for example, I do not have to determine where
vte-0.14.1_1 resides and cd in there, and make it... then on to the
next.. etc.
Thanks.
>
> On 11/2/06, Eric Schuele <e.schuele at computer.org> wrote:
>> On 11/02/2006 10:21, illoai at gmail.com wrote:
>> > 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.
>>
>> 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 at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to
>> "freebsd-questions-unsubscribe at freebsd.org"
>>
>
>
--
Regards,
Eric
More information about the freebsd-questions
mailing list