fsck ein Dateisystem in einer Datei

7

Ich habe ein Dateisystem wie folgt erstellt:

dd if=/dev/zero of=disk-image count=40960

Dateisystem wird mit folgendem erstellt:

/sbin/mkfs -t ext3 -q disk-image

Ich habe dann einige Testdateien gemountet und kopiert und wie folgt gemountet:

mount -o loop disk.image foo
cp "something" foo
sudo umount foo

Ich führe dann eine aus, e2fsck -c -c disk-imagedie zurückkehrt

"Pass 1: Checking inodes, blocks, and sizes
Inode 185, i_size is 16384, should be 17408.  Fix<y>? yes 

Meine Frage, da dies eine Datei und kein Blockgerät ist, ist die obige Warnung, über die ich mir Sorgen machen sollte.

Wie macht man ein fsck auf einem Dateisystem, das sich in einer Datei befindet?

user124464
quelle

Antworten:

12

Sie führen e2fsckdie Image-Datei einfach aus und geben sie an, genau wie bei einem Blockgerät. Ich bin nicht sicher, warum Sie die -cOption verwenden (dies prüft auf Badblocks).

% e2fsck -f ext3.img
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
ext3.img: 11/25688 files (0.0% non-contiguous), 8913/102400 blocks
mgorven
quelle
Ist die Option -c für e2fsck überhaupt gültig, da dies eine Datei und kein Blockgerät ist?
user124464
1
@ user124464 Es ist immer noch gültig, dass e2fsckder Badblocks-Test durchgeführt wird, wenn Sie es anweisen , aber es gibt keinen wirklichen Grund, ihn zu verwenden.
mgorven
Ich habe einen Benutzer, der an den fehlerhaften Blöcken hängt, die von e2fsck -c zurückgegeben werden. Gibt es einen Link oder eine Erklärung, warum -c nicht die richtige Option ist? Ich habe versucht zu erklären, dass Sie sich keine Sorgen über den Fehler machen müssen, da es sich um eine Datei handelt, die kein Blockgerät ist.
user124464