debugfs


esempio di utilizzo di debugfs [leggere file senza montare il filesystem]

sapremo tutto del file: /boot/grub/menu.lst


stat -f /boot/grub/menu.lst


guardiamo il "block size"


stat -c %i /boot/grub/menu.lst


abbiamo il numero di inode

Ora usiamo debugfs, interattivamente, per sapere quali blocchi son
"puntati" dall'inode (un inode contiene informazioni su un file,
tra cui quali blocchi sono occupati dal file)


debugfs /dev/sda1
debugfs
debugfs: cd (cambia dir.)
debugfs: ls (lista file)
debugfs: stat nomefile (stat dal nome)
debugfs: stat <140574>


che mi restituisce la schermata:

 
Inode: 140574 Type: regular Mode: 0644 Flags: 0x0
Generation: 1985366524 Version: 0x00000000
User: 0 Group: 0 Size: 5520
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 12
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x4a86bee6 -- Sat Aug 15 15:57:58 2009
atime: 0x4a86bee7 -- Sat Aug 15 15:57:59 2009
mtime: 0x4a86bee6 -- Sat Aug 15 15:57:58 2009
BLOCKS:
(0-5):293891-293896
TOTAL: 6


ci interessano i BLOCKS
usciamo da debugfs con "q"

Ora, se voglio leggere il file, non m'interessa
pi� che il filesystem sia montato oppure no. Basta che faccia:


dd if=/dev/sda1 bs=1024 skip=293891 count=6




p.s.
=== esempio di file su diversi extents ===
dal comando:
filefrag originale4.ko

originale4.ko: 3 extents found


dal comando:
debugfs: stat <824300>

Inode: 824300 Type: regular Mode: 0644 Flags: 0x0
Generation: 1559687153 Version: 0x00000000
User: 0 Group: 0 Size: 27432
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 56
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x4b5af5a0 -- Sat Jan 23 14:12:00 2010
atime: 0x4b5af5a0 -- Sat Jan 23 14:12:00 2010
mtime: 0x4b5af5a0 -- Sat Jan 23 14:12:00 2010
Size of extra inode fields: 4
BLOCKS:
(0-2):3332989-3332991, (3):3334178, (4-6):3631105-3631107
TOTAL: 7


p.s.
altri comandi debugfs:
- ncheck  n.inode: vi dice il path dell’inode indicato
- imap n.inode: ottenete indicazioni del blocco fisico in cui è allocato l’inode
- testi  n.inode: verifica lo stato dell’inode
- stat n.inode: statistiche in merito all’inode, ed altre info come ctime, atime e simili
- ex n.inode: altre informazioni in merito al posizionamento fisico dell’inode sul disco



Articolo tratto da: #341724 Linux - http://sacarde.altervista.org/
URL di riferimento: http://sacarde.altervista.org/index.php?mod=read&id=1250413917