If you are moving from Linux to the Mac, you'll find a BASH shell
and a set of Unix command line utilities available to make you feel at
home. If you need a complete Linux environment for development or
special applications, you can run Linux in a virtual machine (VM) using
VMware Fusion.
Fusion Basics
Version 1.0 of VMware Fusion was released on August 1, 2007. The
shipping version as of this writing is 1.1.1. Fusion only works on
Intel-based Macs. It builds on the experience of VMware in the Windows
and Linux market. It is comparable in features to VMware workstation,
and to its competitor in the Mac market, Parallels.
VMware sells Fusion primarily as a Windows-on-Mac solution. You have
dig into the details to learn that it also supports Linux, Solaris,
FreeBSD, and other Intel operating systems as guests.
While beta versions suffered with performance issues, the latest
version is relatively snappy running different flavors of Linux. I
currently have Centos 5.1 and
Ubuntu 7.10 running nicely under
OS X. Full screen support works as expected. VMware supplies extra
software called VMware tools that improves video and mouse performance.
Installation of VMware tools in a Linux guest works exactly as on other
host operating systems.
Jump Start with Appliances
One of the advantages of the VMware universe is the availability of
virtual appliances. Appliances are prebuilt virtual machines that can
be downloaded and run with no installation or configuration. Many
companies provide special purpose appliances as either demonstrations
or deployable applications. There are also hundreds of user provided
virtual machines with a variety of Linux distributions, making it easy
to try out different flavors of Linux without much work.
Ubuntu Linux on OS X with VMware Fusion
Fusion can run virtual machines created on the Windows and Linux
versions of VMware. I downloaded and tried several appliances and had
no problems.
Virtual Appliances and Security
The ease of downloading and running appliances can be a two-edged
sword. Keep in mind that a virtual machine is essentially a completely
configured computer system that you are booting up on your network.
Depending on how it was created, each appliance may have the same
access to the network as your host system - and it may also have
limited access to host system files.
Centos Linux on OS X with VMware Fusion
For user created appliances, you should at least regenerate the
system SSH keys and limit access to the network unless you trust the
source. A trojaned virtual machine is another vector to get malware
inside a network. Be aware of the risks.
The Competition
The main competitor to Fusion is Parallels, a company that gained a
lot of traction by being first out of the gate with a high performance
virtualization solution for the Intel-based Mac. Parallels was also
priced below the VMware offerings on Windows and Linux. However, VMware
has matched the Parallels price (currently $79) for their Mac
solution.
Since I don't have Parallels, I can't compare the two products.
VMware does have a fully functional 30-day trial, while Parallels
does not at this time. (Note: I have no financial or other relationship
with either company.)
VMs Are Future Compatible
Some of the benefits of taking Linux with you to OS X are obvious.
You can create an exact replica of a production server environment for
testing and development. You can safely test new software and roll back
to before installation if things don't work out as expected. It also
lets you test multiple client environments on one system.
Virtual machines have been around since the 1960s on mainframes,
where they have been part of the high reliability and performance
equation. Modern microprocessors provide the needed hardware support
for virtualization, and it is becoming a common part of computing
environments at all levels.
It is interesting that Apple does not allow OS X to be a guest
operating system. My guess is that OS X is designed for specific
sets of hardware, not to handle any old motherboard or collection of
hardware thrown at it like Linux (and to some extent Windows). This
means OS X might not perform well in a virtualized environment.
Apple probably has other reasons, too, but it would be nice to see
OS X as a guest in the future.
Keith Winston is a recent Mac convert after five years of Linux on the desktop. He also writes for Linux.com and created CommandLineMac to focus on the Unix-y power of the Mac. If you find Keith's articles helpful, please consider making a donation to his tip jar.