comando macOS rm '-W' opzione - ripristina


22

Stavo guardando la pagina man per il rmcomando sul mio MacBook e ho notato quanto segue:

-W Tentativo di ripristinare i file indicati. Attualmente, questa opzione può essere utilizzata solo per recuperare file coperti da whiteout.

Cosa significa questo? Che cos'è un "whiteout"?

Risposte:


20

Un whiteout è un file marker speciale posizionato da alcuni filesystem di ordine superiore "trasparenti" (quelli che usano una o più posizioni reali come base per la loro presentazione), in particolare i filesystem union, per indicare che un file esiste in uno dei i percorsi di base sono stati eliminati all'interno del filesystem artificiale anche se esiste ancora altrove. L'elenco del filesystem union non mostrerà il file whited-out.

Avere un tipo speciale di file che rappresenta questi è nella tradizione BSD da cui deriva macOSst_mode : macOS usa i bit 0160000 per contrassegnarli . Usando ls -F, quei file saranno contrassegnati con un %segno e ls -Wmostreranno che esistono (altrimenti, sono generalmente omessi dagli elenchi). Molti sistemi di unione creano anche file normali con un nome speciale per rappresentare i whiteout sui sistemi che non supportano tali file.

Non sono sicuro che macOS li esponga in alcun modo, ma altri sistemi della sua eredità BSD lo fanno ed è possibile che i driver di filesystem esterni possano usarli.


12

Un "whiteout" è una caratteristica di alcuni filesystem unionali.

Se si dispone di una gerarchia di file che viene sovrascritta da un mount sindacale ed esiste un file in entrambi i livelli della gerarchia di file visibile risultante, è possibile utilizzare un "whiteout" per rimuovere il file dal livello superiore preservandolo nel livello inferiore (come usare Tipp-ex).

L' rmutilità è in grado di rimuovere il whiteout e far apparire nuovamente il file (poiché non è mai stato eliminato dal file system inferiore).

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.