มีวิธีใดที่จะป้องกันไม่ให้ Mac สร้างไฟล์ขีดเส้นใต้?


35

ในที่ทำงานเราให้ลูกค้าที่มีความชำนาญด้านเทคโนโลยีของเราช่วยโครงการเล็ก ๆ น้อย ๆ โดยเฉพาะสำหรับเขา อย่างไรก็ตามเขาใช้ Macbook ส่วนตัวของเขาและในขณะที่เขาแก้ไขไฟล์ในเครือข่าย (Windows) ของเรา Macbook ของเขาจะสร้างไฟล์เมตาที่ไม่จำเป็นจำนวนมากซึ่งเราจะทำการลบในภายหลัง

ตัวอย่างเช่นมันสร้างไฟล์ชื่อ. DS_Store ในไดเรกทอรีใด ๆ ที่เขาเปิดรวมถึงไฟล์ "dot underscore" สำหรับแต่ละไฟล์ที่เขาแก้ไข ตัวอย่างเช่นหากเขาแก้ไขไฟล์ชื่อ "Main.php" Macbook ของเขาจะสร้างไฟล์ใหม่ที่ชื่อว่า "._Main.php"

ฉันรู้ว่ามีวิธีที่จะป้องกันการสร้างไฟล์ .DS_Storeแต่ไม่มีผู้ใดเกี่ยวกับวิธีการป้องกันการสร้างไฟล์เหล่านี้ซ่อนอยู่นำหน้าด้วยจุดขีด

มีวิธีใดบ้างที่จะปิดการทำงานบน Macs ได้? มีวิธีใดที่จะป้องกันไม่ให้สร้างไฟล์เหล่านั้นตั้งแต่แรก?


1
หัวข้อที่เกี่ยวข้อง , อีกคนหนึ่งอธิบายว่า._ไฟล์ที่มีการ
Daniel Beck

คำตอบ:


18

มีผู้ใช้ Mac ของคุณติดตั้งBlueHarvest

Blue Harvest


6
มันเป็นซอฟต์แวร์เชิงพาณิชย์ มีอะไรอีกไหม
Artur Bodera

มันน่าสังเกตว่ารอสส์ Tulloch (ผู้ผลิตของ BlueHarvest) ที่มีฟรีรุ่นที่เรียกว่าBlueHarvest Lite มีข้อ จำกัด ว่าคุณต้องเลือกและเปิดใช้งานฟีเจอร์สำหรับไดรฟ์แบบถอดได้ใหม่แต่ละตัว แต่เมื่อตั้งค่าแล้วมันจะทำให้ไดรฟ์นั้นปลอดขยะ คุณสามารถค้นหาได้ใน Mac App Store แต่ฉันไม่แน่ใจว่ามันจะทำงานกับไดรฟ์เครือข่ายหรือไม่ คุณสามารถลองดู
ADTC

5
ควรสังเกตว่าโซลูชันนี้ไม่ได้ป้องกันไม่ให้ Mac สร้างไฟล์. _ ตามที่ OP ร้องขอ มันจะลบไฟล์. _ ออกเมื่อคุณนำไดรฟ์ออก สำหรับฉันมันหมายถึง "การเพิ่มการดูถูกการบาดเจ็บ"
ผู้ใช้บางคน

ดูเหมือนว่ารุ่น Lite จะไม่สามารถใช้งานได้อีกต่อไป ลิงค์ดาวน์โหลดจะพาคุณไปยังเวอร์ชั่นของ App Store ที่ต้องชำระเงิน
davecave

10

บนเซิร์ฟเวอร์ไฟล์ Linux หรืออุปกรณ์ NAS คุณสามารถใช้สิ่งต่อไปนี้:

ตัวเลือก A. การปรับเปลี่ยนการตั้งค่าแซมบ้าป้องกันทั้งหุ้นทรัพยากรและไฟล์ .DS_Store:

ยับยั้งไฟล์ = /._*/.DS_Store/

ลบไฟล์ยับยั้ง = ใช่

(ไฟล์การกำหนดค่าอยู่ที่ /etc/samba/smb.conf หรือ /etc/smb.conf ขึ้นอยู่กับการกระจายของคุณ) ข้อเสีย: การแชร์บางอย่างนั้นไม่ได้มาจากระบบ NAS ที่ใช้ Linux หรือส่วนใหญ่คุณไม่มีสิทธิ์เข้าถึงเชลล์

ตัวเลือก B. สร้างเชลล์สคริปต์อย่างง่ายและเรียกใช้จากเครื่องที่เชื่อมต่อของคุณโดยใช้ cron

find / YourNetworkShareLocation -name '._ *' -exec rm {} \;

แทนที่ / YourNetworkShareLocation ด้วยตำแหน่งที่เครือข่ายของคุณเชื่อมต่ออยู่เช่น / Volumes / ShareName หรือ / media / ShareName เป็นต้น

ข้อเสีย: วิธีนี้เป็นวิธีที่ดุร้าย - ภาระที่ไม่จำเป็นในการจัดเก็บและเครือข่าย อย่างไรก็ตามสิ่งเดียวกันนี้สามารถทำได้อย่างง่ายดายใน Windows โดยใช้เวทมนตร์ PowerShell เล็กน้อย

คำเตือน: นี่ไม่ใช่สิ่งที่ฉันเรียกว่า "ทางออก" มันเป็นแฮ็ค แต่มันสามารถช่วยให้ใครบางคนลดระดับความรำคาญที่ส่งมอบโดยไฟล์ fork ของทรัพยากร


การกำหนดค่าแซมบ้าของคุณถูกต้องจริงหรือไม่? มันเป็น/รายการที่แยกออกจากกัน?
หยุดทำร้ายโมนิก้า

@OrangeDog ใช่มันเป็นรายการ / - แยกกัน: samba.org/samba/docs/current/man-html/smb.conf.5.html#VETOFILES
devconsole

4

ให้เขาดูในแอปพลิเคชันCleanup SMB Messฟรีและเหมาะเจาะ นักพัฒนากล่าวว่า:

applescript droplet นี้จะทำความสะอาดส่วนแบ่ง Windows ที่เมาท์ผ่านไคลเอนต์ Samba ของ Mac OS X โดยลบไฟล์ "._ *" ทั้งหมด, ไฟล์. DS_Store และ. Trashes โฟลเดอร์บนไดรฟ์และโฟลเดอร์ทั้งหมดที่ลากมา "

ฉันใช้กับไดรฟ์หัวแม่มือและเครื่องเล่น MP3 เท่านั้นและมันทำในสิ่งที่มันบอก ฉันเดาว่ามันต้องสแกนอุปกรณ์เพื่อลบขยะและนั่นอาจยุ่งยากในการแชร์เครือข่ายขนาดใหญ่ แต่นั่นเป็นเพียงการเก็งกำไรในส่วนของฉัน ฉันขอแนะนำให้ถามนักพัฒนา


3

ใช้โปรแกรมอื่นที่ไม่ใช่Finderเช่นMuCommanderเพื่อเรียกดูไฟล์ของคุณ (ใช้ได้กับไดรฟ์ในเครื่องด้วย)

ใน OS X lion วิธีนี้ควรอนุญาตการเข้าถึงเริ่มต้น~/Libraryโดยไม่ต้องแก้ไขการตั้งค่าหรือกด ALT เช่นกัน

ฉันใช้MuCommanderบนSnow LeopardและLionและสังเกตว่าทั้งสองHFS+หรือExtFatไดรฟ์จบลงเกลื่อนไปด้วยไฟล์ด้วยไฟล์เหล่านี้

Folks: มีอีกปัญหาหนึ่งคือขนาดไฟล์ ... ทรัพยากรจำนวนมากมีอย่างน้อย 4096 ไบต์แม้ว่าไฟล์ต้นฉบับจะมีขนาดต่ำกว่า 4096 ไบต์ดังนั้นการขจัดปัญหานี้จะช่วยให้ระบบไฟล์ Bloat มีปัญหา

(ตัวอย่างเช่น: ดาวน์โหลดไฟล์ข้อความ: http://www.gamers.org/pub/games/idgames/levels/heretic/gi/horror.txtบน Mac และดูด้วยตัวคุณเอง)



0

ใน QNAP NAS ของฉัน samba config ใน /etc/smb.conf มี:

veto files = /.AppleDB/.AppleDouble/.AppleDesktop/:2eDS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/.@__thumb/.@__desc/:2e*/.@__qini/.Qsync/.@upload_cache/.qsync/.qsync_sn/.@qsys/.digest/
    delete veto files = yes

ดังนั้นฉันจึงแก้ไขไฟล์ยับยั้งไปที่:

veto files = /._*/.AppleDB/.AppleDouble/.AppleDesktop/:2eDS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/.@__thumb/.@__desc/:2e*/.@__qini/.Qsync/.@upload_cache/.qsync/.qsync_sn/.@qsys/.digest/

จากนั้นรีสตาร์ทแซมบ้า (เป็นระบบลินุกซ์ดั้งเดิมดังนั้นฉันจึงทำผ่าน init.d):

/etc/init.d/smb.sh restart


-1

มียูทิลิตี้ที่เรียกว่า "asepsis"

นอกจากนี้ยังมีคุณสมบัติในการล้าง mac ของคุณจากไฟล์. DS_Store และอ่านคำถามที่พบบ่อย

http://asepsis.binaryage.com/


คำถามที่พบบ่อยไม่ได้กล่าวถึง._ไฟล์
DavidPostill

-3

มันง่ายมากและคุณไม่จำเป็นต้องติดตั้งอะไรเลย

  1. เปิดสปอตไลท์ (cmd + space)
  2. พิมพ์ใน 'Terminal.App'
  3. และกด Enter (นี่ควรเปิดแอปพลิเคชั่น Terminal)
  4. คัดลอกไปยังคลิปบอร์ดของคุณ (cmd + c):

    ค่าเริ่มต้นเขียน com.apple.desktopservices DSDontWriteNetworkStores จริง

  5. และวางลงในเทอร์มินัล (cmd + p)

  6. กดปุ่มตกลง
  7. ปิดเทอร์มินัล (cmd + Q)
  8. ครั้งต่อไปที่คุณรีสตาร์ท Finder Mac ของคุณจะหยุดเขียนไฟล์ DS บนที่เก็บข้อมูลเครือข่าย

Ref: http://support.apple.com/kb/HT1629


4
ลิงค์นี้โพสต์โดย OP เองแล้วใครจะรู้วิธีปิดการใช้งาน.DS_Storeไฟล์จากการสร้าง วิธีนี้ไม่ได้ป้องกัน._ไฟล์จากการถูกสร้างขึ้นเนื่องจากเป็น forks ทรัพยากร (และอื่น ๆ ) ที่เขียนโดย OS เสมอแม้ว่าคุณจะเปิดใช้งานDSDontWriteNetworkStoresตัวเลือกก็ตาม
slhck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.