[vox-tech] questions about filesystem recovery
Michael Wenk
vox-tech@lists.lugod.org
Sat, 3 May 2003 12:54:01 -0700
On Saturday 03 May 2003 12:10 pm, Peter Jay Salzman wrote:
> 1. what's the difference between e2fsck's -y and -p options? it looks like
> the both answer "yes" to all of fsck's questions.
The difference is with the -p option, fsck is not supposed to make any
destructive changes. It won't delete files, nor will it reattach files that
have been orphaned. This is the option that fsck runs on reboot when the
file system is marked as dirty. In journaled filesystems, I believe all -p
does is read the journal log and compare the journal to the meta structures
on disk(which is very fast.) Now, the -y option to fsck will answer yes to
every question fsck asks you. This will mean the fsck will delete files if
needed, reattach, etc. Normally you don't want to answer no to fsck, so -y
is ok. However there are certain instances which you do want to answer no to
fsck. The only instance I personally have encountered was on SunOS 4.1.3,
with a massively corrupt superblock(fsck wanted to do evil things with my
filesystem.)
> 2. how do you get the official blocksize of a partition? i know you can
> use mke2fs to print out the blocksize and superblocks that WOULD have been
> created had you created a filesystem (the -n option), but this isn't really
> getting the blocksize off a partition that's already created.
I think tune2fs is what you're looking for. You could also read the
superblock in programatically and then pull out what info you want. Checkout
/usr/include/linux/ext2_fs.h You could also check out in /proc. I use
reiserfs, so my fs info is in /proc/fs/resierfs/ideX/... I found the
blocksize in the on-disk-super file.
>
> and what is the "standard default" blocksize for ext3? 4096 bytes,
> right?
I believe so. I very minimal experience with ext3 fs.
> 3. how do you read man pages when your whole filesystem is mounted read
> only?
nroff -man X | more will work even if man does not.
>
> 4. someone had posted a script to reinstall all debian packages. tried to
> find it in the archives, but couldn't. so wrote this, and would like to
> know if there are any issues that people can think of before running it:
>
> #!/usr/bin/perl -w
> use strict;
> use diagnostics;
>
> my @debs = `dpkg --get-selections | sed 's/[ \t].*//g'`;
> my $options = 'install --reinstall --assume-yes';
>
>
> foreach (@debs) { grep chomp, @debs; }
> print "\nThere are $#debs selections\n";
>
>
> foreach (@debs)
> {
> print("apt-get $options $_\n");
> # system('apt-get', "$options", "$_");
> }
>
> one question i have -- i really don't want dpkg to overwrite my
> tweaked config files (a substantial number of them). on the other hand,
> i definitely want to tell apt-get "yes" when it asks if i really want to
> reinstall the package.
>
> i used the --assume-yes option, but i'm starting to think it's
> going to answer "yes" to dpkg's "should i overwrite your config files
> with my copy" question.
>
> is there a way to automatically tell apt-get "yes" to "should i
> really reinstall the package" but "no" to dpkg's "should i overwrite
> your modified config file with my own?"
>
> any possible gotcha's that anyone can think of before i run it?
No idea about this one....
--
wenk@praxis.homedns.org
Mike Wenk