DOMANDA Eliminazione definitiva di un file

Pubblicità

Mattia03

Nuovo Utente
Messaggi
57
Reazioni
3
Punteggio
28
Salve, creo questo post perché ho sempre eliminato i file (non programmi) nel modo classico per poi dopo svuotare il cestino, sapevo che non era un'operazione "corretta" in quanto i file eliminati dal cestino possono essere nuovamente ripristinati ma non mi sono mai chiesto qual è fosse il modo corretto per eliminare definitivamente un file, fino a quando qualche giorno fa, ho visto un video dove veniva spiegato (testuali parole) "che la memoria dei computer sono divisi in blocchi, ogni file ne occupa un certo numero e di conseguenza spostando un file nel cestino, non succede nulla, di fatto viene spostato solo in una cartella a forma di pattumiera, svuotandolo, i blocchi che erano occupati dai file non vengono cancellati ma vengono solamente marcati come disponibili, questo viene fatto per allungare la vita della memoria. Se si vuole davvero eliminare un file bisogna inserire dei dati all'interno dei blocchi che lo ospitavano o azzerarli riempiendo di 0."

Questa cosa già la vidi tempo fa ma non ci capii nulla e quindi non mi interessai, ora vorrei sapere se è solamente una pippa mentale e quindi evitabile o è davvero il metodo corretto per eliminare un file?

P.s
Non essendo un esperto in informatica, nonostante la "spiegazione" detta nel video, continuo a non averci capito nulla, se qualcuno di voi riesce a spiegarmelo in modo più chiaro, ve ne sarei grato
 
"che la memoria dei computer sono divisi in blocchi, ogni file ne occupa un certo numero e di conseguenza spostando un file nel cestino, non succede nulla, di fatto viene spostato solo in una cartella a forma di pattumiera, svuotandolo, i blocchi che erano occupati dai file non vengono cancellati ma vengono solamente marcati come disponibili, questo viene fatto per allungare la vita della memoria. Se si vuole davvero eliminare un file bisogna inserire dei dati all'interno dei blocchi che lo ospitavano o azzerarli riempiendo di 0."
Allora, quando cancelli un file e lo sposti nel cestino, questo rimane appunto in una cartella speciale "$Recycled" che consente il recupero dei file. La cancellazione definitiva avviene svuotando i file dal cestino, ed è lì che c'è la questione dei blocchi i quali vengono segnati non più allocati nella tabella di allocazione del file system (metadati) e quindi sono liberi, ma di base contengono ancora i dati finché non vengono riutilizzati. Ma questo di base è vero fintantoche si parla di HDD meccanici. Con l'avvento degli SSD/NVME la situazione è diversa. Ok la memorizzazione a blocchi e la cancellazione, ma una volta che un blocco viene liberato (cancellato o i dati vengono spostati in altro blocco perché sostituiti), il sistema operativo (ogni sistema operativo decente riconosce un SSD/NVME) dovrebbe inviare il comando TRIM, o se non altro periodicamente, che comunica al controller del SSD quali sono i blocchi che sono da considerarsi inutilizzati. A questo punto quei blocchi delle celle di memoria non sono più recuperabili normalmente e il controller del SSD può riutilizzarli ed è certo che lo farà per scrivere altri dati.

Per cui, con gli SSD/NVME, quando svuoti i file dal cestino, e il sistema operativo invia il comando TRIM al controller del SSD, i dati cancellati sono praticamente irrecuperabili
 
Allora, quando cancelli un file e lo sposti nel cestino, questo rimane appunto in una cartella speciale "$Recycled" che consente il recupero dei file. La cancellazione definitiva avviene svuotando i file dal cestino, ed è lì che c'è la questione dei blocchi i quali vengono segnati non più allocati nella tabella di allocazione del file system (metadati) e quindi sono liberi, ma di base contengono ancora i dati finché non vengono riutilizzati. Ma questo di base è vero fintantoche si parla di HDD meccanici. Con l'avvento degli SSD/NVME la situazione è diversa. Ok la memorizzazione a blocchi e la cancellazione, ma una volta che un blocco viene liberato (cancellato o i dati vengono spostati in altro blocco perché sostituiti), il sistema operativo (ogni sistema operativo decente riconosce un SSD/NVME) dovrebbe inviare il comando TRIM, o se non altro periodicamente, che comunica al controller del SSD quali sono i blocchi che sono da considerarsi inutilizzati. A questo punto quei blocchi delle celle di memoria non sono più recuperabili normalmente e il controller del SSD può riutilizzarli ed è certo che lo farà per scrivere altri dati.

Per cui, con gli SSD/NVME, quando svuoti i file dal cestino, e il sistema operativo invia il comando TRIM al controller del SSD, i dati cancellati sono praticamente irrecuperabili
Grazie mille per la spiegazione dettagliata, in sintesi tutti i pc che hanno come memoria un ssd/nvme non devono preoccuparsi di nulla in quanto è stesso il sistema operativo a farlo? Di conseguenza però se volessi recuperare un file eliminato non potrei, viceversa se avessi un hdd dovrei da una parte esser io ad eliminare definitivamente i dati tramite specifici programmi ma dall'altra potrei ripristinare i file eliminati? Ho capito bene?
 
Ma quindi se dovessi ipoteticamente cancellare dei file e fare sì che una persona esterna non riesca a ripristinarli, mi converrebbe usare dei programmi esterni che formattino i dati all'interno con dei 0 piuttosto che aspettare che lo facci il sistema stesso ovviamente non sapendo quando quest'ultimo venga fatto?
 
Su SSD se voglio azzerarlo, ecco come mi comporto:
Live linux
mkfs.ext4 /dev/sdX (creo file system vuoto)
mount /dev/sdX /mnt (file system vuoto montato)
fstrim /mnt (forzo TRIM sul file system vuoto)


così facendo il controller sa che praticamente quasi tutte le celle sono vuote, e quelle poche in uso dal file system ext4 sono appunto di un file system vuoto quindi non c'è nulla da recuperare

Ecco SSD vuoto e praticamente irrecuperabile, a meno che non si lavori per particolari aziende / agenzie che abbiano politiche e standard ad altissima sicurezza, ma in tal caso quindi i dati devono essere crittografati quindi senza chiave di cifratura non c'è modo di recuperare nulla
 
Ma quindi se dovessi ipoteticamente cancellare dei file e fare sì che una persona esterna non riesca a ripristinarli, mi converrebbe usare dei programmi esterni che formattino i dati all'interno con dei 0 piuttosto che aspettare che lo facci il sistema stesso ovviamente non sapendo quando quest'ultimo venga fatto?
Si esatto, su hdd ci sono dei software apposta che cercano i blocchi su cui giacciono i dati e li vanno a sovrascrivere.


Se vuoi immaginarti l'atto del cancellare su un qualsiasi dispositivo di memoria, Mattia, pensa al hdd o ssd come una grande biblioteca; ci sono corridoi, scaffali a destra e sinistra, libri sugli scaffali ed infine un impiegato con il suo schedario dei libri.
Tu entri - sei il direttore della biblioteca - affermando all'impiegato che un libro dalla libreria è da togliere perchè "forse" è arrivata la nuova edizione.
L'impiegato consulta lo schedario (prima cartaceo ora informatico) ed elimina la scheda del libro.
La scheda per precauzione viene messa da parte perchè magari si modificherà e rimetterà nello schedario.

Questo fà inizialmente Windows: cancella i riferimenti del file (libro) dall'elenco dei file (schedario), riponendo la scheda (mappatura) in un apposita cartella detta cestino.
Il libro o file sono ancora lì, ma se un utente li chiedesse, lo schedario direbbe "non c'è".

Un libro viene tolto fisicamente dallo scaffale solo quando arriverà la nuova edizione, proprio come un file viene cancellato quando almeno uno dei blocchi di cui è composto viene riscritto.
 
Su SSD se voglio azzerarlo, ecco come mi comporto:
Live linux
mkfs.ext4 /dev/sdX (creo file system vuoto)
mount /dev/sdX /mnt (file system vuoto montato)
fstrim /mnt (forzo TRIM sul file system vuoto)


così facendo il controller sa che praticamente quasi tutte le celle sono vuote, e quelle poche in uso dal file system ext4 sono appunto di un file system vuoto quindi non c'è nulla da recuperare

Ecco SSD vuoto e praticamente irrecuperabile, a meno che non si lavori per particolari aziende / agenzie che abbiano politiche e standard ad altissima sicurezza, ma in tal caso quindi i dati devono essere crittografati quindi senza chiave di cifratura non c'è modo di recuperare nulla
dd if=/dev/zero of=/dev/disco bs=1M
è più cattivo !
 
Pubblicità
Pubblicità
Indietro
Top