Cfs veya smb ağ depolamamda “._” görünmez dosyalarının depolanmasını engelle


34

OS X Mavericks'i kullanıyorum ve bazı şirket depolama disklerini monte ettim (smb veya cfs kullanarak). (SMB: //username@address.path.toserver.com/directory/data). Sürücüdeki dosyalarla çalışırken veya dosyaları sürücüye kopyaladığımda, bazı gizli dosyalar oluşturulur. Bu dosyaların çoğu, nokta-çizgi ile başlar ._ve ardından orijinal dosyanın dosya adı şöyledir:

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

Ve çoğu zaman, ünlü ._.DS_Storeve .DS_Storeayrıca oradalar.

Mac'imde bu .nokta öğeleri görünmüyor, ancak windows meslektaşlarım bu dosyaları görüyor. OS X'in bu tuhaf görünmez dosyaları oluşturmasını nasıl önleyebilirim?

Açık support.apple.com (ve diğer internet kaynaklarına) Eğer ağ sürücülerinde .DS_Store dosyalarının oluşturulmasını devre dışı bırakmak için bir 'varsayılan yazma' bulabilirsiniz. Ancak bu Mavericks'te çalışmıyor:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Şimdilik bu oneliner'ı kullanıyorum, ancak rm -rfbu durumda yanlış hissediyorum.

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

Düzenleme: Dosyaları silmek veya kopyalamaktan çıkarmak istemiyorum. İlk önce onların yaratılmamasını istiyorum.

Düzenleme: Üçüncü taraf uygulamalar yerine 'yerel' bir OS X çözümünü tercih ederim.

Düzenleme: Bu soruların iki yanıtı vardır; biri ._ dosyaları, diğeri .DS_Store dosyaları için. Ödül dot_clean, bu yerel komut satırı uygulaması tüm ._ dosyaları temizler için ödüllendirilir . Ne yazık ki .DS_Store dosyalarını temizlemiyor, bu Asepsis ile etkili bir şekilde yapılabilir. Asepsis .DS_Stores dosyasını klasörün içinde değil sabit bir konumda saklar.


Bu önerilerin sorununuzu çözüp çözmeyeceğinden emin değilim, bu yüzden bunları bir yorumda bırakın. 1. TinkerTool bresink.com/osx/TinkerTool.html dosyasını deneyin ve Finder> "Ağ bağlantısı üzerinden gizli .DS_Store dosyaları oluşturma" seçeneğini kullanın. Sırları deneyin 2. Sistem Tercihleri Bölmesi secrets.blacktree.com ve seçimi kaldırmaları Bulucu> bir ağın üzerindeki .DS_Stores.

@gentlemanhog, önerilerinizi deneyeceğim. Ancak üçüncü parti uygulamalara göre 'yerel' bir OS X çözümünü tercih ediyorum.
Kuzen Kokain

@gentlemanhog, ne yazık ki çözümleriniz Mavericks'te çalışmıyor.
Kuzen Kokain,

Yanıtlar:


31

Kabul edeceğim, defaults writekomutun Mavericks'te çalışmayı bıraktığını fark etmemiştim . Ancak, ben yerine bir astar temiz şebeke bağlar, DO zaman findve rm, bunu kullanmaktan:

dot_clean .

Manfile açıklar:

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

-M bayrağını kullanmıyorum, ama senin durumun için faydalı bulabilirsin.

-m      Always delete dot underbar files.

İşte aktif olarak .DS_Store dosyalarının oluşturulmasını engellemeye çalışan başka bir kişi var: http://www.aorensoftware.com/blog/2011/12/24/death-to-ds_store/ - onları sürücülerde istemiyor gibi görünüyor onları ağda istemediği kadar!


Bu iş için doğru bir araçtır. Ne yazık ki bu çözüm 'post' montajıdır ve montaj gerçekleştikten sonra çalıştırılması gerekir. Asepsiler daha iyi bir iş çıkarır ( apple.stackexchange.com/a/136558/55028 ) ancak üçüncü parti bir uygulamadır ve sadece .DS_Store dosyalarında çalışır ve sadece her mount'taki tüm .DS_Store dosyalarında çalışır.
KuzenCocaine

12

Yeni denedim ve bu Mavericks'te çalışıyor (en azından .DS_Store ağ paylaşımlarını devre dışı bırakmak için):

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Sadece Finder'ı yeniden başlatmayı da hatırlamanız gerekir:

killall Finder

1
Bu, bir Samba sürüşü için El Capitan'da çalışmaz. .DS_Storedosyalar hala oluşturuluyor
Sébastien

.DS_StoreOnlar Finder tarafından oluşturulur sadece "normal" görünmez dosyaları konum AppleDouble dosyalar değil. Bu nedenle, bu .DS_Store dosyalarını görmeniz, çalışıp çalışmadığına dair bir gösterge DSDontWriteNetworkStoresdeğildir.
Thomas Tempelmann,

4

._Dosyalar genişletilmiş nitelikler, ACL, dosya bayrakları ve kaynak çatal gibi meta verileri saklamak için kullanılan AppleDouble dosyalardır.

Onları silmek için çalıştırın:

find . -name ._\* -delete

Dosyaların genişletilmiş özniteliklere, ACL'lere veya dosya bayraklarına sahip olup olmadığını görebilirsiniz ls -l@eO. ._Dosyalar genişletilmiş özelliklerini çünkü dosyaları genellikle oluşturulur. xattr -cGenişletilmiş özellikleri chmod -Nsilmek veya ACL'leri silmek için kullanabilirsiniz . cp -Xve rsyncgenişletilmiş özniteliklere, ACL'lere, dosya bayraklarına veya kaynak çatallarına sahip olmayan dosyaları kopyalayın.


Dosyaları silmek veya kopyalamanın dışında bırakmak istemiyorum. İlk önce onların yaratılmamasını istiyorum.
Kuzen Kokain

2
Finder'ı kullanıyorsanız, oluşturulmalarını önleyemezsiniz.
Fyrefly

@Fyrefly, ama onları başka bir yerde yaratabilirsiniz. Asepsis'e bakınız, apple.stackexchange.com/a/136558/55028 . Yani 'yerli' bir çözüm de mümkün olabilir
CousinCocaine

3

Her Mac'te paylaşımınıza bağlanabilecek gizli dosyaların yazılmasını devre dışı bırakmak zorunda kalacağınız için, bunu istemcide değil paylaşımda durdurmak daha iyi bir seçenek olacaktır.

Yapmanız gereken tek şey, paylaşım yapılandırmanızı düzenlemek (örneğin /etc/samba/smb.conf'taki Linux'ta) ve paylaşım yapılandırmanıza aşağıdaki seçeneği eklemek:

veto files = /._*/.DS_Store/ 

Artık hiçbir Mac istemcisi bu kalıplara sahip dosyaları payınıza kaydedemez.


1
'veto dosyaları' dosyaların yazılmasını engellemez, kullanıcıların dosyaları görmesini önler . Lütfen samba.org
Justin Catterall

1
samba "sil veto files = yes" seçeneğine de sahiptir;
rwenz3l,

1
Ne yazık ki, delete veto files = yesbu nokta dosyalarını silmez, yalnızca veto filesseçenek tarafından görüntülenmeyen gizlenmiş dosyaları içeren bir klasörü silebilmenizi sağlar , bu nedenle OP'nin peşinde olduğu şeyi (ve aynı zamanda boşuna ne aradığımı gerçekleştiremez) için).
xmnboy

2

Ben kendimi bu denemedim, ve ben OP yine yerli çözümler, ancak tercih gerçekleştirmek:

Asepsis adında , bu dosyaların oluşturulmasını özel bir klasöre yönlendirerek çalışan, görünmelerini engelleyen bir uygulama var.


Bu iş için iyi bir araçtır. Ne yazık ki bu çözüm bir üçüncü taraf uygulamasıdır ve sadece .DS_Store dosyaları (._. Dosyalar değil) üzerinde çalışmaktadır ve sadece her dağıdaki tüm .DS_Store dosyaları için çalışmaktadır. Bu iyi bir çözüm, ancak yerli olmayan ve ._. Olmayan dosyalar ve bunun için hiçbir ödül yok. sry.
Kuzen Kokain

1

Yerel bir çözüm değil, aslında bu dosyaların yazılmasını da engellemez, ancak onlardan sonra etkin bir şekilde kovalar ve yazıldığı anda silinir…

Mavi hasat

BlueHarvest, .DS_Store ve ._ AppleDouble dosyalarını USB anahtarlarınızdan, SD kartlardan, müzik çalardan, dosya sunucularınızdan veya Mac olmayan herhangi bir diskten otomatik olarak kaldırır. BlueHarvest, bu öğeleri oluşturulduklarında veya değiştirildiklerinde kaldırır, böylece bir parmağınızı kaldırmanıza gerek kalmadan her zaman meta verisi serbest kalırsınız.

Üyelik yok, birkaç senedir başarıyla kullanıyorum.


0

Bildiğim kadarıyla bu dosyaların oluşturulmasını engelleyemezsiniz. En azından Finder onları yaratacak.

Bu dosyaları silmek de bir işe yaramaz - Mac'e birime ve klasörlerine bir sonraki eriştiğinizde Finder bunları tekrar oluşturur.

Windows çalışanlarınızın bu dosyaları görmesinden şaşırdım. Mac'imde Mac ve Windows kullanarak yıllardır çalışıyorum - ve bu dosyaları hiç göremiyorum. Ne Mac'te ne de Windows'ta.

Bu dosyalar varsayılan olarak "gizli" olarak işaretlenmiştir ve Windows, gizli dosyaları ve klasörleri gizleyecek şekilde ayarladıysanız görünmez.


Kontrol ettim ve onlar 'gizli dosyaları gizle'yi devre dışı bıraktılar. Ancak bu onların yaratılmalarını engellemez. Ben OS varmış gibi bunu düzeltmek için bir yol 10,5 varsayılan yazma com.apple.desktopservices DSDontWriteNetworkStores gerçek bool, olduğunu düşünüyorum
CousinCocaine

Eğer devre dışı bırakılmışlarsa (işaretlenmemişlerse) 'gizli dosyaları gizle', o zaman bu sadece diğer yoldur: etkinleştirin. :-) Ve dediğim gibi: bildiğim kadarıyla "yerel OS X çözümü" çözümü yok. Ve: "support.apple.com" adresindeki bir cevaba bağlandınız: "Uzak dosya sunucularında .DS_Store dosyalarının oluşturulmasının engellenmesi Finder'da beklenmeyen davranışlara neden olabilir". Ve: Bunu önlemeyi vaat eden uygulamalar kurmanızı önermem. Bildiğim kadarıyla bu çok tehlikeli olabilir.
Martin

2
"Bu çok tehlikeli olabilir" :) Şimdi gerçekten bu dosyaların gitmesini istiyorum! Cidden, .DS_Store dosyaları Finder özelliklerini depolar ve bozuk DS_Store dosyaları gerçekten garip şeyler yapabilir. Bozuk DS_Store dosyaları istemiyorum, NO DS_Store dosyaları istiyorum. Onları çıkarmaktan korkmuyorum. Ve asıl soruma geri dönelim: OS X'in bu tuhaf görünmez dosyaları oluşturmasını nasıl önleyebilirim? Ve bununla demek istediğim bütün dosyaları ve .DS_Store dosyalarını. Başka hiçbir şey.
Kuzen Kokain

İnsanların "gizli dosyaları gizle" işlevini etkinleştirdiğini (ve devre dışı bırakılmadığını) onaylamanız benim için yararlı olurdu (ve siz olabilirsiniz). Ayrıca, bu dosyaların oluşturulmasını ve yerel bir çözüm istediğinizi istemediğinizi, ancak yerel bir çözüm yoksa, o zaman "ama ben istiyorum" demeye yardımcı olmaz.
Martin,

-1

Özellikle harici bir fat32 HD'den go ._ dosyalarından kurtulmanın çok kolay ve ücretsiz bir yolunu buldum.

OnyX'i (ücretsiz yazılım) başlatın . Yardımcı Programlar'dan, AppleDouble'a gidin, ... klasörü seçin. Bu kadar!!!


1
OP, özellikle bir temizleme aracı istemediğini, ancak dosyaların yazılmasını engelleyen bir araç olduğunu özellikle belirtmektedir.
Tetsujin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.