Vô hiệu hóa việc tạo tệp .AppleDouble trên Mac OS X


19

Có cách nào để vô hiệu hóa việc tạo các tệp .AppleDouble trong Mac OS X (Snow Leopard) trên các hệ thống tệp không phải HFS (chẳng hạn như chia sẻ mạng SMB hoặc NFS, v.v.) không?


1
Vui lòng cung cấp thêm thông tin. Chúng thường không được tạo trên HFS +.
Daniel Beck

Câu trả lời:


7

Cho rằng máy Mac hỗ trợ nhiều nhánh cho tệp, thủ thuật AppleDouble ( ._tệp) cố gắng bảo toàn dữ liệu trong các nhánh đó. Vì vậy, chúng là cần thiết để Mac OS X có thể thực hiện các thao tác trên chúng.

Tuy nhiên, hầu hết các tệp được tạo khi cùng một âm lượng được gắn thông qua AFP, không phải SMB / CIFS hoặc NFS. Trong trường hợp đó, máy chủ AFP có thể có các tùy chọn cấu hình để xử lý các tệp Apple Double (ví dụ: xem bài đăng trên blog này ).

Để thoát khỏi các tệp AppleDouble, bạn có thể sử dụng dot_cleanlệnh Mac :

dot_clean --keep=dotbar /Volumes/mounted_smb_volume

nơi mounted_smb_volumesẽ là tên của khối lượng gắn kết.

Bạn có thể thêm nó vào một crontabmục, hoặc tốt hơn nữa, sử dụng một cái gì đó như Lingon X để tạo một launchdmục.


Điều này có hiệu quả với bạn không, @Bart? Bạn có thể xem xét đánh dấu nó là giải pháp phù hợp
juandesant

Tôi đã sử dụng điều này trên thẻ SD và nội dung không thể được xem bằng Finder nữa, chỉ hiển thị trong thiết bị đầu cuối với ls.
FRIdSUN

@FridSUN, hãy thử đẩy và gắn âm lượng lại, điều đó không có nghĩa là chúng sẽ ẩn trong Finder Finder trừ khi bạn có các tệp bắt đầu bằng dấu chấm (.) Hoặc bạn đã đánh dấu âm lượng đó là vô hình.
17:30

Câu hỏi là về các tệp được gọi .AppleDouble, không phải tệp bắt đầu._
Dừng gây hại cho Monica

AppleDouble là một mã hóa cho siêu dữ liệu, @OrangeDog; xem ví dụ icesapes.com/wordpress/how-to-remove-ds_store-and-applingouble Siêu dữ liệu được mã hóa AppleDouble ở dạng ._tệp.
juandesant

4

http://support.apple.com/kb/HT1629 cho tôi biết rằng điều này có thể được thực hiện thông qua

Để định cấu hình tài khoản người dùng Mac OS X để các tệp .DS_Store không được tạo khi tương tác với máy chủ tệp từ xa bằng Finder, hãy làm theo các bước dưới đây:

Lưu ý: Điều này sẽ ảnh hưởng đến tương tác của người dùng với các máy chủ SMB / CIFS, AFP, NFS và 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
Dường như không hoạt động cho .AppleDoublecác tập tin.
Adam Lindberg

4
Điều này chắc chắn chỉ áp dụng cho .DS_Store và không áp dụng cho .AppleDouble.
Asher

3

Các tệp AppleDouble (những tệp có tên ._filename) được tạo khi bạn sao chép tệp chứa một ngã ba tài nguyên sang hệ thống tệp không phải HFS.

Đôi khi (nhưng không phải luôn luôn) tài nguyên bạn có thể quản lý mà không có dữ liệu ngã ba tài nguyên - ví dụ: sao chép tệp mp3.

Bạn có thể ngăn chặn sao chép tài nguyên ngã ba nếu bạn sử dụng trình bao (không phải công cụ tìm) bằng cách sử dụng:

cp -X

2
Đây không phải là một giải pháp chung.
Adam Lindberg

Để làm rõ lý do tại sao đây không phải là một giải pháp chung, điều này chỉ áp dụng khi sao chép thủ công các tệp từ dòng lệnh. Điều này dường như không có bất kỳ mối quan hệ nào với vấn đề này, vì các tệp .AppleDouble được tạo bất cứ khi nào một tệp được truy cập trên ổ đĩa không phải HFS +. Ngay cả khi bạn có thể sao chép mà không có ngã ba tài nguyên, điều đó chỉ giải quyết một trường hợp đặc biệt và không phải là vấn đề chung về việc không muốn có tệp .AppleDouble.
Asher

Câu hỏi là về các tệp được gọi .AppleDouble, không phải các tệp bắt đầu._
Dừng gây hại cho Monica

1

Bạn có thể sử dụng BlueHarvest để tự động xóa các tệp AppleDouble hoặc các tệp khác được tạo bởi OS X:

Bạn có thể sử dụng find . -name ._\* -deleteđể xóa ._các tệp đệ quy trong thư mục hiện tại. dot_clean -m .cũng có tác dụng tương tự.

Các tệp bắt đầu ._được sử dụng để lưu trữ siêu dữ liệu như các thuộc tính mở rộng và ACL. Các thuộc tính mở rộng bao gồm các nhánh tài nguyên ( com.apple.ResourceFork) và cờ tệp ( com.apple.FinderInfo). Bạn có thể thấy các thuộc tính mở rộng với xattr -lhoặc ACL với ls -le. Bạn có thể sử dụng xattr -cđể xóa tất cả các thuộc tính mở rộng hoặc chmod -Nxóa ACL và bạn có thể sao chép các tệp mà không cần thuộc tính mở rộng với cp -X.


1

Có một công cụ gọi là "dsweeper" có sẵn tại đây: https://github.com/simsalabim/dsweeper Nó giải quyết vấn đề (một khi được cài đặt) một cách đơn giản

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

Từ trang web:

Một công cụ không cho phép AppleDouble ._whwh tập tin vào thư mục được lưu trên ổ cứng ngoài. Giúp giữ Dropbox sạch sẽ.

Thông qua homebrew, việc cài đặt rất đơn giản:

$ brew install npm

$ npm install dsweeper -g

Giải quyết vấn đề cho tôi như một cơ duyên.


-1

Tôi nghĩ một phần của câu hỏi là: tại sao bạn muốn loại bỏ các tệp .AppleDouble?

Các tệp .AppleDouble được tạo để lưu trữ các tài nguyên tệp bổ sung (siêu dữ liệu, v.v.). Các hệ thống tập tin HFS + (được thiết kế bởi Apple) có phương tiện riêng để giải quyết việc lưu trữ thông tin này. Các hệ thống tệp không phải HFS + (NTFS, EXT3 / 4, v.v.) được phân phát qua chia sẻ tệp (Netatalk, SMB, v.v.) yêu cầu một số cách để lưu trữ thông tin này. Điều này đạt được bằng cách tạo các tệp bổ sung trên hệ thống tệp, vì hệ thống tệp không có phương tiện gốc để lưu trữ thông tin.

Không giống như các tệp .DS_Store (mà theo tôi hiểu, lưu trữ các chi tiết trên màn hình như vị trí biểu tượng, v.v.), các tệp .AppleDouble thực sự lưu trữ thông tin có khả năng liên quan. Điều này có nghĩa là bạn có thể xóa các tệp .AppleDouble và HĐH sẽ không khiếu nại, nhưng bạn cũng có thể mất dữ liệu meta nếu có bất kỳ tệp nào được liên kết với tệp. Điều này cũng bao gồm siêu dữ liệu được tạo bởi / cho Spotlight, chẳng hạn như khi iTunes phát tệp. Xóa thông tin này không có khả năng làm tổn thương bất cứ điều gì, nhưng nó đang được tạo / lưu trữ cho bạn để HĐH có thể tối ưu hóa tìm kiếm và các điều khoản khác.

Vì vậy, kết luận của tôi là có lẽ bạn không thực sự muốn xóa .AppleDouble. Nhưng có lẽ các chi tiết có thể được điền vào? Tôi đã đến chủ đề này để cố gắng giúp cha tôi với hai ReadyNAS; anh ta muốn loại bỏ các tệp vì sự tồn tại của chúng là không thể giải thích được và gây ra hành vi lạ với chương trình sao lưu ReadyNAS (dường như được giải quyết bằng cách sử dụng rsync). Xin vui lòng cho tôi biết nếu có thêm chi tiết không được đề cập trong kết luận của tôi ở đây.


2
Lý do của tôi là các thư mục .AppleDouble trong các thư mục trên NAS của tôi ngăn các máy Windows của tôi xóa các thư mục đó. Phải đăng nhập vào NAS và sử dụng trình duyệt tệp dựa trên web thực sự rất khó chịu.
Simon Gill

Tôi đã bỏ phiếu này vì tôi tin rằng nó có chứa một số thông tin sai lệch. Rõ ràng không có hệ thống tệp HFS + nào có thể lưu trữ siêu dữ liệu? Điều này không chính xác, NTFS không hỗ trợ siêu dữ liệu tệp, chỉ là Apple không tương tác với nó một cách chính xác và thay vào đó tạo ra một tệp cơ bản.
leinad13

2
Lý do của tôi là âm thanh nổi trên xe hơi của tôi cố gắng phát các tệp ._XYZ.MP3 từ thanh USB của tôi (FAT32) và phàn nàn dữ dội. Vì vậy, tôi đã nghĩ ra một AppleScript nhỏ để xóa các tệp ._ khi đẩy âm lượng.
Joe Völker

NTFS không hỗ trợ siêu dữ liệu của Apple và Apple không ghi vào siêu dữ liệu của NTFS. Kết quả là mô tả trong câu trả lời ban đầu là chính xác. "Thông tin sai lệch" chỉ xuất phát từ việc hiểu sai những gì "cái này" đề cập đến và giả sử nó đề cập đến siêu dữ liệu như vậy.
Asher
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.