Disabilita la memorizzazione di file invisibili "._" nella mia memoria di rete cfs o smb

31

Uso OS X Mavericks e ho montato alcune unità di archiviazione aziendali (usando smb o cfs). (Smb: //[email protected]/directory/data). Quando lavoro con i file sull'unità o copia i file sull'unità, vengono creati alcuni file nascosti. La maggior parte di questi file inizia con dot-dash ._ e quindi il nome file del file originale, ad esempio:

._test001.png
._test002.png
._test003.png

E la maggior parte delle volte ci sono anche il famoso ._.DS_Store e .DS_Store .

Sul mio Mac, questi elementi punto . sono invisibili, ma i miei colleghi di Windows vedono questi file. Come posso impedire a OS X di creare questi strani file invisibili?

On support.apple.com (e altre fonti internet) puoi trovare un 'default registra' per disabilitare la creazione di file .DS_Store sulle tue unità di rete. Ma questo non funziona in Mavericks:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Per ora uso questo oneliner, ma fare un rm -rf sembra sbagliato in questo caso.

find . -type f -name "._*" -exec rm "{}" \;

Modifica: non voglio cancellare i file o escluderli dalla copia. Voglio che non vengano creati in primo luogo.

Modifica: preferisco una soluzione OS X "nativa" su app di terze parti.

Modifica: questa domanda ha due risposte, una per i file ._ e una per i file .DS_Store. La taglia è ricompensata per dot_clean , questa app nativa della linea di comando pulisce tutti i file ._. Sfortunatamente non cancella i file .DS_Store, questo può essere fatto efficacemente con Asepsis. Asepsis memorizza .DS_Stores in una posizione fissa, e non nella cartella stessa.

    
posta CousinCocaine 26.06.2014 - 18:02
fonte

8 risposte

29

Devo ammettere che non avevo notato che il comando defaults write ha smesso di funzionare in Mavericks. Tuttavia, quando eseguo il clean mounts di rete, invece del tuo liner find e rm , io uso questo:

dot_clean .

Il manfile spiega:

dot_clean -- Merge ._* files with corresponding native files.

Non uso il flag -m, ma potresti trovarlo utile nella tua situazione.

-m      Always delete dot underbar files.

Ecco un'altra persona che sta tentando attivamente di bloccare i file .DS_Store dalla creazione: link - sembra che non li desideri sulle unità tanto quanto non li vuole sulla rete!

    
risposta data 02.07.2014 - 19:48
fonte
11

Ho appena provato, e questo funziona in Mavericks (almeno per disabilitare .DS_Store non condivisioni di rete):

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Devi solo ricordare di riavviare Finder:

killall Finder
    
risposta data 14.11.2014 - 02:55
fonte
4

I file ._ sono file AppleDouble utilizzati per archiviare metadati come attributi estesi, ACL, flag di file e fork delle risorse.

Per eliminarli, esegui:

find . -name ._\* -delete

Puoi vedere se i file hanno attributi estesi, ACL o flag di file con ls -l@eO . I file ._ vengono in genere creati perché i file hanno attributi estesi. Puoi utilizzare xattr -c per eliminare gli attributi estesi o chmod -N per eliminare gli ACL. cp -X e rsync copiano i file senza attributi estesi, ACL, flag di file o fork delle risorse.

    
risposta data 29.06.2014 - 13:43
fonte
2

Non l'ho provato io stesso, e mi rendo conto che l'OP preferisce soluzioni native, ma comunque:

C'è un'app chiamata Aseps che funziona reindirizzando la creazione di quei file in una cartella speciale, ovvero in un modo che impedisce loro di apparire.

    
risposta data 30.06.2014 - 13:07
fonte
2

Come dovresti disabilitare la scrittura di file nascosti su ogni Mac che potrebbe connettersi alla tua condivisione, un'opzione migliore sarebbe quella di fermarlo alla condivisione e non ai client.

Tutto quello che devi fare è modificare la tua configurazione di condivisione (per esempio in Linux in /etc/samba/smb.conf) e aggiungere la seguente opzione nella tua configurazione di condivisione:

veto files = /._*/.DS_Store/ 

Ora nessun client Mac può salvare qualsiasi file con questi modelli nella condivisione.

    
risposta data 26.04.2015 - 09:04
fonte
0

Per quanto ne so non puoi impedire che questi file vengano creati. Almeno il Finder le creerà.

L'eliminazione di questi file non servirà a nulla - perché la prossima volta che accedi al volume e alle sue cartelle su Mac, il Finder le creerà di nuovo.

Sono stupito che i tuoi colleghi di Windows vedano questi file. Sto lavorando da molti anni con il mio Mac usando Mac e Windows - e non vedo mai questi file. Né su Mac né su Windows.

Questi file sono contrassegnati come "nascosti" per impostazione predefinita e non verranno visualizzati se Windows è impostato per nascondere i file e le cartelle nascosti.

    
risposta data 30.06.2014 - 11:59
fonte
0

Non è una soluzione nativa, né in realtà impedisce la scrittura di questi file, ma li insegue attivamente e ampli; elimina non appena vengono scritti ...

BlueHarvest

BlueHarvest automatically removes .DS_Store and ._ AppleDouble files from your USB keys, SD cards, music players, file servers or any non Mac disk. BlueHarvest removes these items as they’re created or modified so you’ll always be metadata free without you needing to lift a finger.

Nessuna affiliazione, l'ho usata con successo per diversi anni.

    
risposta data 27.12.2015 - 10:55
fonte
-1

Ho trovato un modo molto semplice e gratuito per eliminare i file ._, specialmente da un HD fat32 esterno.

Avvia OnyX (software gratuito). Da Utility, vai su AppleDouble, seleziona ... la cartella. Eccolo !!!

    
risposta data 27.12.2015 - 07:50
fonte

Leggi altre domande sui tag