Limit internet use when using mobile Internet iCloud and other background services that I use seem to assume that Internet bandwidth is unlimited. As soon as I launch my Lion MacBook, hundreds of megs of updated documents, software updates, mail, notifications etc are downloaded.

This is desirable when I'm on broadband, but when I'm travelling and tethered to my iPhone, it's expensive.

Is there a way I can block all programs except Safari from using bandwidth? I could dual-boot a linux distro, but that seems overkill, and I'd lose access to mac apps.

Thanks,

Bernie     :o)
The easiest way would be to use an application such as Little Snitch; that way you can define rules easily based on whatever situation you happen to be in. It's also an excellent firewall replacement for the standard Mac OS X one, as well as multiple other uses.

If you like doing things yourself, or don't want to spend the money you could manually add entries into your hosts file located in /etc/hosts/ or create your own rules using pfctl or ipfw. I wouldn't recommend messing around with either of those unless you're confident using terminal, plus it's more work.