Jak zapobiec tworzeniu przez system Mac OS X plików .DS_Store w woluminach innych niż Mac (HFS)?


17

Czy istnieje sposób, aby zapobiec tworzeniu przez Mac OS X pliku .DS_Store i innych ukrytych meta-plików na obcych woluminach, takich jak NTFS i FAT? Dzielę partycję NTFS z danymi takimi jak profile Thunderird & Firefox i DocumentRoot apache pomiędzy Mac OS X i Windows, co jest bardzo przydatne. Nie mam nic przeciwko, jeśli Mac OS X nie jest w stanie indeksować ani w inny sposób robić porządnych rzeczy, do których służą te metapliki.

Uwaga: nie jest współdzielony przez sieć, zarówno systemy operacyjne, jak i wspólna partycja współistnieją na tym samym dysku, na tym samym komputerze.

Odpowiedzi:


19

Jeśli dzielisz partycję NTFS przez sieć, używając SMB lub jakiegoś innego, możesz ją wyłączyć.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Biuletyn techniczny Apple „ Jak zapobiec tworzeniu plików .DS_Store przez połączenia sieciowe ”. Nie sprawdziłem, czy nadal działa to w systemie Snow Leopard.


Nie jestem pewien, czy to działa, chyba że faktycznie znajdują się na dysku sieciowym.
— alex

@alex Myślę, że masz rację. OP nie powiedział, jak dzieli partycję NTFS. Zmienię swoją odpowiedź, ale może to być całkowicie błędne.
— Richard Hoskins

Nie, nie przez sieć. Tylko jeden dysk, Mac OS na jednej partycji, Windows na drugiej i partycja NTFS na udostępnione pliki.
— Petruza

PS: Przepraszam, co oznacza OP? Wiem, że to odnosi się do mnie, ale nie znam znaczenia.
— Petruza

1
@Richard Hoskins: twoja odpowiedź dotyczy zapobiegania tworzeniu plików .DS_Store w sieci. Nie można tego zatrzymać, jeśli jest na tym samym dysku. @sudo petrutza: OP oznacza Plakat oryginalny (też nie miał pojęcia)
— alex

5

Korzystam z tego. Ustawiłem go raz, gdy zirytował mnie ten sam problem. Ta metoda sprawia, że ​​system robi to wszystko automatycznie.

  1. Utwórz skrypt o nazwie Remove_Hidden_Files.sh, otwierając terminal i na przykład cd ~ / Documents i wpisz touch Remove_Hidden_Files.sh

  2. Za pomocą vi utwórz skrypt. W typie terminalavi Remove_Hidden_Files.sh

  3. Naciśnij „I”, aby przejść do trybu wstawiania i wpisz następujące polecenie (Podpowiedź, aby uzyskać # naciśnij alt i 3)

    #!/bin/bash
    # Removing the hidden files from my drive using the find command. Change xxx to the name of your external volume or path you wish to run the command on.
    # the -mount will stop the find command going to other volumes other than specified.
    
    find -x /Volumes/(xxx) -mount -name '.DS_Store' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Spotlight-V100' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '._.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.fseventsd' | xargs rm -rf
    
  4. Naciśnij klawisz Escape, aby wyjść z trybu wstawiania, przytrzymaj klawisz Shift i naciśnij :

  5. Wpisz, wq!a następnie naciśnij klawisz Enter

  6. Spraw, by skrypt był wykonywalny chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. Sprawdź to, aby upewnić się, że działa. Możesz to łatwo zrobić, otwierając terminal i wpisując cd / Volumes / (xxx), naciśnij enter, a następnie ls -la, aby wyświetlić listę wszystkich plików. Powinieneś zobaczyć .DS_Store, jeśli nie możesz nawigować za pomocą wyszukiwarki do woluminu, a następnie powtórzyć polecenie i powinieneś go tam zobaczyć.

  8. Otwórz inny terminal, naciskając klawisz polecenia i N.

  9. Rodzaj cd ~/Documents

  10. Rodzaj sh Remove_Hidden_Files.sh

  11. Przejdź do drugiego okna terminala i sprawdź, czy pliki .DS_Store zostały usunięte.

  12. Utwórz demona uruchamiania. Oznacza to, że działa automatycznie, więc nie musisz nic robić.

    Najlepszym sposobem jest pobranie lingon

  13. Utwórz demona dla swojego konta użytkownika i nazwij go com.remove_hidden_files.Launchd

  14. W polu polecenia wpisz sh ~/Documents/Remove_Hidden_Files.sh

  15. Możesz wpisać ścieżkę lub przejść do niej / Volumes / (xxx)

  16. Uruchom ponownie maszynę i wypróbuj ją

Uwaga: jeśli zmienisz nazwę dysku zewnętrznego, użyj innego nazwanego dysku lub ścieżki, którą będziesz musiał zmienić w skrypcie.


6
Podoba mi się, jak ta odpowiedź stała się tutorialem vim. Haha
— Macek

Możesz dodawać skrypty wylogowania z komputera Mac bez płacenia za aplikacje innych firm, używając sudo defaults... seeskill.wordpress.com/2012/02/23/…
— mcandre,

Więc to czyszczenie nastąpi, kiedy? kiedy się zalogujesz?
— LarsH

4

Korzystam z BlueHarvest w tym celu:

https://zeroonetwenty.com/blueharvest/

Działa we wszystkich woluminach, a nie tylko w udziałach sieciowych zgodnie z rozwiązaniem Apple.


Do Twojej wiadomości, BlueHarvest to program dla komputerów Mac, który kosztuje 15 USD za 3 komputery (więcej USD za więcej komputerów) i ma „30-dniowy bezpłatny okres próbny”
— Xen2050

Witryna BlueHarvest, do której prowadzi powyższy link, obecnie nie odpowiada, co wydaje się oznaczać, że wsparcie jest niedostępne. Jednak aplikacja znajduje się w App Store.
— LarsH

Zaktualizowałem adres URL.
— Asinine Monkey
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.