Come impedire a OS X di scrivere i file Spotlight e Trash su schede di memoria e chiavi USB?

118

Quando colleghi una chiavetta USB a un Mac, OS X crea una serie di file nascosti sulla chiavetta, tra cui un indice Spotlight e una cartella Cestino.

Esempio dal terminale per una penna USB "Senza titolo":

$ ls -a /Volumes/Untitled
.Spotlight-V100
.Trashes
._.Trashes
.disk
.fseventsd

Lo fa anche sulla scheda di memoria xD della mia fotocamera, quindi dopo aver copiato le mie foto e cancellato dalla scheda, la scheda è ancora piena.

È possibile disattivarlo per USB e schede di memoria, quindi OS X scrive questi file sul disco principale o non li scrive affatto?

    
posta j-g-faustus 20.01.2011 - 18:15
fonte

20 risposte

20

AGGIORNATO a marzo 2018 Sembra che la mia soluzione non sia più valida, la soluzione che funziona al momento è proposta da @ElmerCat in una delle risposte seguenti.

Suggerisce di utilizzare CleanMyDrive 2

Soluzione deprecata

Come so tu hai 2 scelte:

  1. TinkerTool (gratuito)

  • BlueHarvest (commerciale)
  •     
    risposta data 20.01.2011 - 18:49
    fonte
    102

    Solo per un particolare volume montato - come una flash drive chiamata yourUSBstick in questo esempio - questi comandi rimuoveranno cruft esistenti, interromperanno l'indicizzazione di Spotlight ora e in futuro, interromperanno la registrazione correlata di fsevents e disabiliteranno la funzione Cestino.

    mdutil -i off /Volumes/yourUSBstick
    cd /Volumes/yourUSBstick
    rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
    mkdir .fseventsd
    touch .fseventsd/no_log .metadata_never_index .Trashes
    cd -
    

    Altre cose non familiari che potresti ancora vedere probabilmente vorrai conservare, ad esempio i doppi file "._ *" di Apple e altri cruft di Apple DS relativi alle icone e al posizionamento delle finestre.

        
    risposta data 28.01.2011 - 23:06
    fonte
    30

    Per impedire a Spotlight di indicizzare volumi non di sistema, aggiungi / Volumi all'elenco Privacy in Preferenze di Sistema > Spotlight.

    / Volumi è il punto nel file system in cui tutti i dischi non di sistema sono montati di default.

        
    risposta data 20.01.2012 - 14:48
    fonte
    17
    1. Inserisci l'unità USB.
    2. Vai a Macintosh HD > Applications > Utilities e apri Terminale.
    3. Al prompt Terminale, digita il seguente comando, sostituendo path_to_volume con il percorso reale:

      sudo mdutil -i off /path_to_volume

    4. Premere invio.

    5. Se ti viene richiesta una password, digita la password dell'amministratore, quindi premi Invio. Riceverai la risposta:

      /path_to_volume/: Indexing disabled for volume. in Mac OS X 10.4 o

      /path_to_volume: Indexing disabled. in Mac OS X 10.5 o successivo.

      Spotlight cesserà immediatamente di indicizzare il volume specificato.

    6. Se utilizzi Mac OS X 10.5 o versioni successive, vai al passaggio 9.

    7. Al prompt del Terminale, digita il seguente comando, di nuovo sostituendo il percorso corretto:

      sudo mdutil -E /path_to_volume e premi return

    8. Se ti viene richiesta una password, digita la password dell'amministratore, quindi premi Invio. Riceverai la risposta:

      /path_to_volume/: Volume index removed.

    9. Al prompt del terminale, digita exit , quindi premi return.
    10. Esci dal terminale.

    Grazie a thexlab.com , i loro e-book Mac OS X per la risoluzione dei problemi e il loro sito Web per la spiegazione dettagliata del perché altri metodi ordinano di lavoro.

        
    risposta data 08.02.2012 - 21:05
    fonte
    15

    Un altro modo per gestire (solo) i file spotlight, è aggiungere quel volume al tuo elenco di esclusione Spotlight. Collega il dispositivo e vai al prefpane di Spotlight in Preferenze di Sistema. Seleziona la scheda Privacy. Ora trascina il volume dal desktop verso l'alto nell'elenco delle privacy ... o usa il pulsante + in basso per aggiungerlo. Non verrà più eseguita l'indicizzazione spotlight su quel volume.

        
    risposta data 20.01.2011 - 21:49
    fonte
    9

    2017 dicembre

    Dopo tutti questi anni, penserai che Apple avrebbe costruito qualcosa nel Finder per affrontarlo. È ancora un problema molto comune per le persone che utilizzano dischi USB o schede SD per riprodurre contenuti multimediali nelle loro auto o altri dispositivi.

    Ciononostante, gli sviluppatori hanno riempito il vuoto con numerose app approvate da Apple. Le app elencate nelle risposte precedenti potrebbero essere state buone al momento, ma non sono state mantenute per funzionare con le versioni moderne di macOS.

    Sarei anche un po 'cauto nell'installare qualcosa che maneggi il controllo totale del filesystem, scritto da sviluppatori non identificati. Non voler trattare con l'App Store è una cosa, ma non voler registrarsi con Apple come sviluppatore è un'altra. Inoltre, qualcosa dall'AppStore ha subito almeno un controllo minimo da parte di Apple e può essere rimosso dal tuo computer con la stessa facilità con cui è stato installato.

    Quindi, ogni volta che leggi questa "risposta", il suo consiglio è di cercare nell'App Store qualcosa di aggiornato, ben recensito e libero.

    TL; DR:

    La mia scelta su 20 dicembre 2017 è "CleanMyDrive 2" da App Store. Risolve il problema, bella interfaccia, completamente gratuito. (Offre acquisti in-app di icone personalizzate. Altrimenti, tutto funziona gratuitamente.)

    Domani potrebbe succedere qualcosa di meglio, ma la linea di fondo è: l'App Store offre soluzioni semplici e gratuite alla domanda originale, ma duratura, di jg-faustus, posta qui tanti anni fa - una domanda che ho avuto io stesso oggi.

    Quindi mi scuso se questo sembra più uno sproloquio che una risposta, ma in effetti tutte le risposte precedenti non erano aggiornate e non hanno portato a una soluzione utile. Non dire qualcosa potrebbe portare più persone a perdere tempo a trafficare con il terminale oa installare app discutibili. Vai al App Store : non dovrai pagare.

        
    risposta data 16.07.2017 - 20:47
    fonte
    6

    Uso la riga di comando del terminale MacOS per elencare ed eliminare tutti questi file e cartelle prima di espellere il dispositivo dal desktop. Per alcuni file, potrebbe essere necessario sudo il comando / bin / rm.

        
    risposta data 20.01.2011 - 21:20
    fonte
    4

    Uso Clean Eject (gratuito) e un servizio di automazione personalizzato (ancora privato) così posso assegnare un tasto di scelta rapida a pulito e amp; espellere un volume utilizzando l'app.

        
    risposta data 09.01.2014 - 11:20
    fonte
    4

    @ Il post di Miles Leacy

    e il commento di @ qarma:

    No, questo è ancora possibile anche in OSX 10.9, ma ora devi fare qualche passo in più:

    1) In Finder fai clic su Vai , quindi su Vai alla cartella ...

    2) Digita / Volumi e fai clic su Vai.

    3) Si aprirà una finestra del Finder e dovrebbe indicare Volumi in alto.

    Questo è il passaggio più importante:

    4) Accanto a dove dice Volumi nella parte superiore della finestra del Finder, c'è una piccola icona di cartella blu. Fai clic e trascina l'icona a sinistra nel pannello Preferiti .

    5) Ora avrai accesso alla tua cartella Volumi ovunque, anche in impostazioni Spotlight come suggerito da Miles Leacy. (Ogni volta che ne hai bisogno, fai clic sul link Preferiti per selezionarlo.)

    Spero che questo aiuti,

    Best,

    Vlad:)

    ~ ~ ~

    ~~~

    CheaspettohadopoaveraggiuntolacartellaVolumiall'elencodelleeccezioniSpotlight:

    NotainbackgroundpuoivedereilmiopostinSafari.;)

        
    risposta data 09.04.2014 - 01:43
    fonte
    3

    In realtà toccare il file. Trashes sarà il modo migliore per risolvere il tuo problema principale poiché. Trashes ora è un file invece di una cartella. Ciò significa che Apple non può riposizionare i file nella cartella. Trashes quando li elimini e l'unità non è più piena.

    Un'altra opzione è premere Cmd-Opt-Shift-Backspace per forzare Finder a svuotare il contenuto. Trash sulla scheda prima di espellerla.

    Il primo metodo è davvero il migliore in quanto il secondo riguarda tutti i contenuti del Cestino su tutte le unità.

    Tuttavia, sembra dal tuo post che sei più preoccupato per l'inquinamento del disco dai vari file di punti. Se segui i passaggi sopra menzionati, salvi lo spazio su disco, ma sarà creato un minimo di file dot.

        
    risposta data 15.08.2013 - 18:27
    fonte
    2

    Un modo semplice per interrompere l'audio dell'auto cercando di leggere i file Mac OS nascosti è rimuoverli nel sistema operativo Windows. Basta copiare la tua musica MP3 sulla chiavetta USB da iTunes. Scambia la chiavetta nel sistema operativo Windows e seleziona Visualizza i file nascosti dalle opzioni della cartella. Questo ti consentirà quindi di eliminare ogni singolo file nascosto che il tuo fidato Mac colloca sulla tua chiavetta USB, inclusi quei fastidiosi file .trashes. Finalmente un uso per il sistema operativo Windows!

        
    risposta data 21.04.2013 - 01:19
    fonte
    2

    Ho finito per utilizzare un'app gratuita " Hidden Cleaner ". Il lettore MP3 della mia auto stava cercando di leggere. (MP3filename) .mp3 (file mp3 vuoti e vuoti) pure. Vai a Macintosh HD nella sezione Dispositivi nel menu a sinistra del Finder e trascina l'unità USB e rilascia l'app Hidden Cleaner. Pulirà i file vuoti e lascerà i veri MP3 ed espellerà la tua USB.

    Nota: questa non è una soluzione permanente. Devi fare sopra ogni volta che copi i file. Non mi dispiace però.

        
    risposta data 28.02.2014 - 14:57
    fonte
    2

    Vecchia domanda, ma alla fine ho scoperto Aseps . Questa è un'utilità open source che risolve questo annoso problema confinando tutte le directory .DS_STORE in un unico posto, per impostazione predefinita /usr/local/.dscage
    Dopo l'installazione e un riavvio, non più .DS_STORE su unità USB, con il vantaggio (per alcuni di noi) di non dover disabilitare l'indicizzazione su unità esterne. Dalla versione 1.4 supporta anche OS X Mavericks.

    Aggiornamento dal sito Web di Aepsis: "Avviso: Asepsis non è più in fase di sviluppo attivo e supportato in OS X 10.11 (El Capitan) e versioni successive.

        
    risposta data 10.05.2014 - 10:31
    fonte
    2

    La maggior parte delle soluzioni qui sono 'cleanup dotfiles before eject', piuttosto che 'prevenire la creazione di dotfile'.

    Nella mia ricerca di una soluzione gratuita per il primo, ho provato alcune opzioni e ho optato per il applescript qui: SuperUser : Qualcuno ha uno script Mac Terminal per rimuovere i file nascosti? perché mi permette di vedere esattamente cosa sta succedendo lungo il percorso.

    Nota nel mio commento su quella risposta che ho fatto una piccola modifica per farlo funzionare su OSX 10.12.1. (Non sto ripubblicando la fonte in questo caso, poiché sembra una bella domanda "link friendly").

        
    risposta data 10.12.2016 - 07:24
    fonte
    2

    La cosa più stupida che non possa semplicemente contribuire a questo La risposta di Metaxis. Ma è facile creare uno script bash che gestisca automaticamente questo per tutte le cartelle in / Volumi (o uno specifico se si specifica). Dovrebbe essere in grado di invocarlo con Automator o Applescript quando una cartella appare sotto / Volumi, quindi hai la disabilitazione automatica dell'indicizzazione.

    #!/bin/bash
    
    if [ -n "$1" ]; then
        if [ ! -e "${1}/.metadata_never_index" ]; then
            echo "mdutil -i off $1"
            mdutil -i off "$1"
            cd "$1"
            rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
            mkdir .fseventsd
            touch .fseventsd/no_log .metadata_never_index .Trashes
        fi
    else
    #    echo "finding Volumes"
        find /Volumes -type d -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 "$0"
    fi
    
        
    risposta data 15.01.2017 - 17:14
    fonte
    2

    MacOS ora fornisce questo flag diretto che puoi commutare da Terminal:

    defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
    
        
    risposta data 04.04.2018 - 17:26
    fonte
    0

    Ho trovato questa app nell'App Store di Apple gratuitamente e l'ho usata, e ha funzionato benissimo per me. Devi cercare "cleanusbdrive" tutta una parola senza le virgolette nell'App Store.

    È di José A. Jiménez Campos.

        
    risposta data 26.01.2017 - 01:36
    fonte
    0

    Un'altra utility OSX per rimuovere questi file aggiuntivi è DOTCLEANER che può essere trovata su OSX App Store.

    link

        
    risposta data 27.01.2018 - 00:26
    fonte
    0

    Attualmente Cleanmydrive2 è disponibile gratuitamente nell'app store e gestisce questo problema per utente fino a sierra alto.

        
    risposta data 10.06.2018 - 09:20
    fonte
    -1

    Ho capito che funziona su Sierra 10.12.3 in Automator.

    Per prima cosa ho creato questa versione dello script: Funziona allo stesso modo di freefly42, solo un modo diverso di scrivere la stessa cosa.

    Per tradurre per diffusori bash non nativi, ciò che fa è:

    Se eseguito con un argomento della riga di comando, prova a vedere se l'argomento è una directory e se tale directory contiene un file denominato ".disable_osx_metadata".

    Se il file speciale non è presente, non succede nulla. Quella unità è ignorata.

    Se il file speciale è presente, lo script cancella tutti i metadati di osx e crea alcuni piccoli nuovi elementi che impediscono qualsiasi altra cosa. Ad esempio, la creazione di un file denominato .Trashes impedisce al sistema operativo di creare una directory denominata .Trashes e quindi di scrivere i file.

    Se eseguito senza argomenti, viene eseguito una sola volta per ogni directory in / Volumi.

    Quindi, se lo esegui manualmente o fai clic su di esso, controlla tutte le unità collegate. Se crei un flusso di lavoro in Automator, Automator lo esegue ogni volta che viene collegata un'unità, solo per quell'unità.

    #!/bin/bash
    x=.disable_osx_metadata
    [[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
    [[ -e "$1/$x" ]] || exit 0
    mdutil -i off "$1"
    rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
    mkdir "$1/.fseventsd"
    touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"
    

    Salva come "disable_osx_metadata", chmod 755, copia in / usr / local / bin.

    $ cd Documents/disable_osx_metadata/
    $ chmod 755 disable_osx_metadata
    $ sudo cp disable_osx_metadata /usr/local/bin
    

    Quindi apri Automator, New, Folder Action

    Poi ho scoperto che anche in Sierra 10.12.3 puoi ancora aggiungere la directory / Volumes in Automator, in modo non ovvio.

    Vai a Finder, File, "Vai alla cartella ...", scrivi manualmente in "/ Volumes" e premi Invio.

    Ora questo mostra una finestra con le unità HD e USB, ma nessuna cartella "/ Volumi" ovvia su cui fare clic. Ma la barra del titolo dice "/ Volumi", e appare anche in basso.

    Puoi trascinare l'icona della cartella accanto a "/ Volumi", sia dalla barra del titolo o dal basso, fino a Automator, e rilasciarlo su "Azione cartella riceve file e cartelle aggiunti a: [

    risposta data 14.02.2017 - 03:05
    fonte

    Leggi altre domande sui tag