Wie gehts man mit fsck richtig um?

SpecialAgent

BSD Trainee
Hallo,

ist auf jeden Fall ne dumme Frage aber ich bin ein wenig schissig... will mich nur absichern! :belehren:

Hab auch schon im Handbuch und hier in den Foren gesucht aber nix richtiges gefunden.

Also wenn ich fsck ohne Parameter ausführe kommt folgendes:

Code:
[root@bsd /]# fsck
** /dev/ad0s1a (NO WRITE)
** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
3816 files, 41515 used, 57548 free (212 frags, 7167 blocks, 0.2% fragmentation)
** /dev/ad0s1d (NO WRITE)
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

52 files, 3114 used, 250701 free (29 frags, 31334 blocks, 0.0% fragmentation)
** /dev/ad0s1f (NO WRITE)
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
^C

hab frühzeitig abgebrochen.

also hier die erste Fehlermeldung:

Code:
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

a) Wieso beantwortet er das direkt selber?
b) Wieso sagt er auch direkt zu sich selber no wenn ich den -y Parameter mit übergebe?
c) Was bedeutet die Fehlermeldung?
d) Wie reparier ich das wenns fsck nich machen will?

Hab noch ein paar andere Fehlermeldungen (komplette Ausgabe von fsck):

Code:
[root@bsd /]# fsck
** /dev/ad0s1a (NO WRITE)
** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
3816 files, 41515 used, 57548 free (212 frags, 7167 blocks, 0.2% fragmentation)
** /dev/ad0s1d (NO WRITE)
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

52 files, 3114 used, 250701 free (29 frags, 31334 blocks, 0.0% fragmentation)
** /dev/ad0s1f (NO WRITE)
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
INCORRECT BLOCK COUNT I=5157988 (1261536 should be 1261472)
CORRECT? no

** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

SUMMARY INFORMATION BAD
SALVAGE? no

BLK(S) MISSING IN BIT MAPS
SALVAGE? no

217272 files, 42398976 used, 13287315 free (60019 frags, 1653412 blocks, 0.1% fragmentation)
** /dev/ad0s1e (NO WRITE)
** Last Mounted on /var
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE I=47299  OWNER=mysql MODE=100600
SIZE=0 MTIME=Sep 16 16:11 2006 
CLEAR? no

UNREF FILE I=47304  OWNER=mysql MODE=100600
SIZE=0 MTIME=Sep 16 16:11 2006 
CLEAR? no

UNREF FILE I=47305  OWNER=mysql MODE=100600
SIZE=0 MTIME=Sep 16 16:11 2006 
CLEAR? no

UNREF FILE I=47306  OWNER=mysql MODE=100600
SIZE=0 MTIME=Sep 16 16:11 2006 
CLEAR? no

UNREF FILE I=47307  OWNER=mysql MODE=100600
SIZE=0 MTIME=Sep 16 16:11 2006 
CLEAR? no

** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

17310 files, 71461 used, 422739 free (4331 frags, 52301 blocks, 0.9% fragmentation)
** /dev/ad1s1d (NO WRITE)
** Last Mounted on /usr/home/martin
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

416121 files, 120671141 used, 21295735 free (54007 frags, 2655216 blocks, 0.0% fragmentation)

Also wie ihr seht habe ich einige Fehler...

Wie bekomme ich meine Festplatte ohne Datenverlust wieder Fehlerfrei?

Danke euch.
 
Dein Shellprompt lässt vermuten, das du fsck im multi-user ausführst. Nur ums erwähnt zu haben: führe fsck _nie_ auf einer eingehangenen Partition aus. Das er dir Inkonsistenzen anzeigt ist wegen dem verzögerten Schreiben ganz klar, und du kannst dir damit ordentlich ins Bein schiessen.
 
Ahh... danke für den Tipp... also muss ich dem fsck beim neustarten mal manuell sagen dass er es auf jeden fall beim nächsten mal machen soll.... was meintest du mit dem multi user mode? Klar... hab den ganz normal nach dem einloggen über ssh gestartet...
 
Mit multi-user meinte ich eben den "normalzustand" das Systems. Es gibt allerdings auch einen Singleusermodus, indem nur die wichtigsten Prozesse laufen und nur ein virtuelles Terminal zur Verfügung steht. Auch ist hier meistens nur / gemountet. Der Single-User-Modus ist eben dazu da etwas zu reparieren, wenn irgendwas _sehr_ schief gelaufen ist. Aber guck ins Handbuch, da sollte einiges dazu stehen.

Ich bin drauf gekommen das du nicht in diesem Modus bist, da du im Singleuser nur eine spartanische sh gestartet bekommst, und da ist der Prompt schlicht "#". Ich schlussfolgerte das du im Mehrbenutzermodus bist aufgrund des Shellprompts und leitete daraus ab, das du evtl. noch deine zu fsck'ende Partition eingehangen hast. ;-)

Wenn Du in den Single-User Modus willst, tut das ein "shutdown now", aber bitte unmounte dann deine Partitionen (umount -a). Fröhliches fsck.

PS: Natürlich kannst du auch im Mehrbenutzermodus fsck'en, aber wie gesagt - häng die Partition vorher aus.

PSS: Der Grund warum alle Deine Fragen automatisch mit nein beantwortet wurden ist eben genau der, das die Partition eingehangen war (ich habs grad eben erst beim gründlichen lesen gecheckt):
Code:
[root@bsd /]# fsck
** /dev/ad0s1a [b](NO WRITE)[/b]
 
Ahh... danke für die Tipps... ja im Single User Mode und umount -a pariert fsck sehr fein! :-) So hab alles mal mit Ja beantworten lassen und sollte jetzt alles repariert sein.

Eine Frage hätte ich da noch... er sagt zum Schluss "FILE SYSTEM WAS MODIFIED"....

...ja... sehr schön diese Aussage... nur wieso ist die groß geschrieben? #
Hab ich noch irgendwas zu beachten als das er mich darauf so dermaßen Aufmerksam macht?

Danke.
 
Nur der klarstellend und der Vollstaendigkeit halber (steinex hats schon anklingen lassen): man kann fsck natuerlich auch jederzeit im Multiuser Modus ausfuehren. Relevant ist einzig, dass das betreffende Filesystem nicht in Benutzung (d.h. nicht gemountet) ist. Da letzteres im Multiuser Modus allerdings meistens, wenn nicht gar zwingend, der Fall ist, ergibt sich mittelbar das Erfordernis, den fsck im Singleuser Modus durchzufuehren, um dieses vorher erfolgreich aushaengen zu koennen. Kann ich das Filesystem hingegen erfolgreich abmounten bzw. ist dieses gar nicht erst gemountet, besteht fuer den Singleuser Modus kein Anlass.

PS: klingt immer bissel nach Klugscheisser, wenn man solche Nachtraege unter fremde Threads schreibt, aber ich habs in bester Absicht getan ;-).
 
Zurück
Oben