Posts Tagged ‘osx’

20th June
2009

Using a virtual machine — perhaps VMware Fusion or Parallels Desktop — can result in way-too-large backups. Here’s one way to make those backups more manageable.

written by Mark Wheadon

If you’re using a product such as VMware Fusion or Parallels Desktop to run another operating system on your Mac (perhaps Windows or Linux), then you may have noticed that your backups are now taking a long time. I documented one approach to solving this problem in an earlier article. Now here’s a different approach, originally suggested by Chris Ryder (thanks Chris).

First, here’s a recap of the problem. It’s written in terms of VMware Fusion but should be equally valid for other VM engines such as Parallels Desktop. If you’ve already read the previous article then you might want to skip to the meat of this article.

Large backups

When you’ve been using Fusion’s virtual machine (in my case, to run Windows), you will find that Time Machine’s backup takes longer than expected — sometimes much longer.

This is because Fusion stores its virtual machines’ disks as a bunch of large files. When you run your virtual machine using Fusion (or Parallels Desktop), the contents of the VM’s virtual disk changes, and even if you haven’t made many explicit changes to files, all sorts of small changes happen to the virtual disk’s contents.

Incremental can still be too much

Time Machine performs incremental backups. That is, it copies only files that have changed since the last backup. Unfortunately those large files that Fusion uses to store the virtual disk’s contents? They’ve probably all changed, at least a little.

backupSo, instead of your incremental being a few megabytes and taking a few tens of seconds, it’s ten gigabytes, takes ages, and rapidly fills your backup disk. (Which causes its own problems: described here.)

One solution: back up the VM in another way

One solution is to keep all your precious files in the Mac file-store, tell Time Machine to avoid backing up your virtual machine(s), and then back them up some other way. This results in the smallest backups and is useful if you don’t need sophisticated incremental backups of your virtual machines.

If this sounds like you, then I’ve shown how this can be achieved in an earlier article.

An alternative solution: use a sparse bundle

If you need proper incremental backups of your VMs, then one approach is to use a sparse bundle. This is a disk image which is stored  as a collection of small files (typically 8MB), so when Time Machine backs up the disk image, it only needs to copy the files that have changed.

This approach still isn’t perfect — when (for example) Windows does anything, it tends to scatter its writes over the disk, so incremental backups are still large, but they’re not as large as when Time Machine backs up the VM directly. Typically, your incrementals may be a few hundred megabytes with no VMs, a few gigabytes with a VM stored on a sparse bundle (for Windows. Linux may be better behaved), and a few tens of gigabytes with the same VM stored in the standard way.

Here’s how

First lets create a new disk image based on a sparse bundle and move our VM onto it. We’ll need to know how large to make the VM, so go to Documents and look in Virtual Machines. In there is one folder per virtual machine and you can find the VM’s size by clicking on the corresponding folder and hitting cmd+I:

VM size

Create the disk image

Now create the sparse bundle. The point-and-click way of doing this is to use Disk Utility, so start that up (I use spotlight to do so):

Spotlight

and click on New Image:

Picture disk utility

Then fill in the details. I made my sparse bundle file-system for the Windows XP VM twice as large as the space it currently occupies, to allow for future expansion — so 50GB in my case (don’t worry: it only uses as much real disk as is needed to store the actual content). Here’s all the fields you need to change:

Bundle settings

  • The Save As is the filename for the sparse bundle whereas the Volume Name is the name the disk will have when mounted — I made them the same;
  • I saved my sparse bundle in Documents->Virtual Machines;
  • Image Format needs to be sparse bundle disk image, as that’s the whole point of the exercise.

Now click on Create, and

Creating image

a few seconds later you have a sparse bundle file-system image.

Mounted bundleNow double-click that file (mine’s called VM disk.sparsebundle).

Mac OS will mount it…

and the new file system will appear on the desktop.

Move the VM into the new disk image

Next, drag the folder(s) corresponding to the VM(s) you’d like backed up by Time Machine onto the new disk. Hold down cmd as you drag and drop, so that you move the folders (rather than copying them):

Move onto diskEnsure the new disk image is mounted at login

The .sparsebundle file needs to be mounted every time you log in, so that the file-store is available. To do that, go into System Preferences->Accounts, click on your username and then on Login items. Now drag your sparsebundle file into the list of login items:

Mount at loginand that’s it.

Using your newly-homed VM(s)

To use your new VM(s), just double-click on the corresponding folder — perhaps put an alias to it on your desktop or in the dock. When you next use it you’ll get a message:

I moved it

Just click on I moved it and you’re sorted.

Warning

As with any method of backup which relies on backing up the virtual machine’s disk image using the host operating system, your backup may not be of any use if it’s made whilst the VM is running, so I suggest you make sure that Fusion/Parallels is not running when Time Machine is backing up your data. If you don’t always manage to do so then some of your backups may not be valid.

Why?

Because if you backup the files that Fusion (or Parallels) is using for a disk image, then you’re backing up what’s on disk, but not what’s in memory, in disk buffers, etc. So when you come to restore from backup, you may find that the disk image is corrupted. In the worst case scenario you won’t be able to start up the VM’s operating system successfully at all, or restore any files contained within the VM’s file-store.

By backing up when the VM isn’t running, you ensure that all data is on disk in a safe, consistent state.

1st May
2009

The new ASUS EeePC 1008HA would make one hellishly pretty hackintosh…

written by Mark Wheadon

Ladies and gentlemen, I give you the new ASUS EeePC 1008HA:

1008ha-eeepc

Now there’s a machine that would make a pretty hackintosh. It simply has to be done, does it not?

Image courtesy of umpcportal.com

26th April
2009

The Open Source Community and Microsoft do have something in common after all.

written by Mark Wheadon

I was trying to figure out why firefox doesn’t sit as well on Mac OS as I’d expect — why it feels slightly alien on there (as does thunderbird), and then it occurred to me: firefox, thunderbird, et. al. are, in some ways, more akin to Windows than Mac OS.

I’ll explain (I think I’d better 🙂 ).

Mac OS is pretty complete out of the box. If you’d like to burn an ISO image onto CD, or browse that ISO image, or ssh to another host, or use VNC, or… then it’s all already there, well integrated and working from the start.

Windows isn’t like that — the basic OS lacks a lot of functionality. If you’re going to burn an ISO, or browse one then you’ll need something like Nero. If you’d like to ssh to another machine then you download putty, if you’re going to connect to another machine using VNC then you’ll need that, and so on.

What you end up with is a whole host of extra software, all pretty much working, but all pulling in slightly different directions and all clearly written by different companies with different ideas about the user interface, and differing levels of integration with the whole.

Firefox and friends are also a little like that. The basic functionality is in the application, but all the extra frills are plugins, written by many different people. Many of the plugins are a little quirky, and they all tend to pull in slightly different directions — sometimes interacting badly with each other. It works, but it’s not elegant.

Microsoft and the Open Source Community do this for very different reasons. Microsoft does it to spread their programming effort as thinly as possible (I guess they’d say as efficiently as possible), always concentrating on ‘value’, and never on quality. The Open Source Community do it out of necessity: not everyone can be hacking the central code all the time, it’s just not practical, and the plugin approach enables a huge number of people to work on additional functionality whilst keeping the project manageable.

The world would be a much poorer place without open source software, but there is a price to pay. The plugin approach that open source development engenders leads to some great software (I wouldn’t give up my Squeezeboxes for the world for example, and my squeezeserver is bristling with plugins), but those systems do sometimes feel like they’re all elbows and knees — rather awkward, and somewhat less than elegant.

5th April
2009

Want to use keyboard accelerators to drive dialogues etc. in Mac OS X? Here’s how.

written by Mark Wheadon

The need

Coming from the Windows to Mac OS, I missed being able to interact with dialog boxes etc. without having to use the mouse. There are times, especially with the MacBook, where clicking on an option is fiddly and error prone (in bed with a cup of tea for example 🙂 ) and it would be much better if I could use the keyboard…

without-full-keyboard-accessHere’s an example: here I am quitting from Safari. As is often the case, the dialog has reminded me that I don’t actually want to quit as I have multiple tabs, so I want to cancel the operation. Pressing return will close Safari, but how do I select Cancel? (Yes, I know you can press esc to cancel a dialog, but bear with me — the following solution works for all dialog selections and menus, not just Cancel).

The solution

The answer is to select All controls in Full keyboard access in Settings->Keyboard & Mouse->Keyboard Shortcuts:

full-keyboard-access

Or, much easier 🙂 , type ctrl+F7.

with-full-keyboard-accessNow when that dialog pops up it looks different. Notice that Cancel is surrounded by a blue glow — that’s the dialog option that currently has keyboard focus, and pressing the space bar will select it.

Now you can navigate the dialog box using the keyboard: tab and shift-tab change the currently selected option, space selects that option, and return will always select the solid-blue default option.

So in this example, space will cancel the dialog and return will do the default action (close Safari in this case).

So you can now navigate dialog boxes on a MacBook, in bed, armed with a cup of tea — and I hear tell this even works with coffee, at a pinch 🙂

22nd March
2009

VMWare’s Fusion can lead to slow, large Time machine backups.

written by Mark Wheadon

[This almost certainly applies to most other virtual PC packages as well, so if you’re using Parallels Desktop for example, read on… –Mark]

Are you using the excellent VMware Fusion and backing up your Mac with Time Machine? If so, you may notice a problem.

Large backups

When you’ve been using Fusion‘s virtual machine (in my case, to run Windows), you will find that Time Machine‘s next backup takes longer than expected — sometimes much longer.

This is because Fusion stores its virtual machines’ disks as a bunch of large files. When you run your virtual machine using Fusion, the contents of the VM’s virtual disk changes, and even if you haven’t made many explicit changes to files, all sorts of small changes happen to the virtual disk’s contents.

Incremental can still be too much

Time Machine performs incremental backups. That is, it copies only files that have changed since the last backup. Unfortunately those large files that Fusion uses to store the virtual disk’s contents? They’ve probably all changed, at least a little.

backupSo, instead of your incremental being a few megabytes and taking a few tens of seconds, it’s ten gigabytes, takes ages, and rapidly fills your backup disk. (Which causes its own problems: described here.)

An alternative fix

If you need incremental backups of your VMs, or your VMs are running an operating system that doesn’t have support for accessing theMac OS file-store (Linux, for example), then you’ll likely find this approach is the best for you.

If your VM(s) are running Windows (so you can access the Mac OS file-store from within the VM) and you don’t need a sophisticated incremental backup of your VMs then read on, as the following approach produces by far the most efficient backups.

This fix

The fix described here is to ensure the files you edit in Fusion‘s virtual world are in the Mac’s natural file-store (so they continue to be backed up by Time Machine), stop using Time Machine to back up your virtual machines, and then back up your virtual machines in a different way. I’ll cover each of these steps in turn below.

Put your files somewhere safe

Instead of putting your Windows (or whatever) files in the Windows file-store, place them in the Mac’s file-store (which is available to Windows as the Z: drive by default). This means that your precious files have a proper, incremental backup using Time Machine, and you can restore earlier versions should the need arise.

Stop Time Machine backing up your VMs

Open Time Machine Preferences…, click on Options… and then the small + to add a Folder to the Do not back up list:

add-folderThen navigate to Documents below your home directory and there you will find a folder called Virtual Machines — add that and Time Machine will no longer backup your Fusion VMs.

And backup your VMs in a different way

copying-vm-to-backupIf, like me, your virtual machine is a secondary system, then you probably have no need of an incremental, sophisticated backup. What’s important is the files you edit are protected, and they are now protected by Time Machine as part of the Mac’s natural file-store.

So, simply drag your Documents/Virtual Machines folder onto the backup drive every week or so, and you’re sorted.

Warning

As with any method of backup which relies on backing up the virtual machine’s disk image using the host operating system, your backup may not be of any use if it’s made whilst the VM is running, so I suggest you make sure that Fusion/Parallels is not running when you copy the data.

Why?

Because if you copy the files that Fusion (or Parallels) is using for a disk image, then you’re backing up what’s on disk, but not what’s in memory, in disk buffers, etc. So when you come to restore from backup, you may find that the disk image is corrupted. In the worst case scenario you won’t be able to start up the VM’s operating system successfully at all, or restore any files contained within the VM’s file-store.

By backing up when the VM isn’t running, you ensure that all data is on disk in a safe, consistent state.

17th March
2009

Want to use Safari 4, but put off by the visual editor not working in wordpress? Here’s a fix.

written by Mark Wheadon

All change

As of the the 8th June 2009, Safari 4 is out of beta, and wordpress‘s insert-link dialogue works! So this article is now superfluous — good stuff.

I’ll leave the article here to help clarify what WebKit is and how to use it, but if you’re looking to get wordpress‘s insert-hyperlink dialogue working with Safari 4beta then all you need do is download the full release version of Safari 4 from Apple’s site.

And now for the original article…

(more…)

15th March
2009

How to make Time Machine backup less (or more) frequently.

written by Mark Wheadon

Apple’s Time Machine is a useful beast. Plug a disk into your Mac or buy a Time Capsule and Time Machine does the rest — waking up once an hour and copying anything that’s changed onto your backup.

However, you may not want a backup every hour — the backup disk is a limited resource. If you’re regularly changing large files then Time Machine is regularly writing large amounts of data to the backup disk, and if that’s the case then you won’t have backups going back very far into the past.

So there will be lots of revisions of files that have changed recently, but nothing much from, say, a couple of months ago.

So how do you change the interval?

The standard Time Machine options don’t allow you to change the backup interval (the time between backups), but the preferences are there to be changed if you know how.

From the command line

If you don’t want to install any extra software then you can change Time Machine‘s backup interval from a shell prompt. Start up a Terminal window and then type:

sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 18000

The 18000 above is the required backup interval in seconds — five hours in this example. And note that the above command is all on one line.

Point-and-click

There are several full Mac OS applications out there that allow you to manipulate Time Machine‘s hidden preferences. The two most popular are Time Machine Scheduler and Time Machine Editor. I haven’t used either (being someone who leans toward using the command line), but they look like they’ll do the job. However…

My recommendation was, but is no more:

I did suggest using the Secrets prefPane to change Time Machine‘s backup interval (see below), but unfortunately that turned out to be bad advice. You can set the interval using the Secrets prefPane but it doesn’t stick. Quit the System Preferences application and start it up again and you’ll find the interval has gone back to the default of 3600 seconds.

So it seems Secrets prefPane doesn’t work for this after all! I’ll leave the rest of this article in place and perhaps someone will tell me when the problem’s fixed?

In the mean time, please use one of the options suggested above.

Here’s the rest of the original article, which at the moment doesn’t work: (more…)

11th March
2009

Apple call it VoiceOver: the new iPod Shuffle talks.

written by Mark Wheadon

The new iPod shuffle makes the old one look bulky (which is an achievement 🙂 ), and this one talks to you. Cute.

Here’s an introductory tour of the new mini-beast. A couple of interesting facts that emerge from the video: the speech is different depending on whether you synchronize using iTunes under Mac OS X or Windows, so speech must be synthesized on the host computer not the iPod, and one gotcha: you can’t use anything other than the supplied headphones without an extra dongle.

1st March
2009

How do you dump the screen in Mac OS X when you can’t reach for a hot-key-chord? The answer is grab.

written by Mark Wheadon

Mac OS X Leopard has a tool to dump all or part of the screen built into the desktop, with handy (if difficult to remember) hot key-chords:

  • cmd+shift+3 to dump the whole screen
  • cmd+shift+4 to select an area of the screen (then press space for a whole window).

However, there are times when the above won’t do. Typically, it’s when you’re already pressing keys to get the image you need — the key chord cmd+shift+4 isn’t going to work if you’re already holding down alt for example.

That’s where grab comes in — it’s what Mac users used before cmd+shift+3/4 came along, it’s still there, and it can dump the screen after a ten second delay.

So, start up grab. I use Spotlight to do that, so I type cmd+space grab:

spotlight grab

Then, to do the delayed screen dump, select Timed Screen from grab‘s Capture menu:

grab timed screen dump

You then have ten seconds to set up the screen as needed, and grab does the rest.

Then select File->Save As… to save the resulting tiff file, and you’re done.

24th February
2009

Need to go back to Safari 3? Here’s how.

written by Mark Wheadon

SafariSo, you’ve tried the new Safari 4beta downloaded from apple.com, and now you need to revert to Safari 3?

That was case for me — as adding hyperlinks in wordpress caused the browser tab to hang (documented by Geek Guides here). However, if you’re thinking about returning to Safari 3.2.1 because you can’t input hyperlinks in wordpress‘ visual editor then think again — you may not need to — as there is now a work-around.

You still need to downgrade?

What doesn’t work

What doesn’t work is downloading Safari 3 and installing that — the installer complains that you already have a newer version on the hard drive and so won’t continue.

What works

Safari 4 installIs to re-run the Safari 4beta installer (fetch it from apple.com if you don’t still have it) and run the uninstall from there.

One reboot later and you’re back running Safari 3.2.1.

Safari image by timmargh.

Previous