Move programs and games to external storage
Solution 1:
There are two ways developers can make their apps for Mac. The recommended way is to put everything the app needs into a "bundle". Apps created in this way enclose everything they need in the .app
. As a result, these apps can be moved to anywhere you want, and they'll still work.
-
If you installed an app by dragging it's
.app
file from the DMG into Applications, or whatever folder it's in, it can be moved without any problems. Xcode is one of these kind of apps. Just drag the app anywhere you want. (Note: you may need to reset paths to your custom files once you open the app, such as pointing to the locations of your custom sounds, movies, whatever.)
The other way of developing apps involves using files external to the .app
bundle. These apps generally have files in the system or user's Library
folders or other folders, usually hidden to the average user. As a result, these apps must be "moved" differently - if they can be moved at all.
-
If you installed an app by double-clicking the
.app
or a.pkg
file from within a DMG, it is very likely one of these more complex apps. Creative Suite is an example of one of these. You might be able to move these apps in one of these ways:- use the app's installation process to select the new location, or
- search around or contact the vendor to get the locations of all the external items you'll have to move, point to, or change in order to use the app from an external drive
Note: these are rules of thumb, so apply generally. Apps you get from the App Store are required to be in the bundle format, but that doesn't mean that once you open the app it doesn't store some stuff in other locations. I believe GarageBand does store information in some of the Library
locations, for example.
Solution 2:
The path to GarageBand is /Applications/Garageband
the path to the loops should be /Library/Audio/Apple\ Loops/Apple
On your external drive that is mounted under /Volumes
you should recreate these paths:
sudo mkdir -p /Volumes/_yourdrive_/Applications
sudo mkdir -p /Volumes/_yourdrive_/Library/Audio/Apple\ Loops
Then copy GarageBand to this new location:
sudo cp -a /Applications/GrageBand /Volumes/_yourdrive_/Applications/
And the loops
sudo cp -a /Library/Audio/Apple\ Loops/Apple /Volumes/_yourdrive_/Library/Audio/Apple
Now launch GarageBand from the external drive. That should work; but still loads all sounds and support files from their default locations.
If it works you can delete GarageBand on your main drive.
Now rename the directory of the loops to anything, a name of your liking. (like "Apple Loops-bkp") Only after renaming: Create a softlink for the sounds:
sudo ln -s /Volumes/_yourdrive_/Library/Audio/Apple\ Loops /Library/Audio/.
Launch GarageBand again. If it picks up the loops you can then delete the previously renamed folder on your main drive.
With the basic set of loops that should have gained you ~3GB.
For the games a similar procedure might be applied, but I do not know the games in question.
The basics of this procedure should be applicable to most programs, regardless of where they are installed by default (although some insist on being installed under /Applications for full functionality). Large support files or libraries are usually especially worthy candidates, often more so than the applications themselves. At least in previous versions of OS X it was important to use softlinks as outlined above instead of (Finder generated) aliases.
A much easier solution to gain space is of course to move your own media files out of the way and to completely uninstall all those games and programs you no longer need.