linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] file eliminati dal cestino

Andrea Gelmini andrea.gelmini a lugbs.linux.it
Ven 15 Gen 2010 13:57:36 UTC
Il 15 gennaio 2010 13.36, Michele Bonera <michele a bonera.biz> ha scritto:
>
> dd if=/dev/zero of=/nome/del/file \
> count=$( ls -la /nome/del/file | awk '{ print $5 }'  ); \
> unlink /nome/del/file

Questo non funzionerebbe, mi permetto due note:
a) dd fa un truncate + scrittura, e nulla ti garantisce che tu vada a
riscrivere proprio sugli stessi blocchi (anzi, con alcuni fs ti è
garantito che questo non possa avvenire, come XFS);¹
b) per ottenere la dimensione del file ti basta fare un "stat -c %s file";
c) in ogni caso dovresti considerare i blocchi effettivi, diversamente
un file contenente degli hole ti porterebbe a poter riempire l'hd;
d) dd_rescue potrebbe fare al caso tuo, visto che non forza il
truncate e inizia subito a scrivere su quanto trova.

Ciao,
gelma

--------------------------------------------
¹ per essere piu' precisi, XFS tiene un elenco, fino al successivo
commit/sync del journal, dei blocchi deferenziati, dei quali evita
l'utilizzo; questo per evitare che in taluni casi di crash, si possa
avere accesso al contenuto dei vecchi file, sfruttando gli inode
allocati nell'immediatezza del crash.




Maggiori informazioni sulla lista Lug