Spiegare la bandiera -W per rm


8

A cosa serve la -Wbandiera rm(su BSD o Mac OS X)?

Secondo la sua pagina man, la bandiera tenta di "ripristinare i file con nome". E attualmente, "questa opzione può essere utilizzata solo per recuperare file coperti da whiteout". Di cosa si tratta e come posso usarlo?


Non tutte le versioni rmsupportano la -Wbandiera. In particolare, la versione GNU coreutils, utilizzata dalla maggior parte o da tutte le distribuzioni Linux, no. rm: invalid option -- 'W'
Keith Thompson,

Avrei dovuto specificare che mi riferivo alla versione BSD.
Whymarrh,

Risposte:


16

La -Wbandiera è un'opzione che la maggior parte degli utenti BSD/OSXnon dovrà mai usare, in quanto si applica solo ai " supporti di unione ". Questo tipo di mount consente semplicemente di montare diversi filesystem, apparendo come un solo filesystem. Per spiegarlo ulteriormente, ecco l'abstract di un articolo, intitolato " Union Mounts in 4.4BSD-Lite ", degli autori Jan-Simon Pendry e Marshall Kirk McKusick:

A differenza di un mount tradizionale che nasconde il contenuto della directory in cui è posizionato, un mount sindacale presenta una vista di una fusione delle due directory. Sebbene sia possibile modificare solo il filesystem nella parte superiore dello stack union, il filesystem union dà l'impressione di consentire l'eliminazione o la modifica di qualsiasi cosa. I file nel livello inferiore possono essere eliminati con whiteout nel livello superiore. I file da modificare vengono automaticamente copiati nel livello superiore. Questa nuova funzionalità rende possibili diverse nuove applicazioni tra cui la possibilità di applicare patch a un CD-ROM ed eliminare i collegamenti simbolici generati da un automounter. È anche possibile fornire visualizzazioni per utente del filesystem, consentendo visualizzazioni private di un'area di lavoro condivisa,

Questo documento discute anche le operazioni di whiteout:

Se un nome viene rimosso dallo spazio dei nomi del livello inferiore, viene creato un whiteout nel livello superiore. Un whiteout ha l'effetto di mascherare il nome nel livello inferiore. Le operazioni che causano la creazione di un whiteout includono unlink, rmdir e rinomina.

Mettendo tutto insieme, rmcon la -Wbandiera usa il "whiteout" creato nel livello superiore per ripristinare i file "cancellati" dal livello inferiore. Per l'utilizzo, consultare il manuale .

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.