On 04/15/10 01:04, Miroslav Lachman:
S timhle "podezrelym" souborem mam ale trosku potiz, jelikoz to neni
textovy soubor, tak nevim, jestli mam jeho obsah kompletni, nebo spis
jestli jsem neprecetl vice bloku, nez bylo potreba.

Vic bloku asi ne, ale vic nez je v souboru skoro jiste ano. Problem je s neuplne zaplnenym poslednim blokem. Delku souboru sice vidis u inode ale nejasej - u otevreneho souboru neni jeste udaj aktualizovan. To znamena, ze tech 480872 nemusi mit s aktualni delkou mnoho spolecneho.

Nicmene, to by snad melo byt jedno - bud' dokazes pochopit co v souboru je, a pak ti patrne nebude to, ze za regulernim koncem mas nejake ty byte navic, vadit. Nebo nebudes tusit co ten obsah je - a pak ti to muze byt uz tuplem fuk.

Sel jsem na to nasledovne:
fsdb (inum: 1184376)> blocks
Blocks for inode 1184376:
Direct blocks:
4750080, 4750088, 4750096, 4750104, 4750112, 4750120, 4750128, 4750136,
4759880, 4759888, 4759896, 4759904
Indirect blocks:
4759912, 4759920, 4759928, 4759936, 4759944, 4759952, 4759960, 4759968,
4759976, 4759984, 4759992, 4760000, 4760008, 4760016, 4760024, 4760032,
4760040,
4760048,

for blk in $blocks
do
blk=$(expr 4 \* $blk)
dd if=/dev/mirror/gm0s1e of=/tmp/file-${blk}.blk skip=${blk} bs=512
count=32
dd if=/dev/mirror/gm0s1e skip=${blk} bs=512 count=32 >> /tmp/file.dump
done
----------------------------------------------------------------------

Puvodni fs block z fsdb je potreba nasobit 4, to pak odpovida pozici
diskoveho bloku na disku.

Mam ted tedy jednotlive 16kB soubory (myslim, ze to je velikost FS
bloku, pokud se pletu, tak me opravte

32*512 je obvykla velikost bloku. A to nasobeni ctyrmi - 4*512 je zas patrne velikost fragmentu.

A jen takova drobnost, v tomto pripade - pokud misto
bs=512 count=32  pouzijes  bs=2k count=8

pak si cislo bloku nemusis predbezne nasobit - jen blokem pro dd nebude sektor ale fragment. Navic to druhe je i o neco rychlejsi (coz je u tveho souboru celkem jedno, u velkych souboru by ale byl rozdil v rychlosti zretelny)

Ovsem nejsem si jist, jaky je vyznam "direct blocks" a jaky "indirect
blocks".

Tak to bude nejlepsi podivat se treba sem:

http://docs.sun.com/app/docs/doc/817-5093/fsfilesysappx-23724?a=view

Tim se, mimochodem, vysvetluje, proc ti nic nerika obsah souboru - z toho cdo mas je jen 12 bloku obsah souboru. Ostatni jsou bloky obsahujici cisla dalsich bloku, ktere je treba take precist.

                                        Dan
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem