Friday, September 10, 2004

The beauty of Symlink and SymbolicLinker - OS X


Now that I had my big external drive, the next step was to download and install the OS X development tools. Tons of utilities, documentation, AppleScript studio -- you name it.

So I try the install -- and discover it wants to install on my boot disk! Sigh. The original Mac didn't have these problems -- but OS X is more like Windows. Paths matter. Not all progress is linear. Losing the innate indirection design of Mac Classic is quite sad.

But the documentation mentioned "symlinks". This is a Unix thing, too "advanced" even for my O'Reilly OS X Unix book!

Symlinks come in two forms. One is like a Microsoft Windows shortcut/alias. That's a "soft link". Main limitation is it holds a hard coded path. Move the destination and it breaks. Just like Windows.

Other form is a "hard link". BAD. DANGEROUS. Stay away. Ask no more.

There is risk even to a softlink. Some non-Apple deletion tools get confused by a soft symlink and delete the originals. The trashcan knows better.

Symlinks are created via the terminal. It's probably not too hard, but SymbolicLinker 1.1 is freeware and is very safe and convenient. I downloaded and installed it. Lovely, thank you Nick.

So I moved the "Developer" folder I'd started with to my new external drive, and used SymbolicLikner to create a symlink. It created an item with the name "Developer symlink". I can't change the name. I moved it to my boot disk. Then I continued the install. Worked perfectly.

These look like handy ways to get around a number of odd things that require installation on the boot disk. Symlinks exist at the BSD level, so they're transparent to most Cocoa applications.

No comments: