The .DS_Store Strikes Back: Finder Edition
A long time ago, on a remote server far, far away…
When working with remote servers from macOS, you’ll inevitably encounter the dark side of the Force: hidden system files that follow your every move. These invisible menaces can break deployment scripts, bloat repositories, and generally cause chaos in your otherwise pristine remote environments.
EPISODE V: THE .DS_STORE STRIKES BACK
The Dark Side of macOS
Imperial .DS_Store files have driven Rebel developers from their remote server folders. These hidden files spread like the Dark Side across every folder you visit.
EPISODE VI: THE .DS_STORE STRIKES BACK
-
Darth
.DS_Store
: “Your lack ofdefaults write
is disturbing. My hidden files will spread across every folder you visit.” -
Luke: “But I’ve tried
.gitignore
! It has no power here on remote connections!” -
Yoda: “Use the Terminal, Luke. Or the sacred command to disable .DS_Store on network volumes.”
-
Han: “I’ve been running from these hidden files for ten years. Not a remote server is safe in the galaxy!”
The Solution: Clean Up the Dark Side
-
Remove Existing .DS_Store Files
# Clean up all .DS_Store files find . -name ".DS_Store" -delete
-
Prevent Future .DS_Store Creation
# Disable .DS_Store on network volumes defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE # Restart Finder to apply changes killall Finder
EPISODE VI: THE RETURN OF THE METADATA (._*)
“The ._* files are back, and they’re more annoying than ever.”
!!! warning “The Hidden Menace” When you copy files to a remote server, macOS creates mysterious ._*
files. They’re like the Ewoks of the file system - small, seemingly harmless, but they can cause big problems.
-
Darth Metadata: “Your files are not complete without my metadata. I will follow them everywhere.”
-
Luke: “But these
._*
files are causing issues with my Python scripts!” -
Yoda: “Hidden they are, but dangerous they can be. Clean them you must.”
The Solution: Defeat the Metadata Menace
-
Remove Existing Metadata Files
# Remove all ._ files find . -name "._*" -delete # Or clean both .DS_Store and ._ files find . -type f -name "._*" -o -name ".DS_Store" -delete
-
Understanding the ._* Files - The Unstoppable Force
On macOS, preventing the creation of
._*
files (AppleDouble metadata) entirely is not officially supported—especially on non-HFS+ or non-APFS volumes.Why ._* files are created: macOS uses ._* AppleDouble files to store:
- Resource forks - Extended attributes (e.g., custom icons, tags) - Finder metadata These are automatically created when copying files to filesystems that don't support extended attributes, such as: - SMB shares (Linux Samba servers) - FAT, exFAT, NTFS drives - Some WebDAV volumes
-
The Harsh Reality
Just kidding, there are no best available solutions for this problem. That’s why using Finder to mount remote servers as local drives is not an elegant solution (Check this.
-
For Git Users
Add the following to your .gitignore file:
# Add to your .gitignore (won't prevent creation, but prevents tracking) echo "._*\n.DS_Store" >> .gitignore
Final Words
“The Force is strong with clean file systems.”
May your remote development be free of metadata files, and may the Force be with you! 🚀
Enjoy Reading This Article?
Here are some more articles you might like to read next: