Disabilita la creazione di file .AppleDouble su Mac OS X.


19

Esiste un modo per disabilitare la creazione di file .AppleDouble in Mac OS X (Snow Leopard) su filesystem non HFS (come condivisioni di rete SMB o NFS ecc ...)?


1
Si prega di fornire ulteriori informazioni. Di solito non sono creati su HFS +.
Daniel Beck

Risposte:


7

Dato che i Mac supportano più fork per i file, il trucco AppleDouble ( ._file) tenta di preservare i dati in tali fork. Quindi sono necessari affinché Mac OS X possa eseguire operazioni su di essi.

Tuttavia, la maggior parte dei file viene creata quando lo stesso volume è montato tramite AFP, non SMB / CIFS o NFS. In tal caso, il server AFP potrebbe avere opzioni di configurazione per gestire i file Apple Double (vedi, ad esempio, questo post sul blog ).

Per eliminare i file AppleDouble, puoi su un Mac il dot_cleancomando:

dot_clean --keep=dotbar /Volumes/mounted_smb_volume

dove mounted_smb_volumesarebbe il nome del volume montato.

Puoi aggiungerlo a una crontabvoce o, meglio ancora, usare qualcosa come Lingon X per creare una launchdvoce.


Ha funzionato per te, @Bart? Potresti considerare di contrassegnarlo come la soluzione giusta 😉
juandesant,

L'ho usato su una scheda SD e il contenuto non può più essere visualizzato con Finder, visibile solo nel terminale con ls.
FRIdSUN,

@FridSUN, prova a espellere e montare nuovamente il volume, non ha alcun senso che rimangano invisibili nel Finder ... a meno che tu non abbia file che iniziano con punto (.) O che non hai contrassegnato quel volume come invisibile.
juandesant,

La domanda riguarda i file chiamati .AppleDouble, non i file che iniziano._
Stop Harming Monica,

AppleDouble è una codifica per metadati, @OrangeDog; vedere ad esempio icesquare.com/wordpress/how-to-remove-ds_store-and-appledouble I metadati con codifica AppleDouble sono sotto forma di ._file.
juandesant,

4

http://support.apple.com/kb/HT1629 mi dice che questo può essere fatto tramite

Per configurare un account utente di Mac OS X in modo che i file .DS_Store non vengano creati durante l'interazione con un file server remoto utilizzando il Finder, procedi nel seguente modo:

Nota: ciò influirà sulle interazioni dell'utente con i server SMB / CIFS, AFP, NFS e WebDAV.

Open Terminal.
Execute this command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Either restart the computer or log out and back in to the user account.

3
Non sembra funzionare per i .AppleDoublefile.
Adam Lindberg,

4
Questo vale sicuramente solo per .DS_Store e non per .AppleDouble.
Asher,

3

I file AppleDouble (quelli denominati ._filename) vengono creati quando si copia un file contenente un fork di risorse in un file system non HFS.

A volte (ma non sempre) la risorsa che è possibile gestire senza i dati del fork delle risorse, ad esempio la copia di un file mp3.

È possibile eliminare la copia del fork delle risorse se si utilizza una shell (non finder) utilizzando:

cp -X

2
Questa non è una soluzione generale.
Adam Lindberg,

Per chiarire perché questa non è una soluzione generale, ciò si applica solo quando si copiano manualmente i file dalla riga di comando. È improbabile che ciò abbia alcuna relazione con il problema, poiché i file .AppleDouble vengono creati ogni volta che si accede a un file su un volume non HFS +. Anche se potresti copiare senza il fork delle risorse, questo risolve solo un caso speciale e non il problema generale di non voler file .AppleDouble.
Asher,

La domanda riguarda i file chiamati .AppleDouble, non i file che iniziano._
Stop Harming Monica,

1

Puoi utilizzare BlueHarvest per eliminare automaticamente i file AppleDouble o altri file creati da OS X:

È possibile utilizzare find . -name ._\* -deleteper eliminare i ._file in modo ricorsivo nella directory corrente. dot_clean -m .ha anche lo stesso effetto.

I file che iniziano con ._vengono utilizzati per archiviare metadati come attributi estesi e ACL. Gli attributi estesi includono fork di risorse ( com.apple.ResourceFork) e flag di file ( com.apple.FinderInfo). Puoi vedere gli attributi estesi con xattr -lo ACL con ls -le. È possibile utilizzare xattr -cper cancellare tutti gli attributi estesi o chmod -Nper eliminare gli ACL e si possono copiare file senza attributi estesi con cp -X.


1

C'è uno strumento chiamato "dsweeper" disponibile qui: https://github.com/simsalabim/dsweeper Risolve il problema (una volta installato) con un semplice

$ dsweeper -d -p /Path/to/volume/

Dal sito Web:

Uno strumento che non consente ai file Apple_Double ._whatever di essere conservati su un disco rigido esterno. Aiuta a mantenere pulito Dropbox.

Tramite homebrew, l'installazione è straordinariamente semplice:

$ brew install npm

$ npm install dsweeper -g

Risolto il problema per me come un incantesimo.


-1

Penso che parte della domanda sia: perché vuoi eliminare i file .AppleDouble?

I file AppleDouble vengono creati per memorizzare risorse di file aggiuntive (metadati, ecc.). I filesystem HFS + (progettati da Apple) hanno mezzi nativi per indirizzare la memorizzazione di queste informazioni. I filesystem non HFS + (NTFS, EXT3 / 4, ecc.) Serviti su filesharing (Netatalk, SMB, ecc.) Richiedono un modo per memorizzare queste informazioni. Ciò si ottiene creando file aggiuntivi sul filesystem, poiché il filesystem non ha mezzi nativi per la memorizzazione delle informazioni.

A differenza dei file .DS_Store (che, a quanto ho capito, memorizzano i dettagli del desktop come la posizione dell'icona, ecc.), I file .AppleDouble in realtà memorizzano informazioni potenzialmente rilevanti. Ciò significa che probabilmente puoi eliminare i file .AppleDouble e il sistema operativo non si lamenterà, ma potresti perdere i metadati se ne è associato uno al file. Ciò include anche i metadati creati da / per Spotlight, ad esempio quando iTunes riproduce un file. È improbabile che l'eliminazione di queste informazioni danneggi qualcosa, ma viene creata / memorizzata per te in modo che il sistema operativo possa ottimizzare la ricerca e altri termini.

Quindi la mia conclusione è che probabilmente non vuoi davvero cancellare .AppleDouble. Ma forse i dettagli possono essere compilati? Sono arrivato a questo thread nel tentativo di aiutare mio padre con due ReadyNAS; voleva eliminare i file perché la loro esistenza era inspiegabile e causava strani comportamenti con il programma di backup ReadyNAS (che sembra essere risolto usando rsync). Per favore fatemi sapere se ci sono ulteriori dettagli non trattati nelle mie conclusioni qui.


2
La mia ragione è che queste cartelle .AppleDouble nelle directory sul mio NAS impediscono ai miei computer Windows di eliminare quelle directory. Dover accedere al NAS e utilizzare il browser di file basato sul Web è davvero fastidioso.
Simon Gill,

Ho votato in giù questo perché credo che contenga qualche disinformazione. Apparentemente nessun file system non HFS + può memorizzare metadati? Questo non è corretto, NTFS supporta i metadati dei file, è solo che Apple non interagisce correttamente con esso e crea invece un file di base.
leinad13,

2
La mia ragione è che la mia autoradio tenta di riprodurre file ._XYZ.MP3 dalla mia chiavetta USB (FAT32) e si lamenta ferocemente. Quindi ho ideato un piccolo AppleScript per rimuovere i file ._ quando si espelle il volume.
Joe Völker il

NTFS non supporta i metadati di Apple e Apple non scrive nei metadati di NTFS. Il risultato è che la descrizione nella risposta originale è accurata. La "disinformazione" deriva solo dal fraintendere a cosa si riferisce "questo" e supporre che si riferisca ai metadati in quanto tali.
Asher,
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.