From owner-freebsd-questions@FreeBSD.ORG Thu Nov 2 16:21:52 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2C52216A47C for ; Thu, 2 Nov 2006 16:21:52 +0000 (UTC) (envelope-from illoai@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.190]) by mx1.FreeBSD.org (Postfix) with ESMTP id 733C743D75 for ; Thu, 2 Nov 2006 16:21:50 +0000 (GMT) (envelope-from illoai@gmail.com) Received: by nf-out-0910.google.com with SMTP id p77so1052551nfc for ; Thu, 02 Nov 2006 08:21:49 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=OZvFb6KJAdKUij/3a9pSirFOBUAwntWReKGqa16tXp/GjzKryuF8oKptuX4ox2K7q0pSon90+kB8CMHPSH91qsXH4mkEnsZFgd14aQi66so5+Lr79EbpCiAyvtJx4rAlksXBYt6wXus/vQl266NvPXrHR4jkBkGtwchvXZiSAeQ= Received: by 10.82.147.6 with SMTP id u6mr236003bud.1162484508456; Thu, 02 Nov 2006 08:21:48 -0800 (PST) Received: by 10.82.175.1 with HTTP; Thu, 2 Nov 2006 08:21:48 -0800 (PST) Message-ID: Date: Thu, 2 Nov 2006 10:21:48 -0600 From: "illoai@gmail.com" To: "Eric Schuele" In-Reply-To: <454A0699.2000904@computer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1162399232.4866.25.camel@ugly> <4548D3DC.3060902@orchid.homeunix.org> <454A0699.2000904@computer.org> Cc: freebsd@orchid.homeunix.org, freebsd-questions@freebsd.org Subject: Re: /var corrupted..... X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 16:21:52 -0000 On 11/2/06, Eric Schuele 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. -- --