Puoi avere più directory perse e trovate?


10

Non ero a conoscenza del mklost+foundcomando finché non ho letto questa domanda .

Il mklost+foundcomando creerà una nuova directory lost + found nel pwd.

  1. Perché mai dovresti eseguire questo comando? La directory lost + found esiste già in / su ogni distro che ho controllato.

  2. Cosa succederebbe se avessi più directory perse e trovate? I frammenti di dati recuperati andrebbero nella directory lost + found creata più di recente o nella directory lost + found creata più di recente?

Non sono sicuro di come sia possibile creare deliberatamente un frammento di dati per testarlo.


3
rm -rf /lost+found. Oops ...
cjm

Risposte:


11

Perché mai dovresti eseguire questo comando?

Nel caso in cui la lost+founddirectory non esista. Dal momento che è solo una normale directory, l' rootutente può rimuoverlo utilizzando rm -r. Alcune versioni di fsck, quando devono utilizzare una lost+founddirectory, la creeranno se non esiste, e alcune versioni no. Se non è presente alcuna lost+founddirectory, fscknon è possibile ripristinare i file orfani, ovvero i file che non dispongono di voci di directory a cui fare riferimento.

La versione Linux di mklost+foundha la seguente funzione (dalla pagina man di mklost + found ):

mklost+foundpre-alloca i blocchi del disco nella directory lost + found in modo che quando e2fsck (8) viene eseguito per ripristinare un filesystem, non è necessario allocare blocchi nel filesystem per memorizzare un numero elevato di file non collegati. Ciò garantisce che e2fsck non debba allocare blocchi di dati nel filesystem durante il ripristino.

Ciò significa che, se è necessario ripristinare i file da un filesystem danneggiato utilizzando fsck, un numero inferiore di file andrà perso durante il processo di recupero perché fscknon sarà necessario allocare blocchi dal filesystem; tali blocchi che possono contenere dati di file validi.

Cosa succederebbe se avessi più directory perse e trovate?

Per un determinato filesystem, fsckutilizzerà solo una lost+founddirectory: quella che si trova nella directory principale del filesystem. Qualsiasi altra lost+founddirectory non verrà trattata in modo speciale.


3

Q1. Perché mai dovresti eseguire questo comando? La directory lost + found esiste già in / su ogni distro che ho controllato.

Qualcosa deve creare il lost+found, questo comando sembrerebbe farlo. Ogni supporto che monti deve mantenere il proprio lost+found.

estratto dalla pagina man

mklost + found viene utilizzato per creare una directory lost + found nella directory di lavoro corrente su un secondo file system esteso Linux. Normalmente esiste una directory lost + found nella directory principale di ciascun filesystem.

Qual è il grosso problema con la creazione di una lost+founddirectory?

mklost + found pre-alloca i blocchi del disco nella directory lost + found in modo che quando e2fsck (8) viene eseguito per ripristinare un filesystem, non è necessario allocare blocchi nel filesystem per memorizzare un gran numero di file non collegati. Ciò garantisce che e2fsck non debba allocare blocchi di dati nel filesystem durante il ripristino.

Q2. Cosa succederebbe se avessi più directory perse e trovate? I frammenti di dati recuperati andrebbero nella directory lost + found creata più di recente o nella directory lost + found creata più di recente?

Mi aspetto che l'ultimo sia quello che viene utilizzato da e2fsckse deve spostare i blocchi di dati lost+found.


"Qualcosa deve creare il lost+found": Sì, ma nella maggior parte dei casi quel comando è mke2fs.
Nate Eldredge,

2

"La directory lost + found esiste già in /ogni distro che ho controllato."

Ma non è questo il punto. Ogni filesystem "reale" (che si associa a una memoria a blocchi di qualche tipo, al contrario di pseudo filesystem come / proc e swap) ha bisogno di un orfanotrofio perso + trovato. Ad esempio, se hai un filesystem separato per / home, dovrebbe esserci /home/lost+found. Questo perché fscknon si sposterà un file /lost+foundsul filesystem di root; lascia i file che trova dove li ha trovati, ma crea una voce di directory nell'orfanotrofio in modo che un essere umano possa intervenire per organizzare l'adozione appropriata. Sapere che qualcosa è dentro /home/lost+foundvs. /var/lost+foundpuò rendere l'intervento manuale molto più semplice.


0

Secondo Essential System Administration

Gli errori del disco o l'arresto errato del sistema possono causare la perdita dei file: i file persi si riferiscono a posizioni del disco contrassegnate come in uso nelle strutture di dati sul disco, ma che non sono elencate in alcuna directory (ad esempio, un non vuoto in ode che non è elencato in nessuna directory). Quando il sistema si avvia, esegue un programma chiamato fsck che, tra le altre cose, trova questi file. C'è una directory lost + found su ogni partizione del disco; / lost + found è quello sul disco di root.

Utilità molto probabili come fsck look mettono i frammenti di file nella directory lost + found all'interno della radice della rispettiva partizione. Altre directory perse + trovate devono essere ignorate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.