I’ve been administering production UNIX systems since 1998. I’ve been running Linux-and-only-Linux on my desktops and laptops for almost that same period of time. In 2003, after seeing an influx of Macs into our department, my boss asked if I’d keep a Mac around just so we could replicate any issues that were reported by our userbase to help them out. I found it perfectly usable, though at the time it was real work for me to get it to be usable for all of the things I’d need it to do at work, and I never was comfortable with it. Recently, however, I had the opportunity to get a new laptop through work, and I decided to give the new MacBook Pro a shot.

I really committed to making it my primary workhorse, shunning my nice dual-lcd-monitor linux box and a perfectly usable Gateway laptop (”the monster” - 17″ screen and a full numeric keypad!!). It has been about one month since the MacBook Pro showed up, and I haven’t had to use any other machine for about 2 weeks. It took a little bit of googling to find everything I needed, and there’s still one or two pieces of the pie missing, but overall, I think I can definitely call this machine “admin ready”.

So let’s have a look at what I’ve done to my MacBook to make it worthy, and maybe some friendly readers can help me fill in some as yet missing pieces!

After using OS X for about one week, the first really big realization I came to was that it was far too easy (for me) to be distracted in this environment. Then I realized the reason: no virtual desktops! I use virtual desktops in Linux specifically to keep things I’m *not* working on out of my way. Without that ability in OS X, I was going to have to seriously change how I work. This would not do.

I found a couple of different virtual desktop managers, and decided on a whim to go with VirtueDesktops. This week, I unwittingly converted two other admins from other managers to VirtueDesktops. I guess I made the right choice, then, eh? It’s actually a nicer virtual desktop manager than I have under Linux. I now have 12 desktops set up, and I use about 8 of them. However, there are other tools involved in making all of these desktops useful, so I’ll move on to those. For now, just now that there’s a desktop pager, configurable keyboard shortcuts, and lots of other nice features of VirtueDesktops.

I’m an email junkie. I don’t like to let email sit around. It comes in, it either gets a reply or it doesn’t, and it’s largely dealt with the minute it arrives (or the minute I know it’s there). I use Mail.app because it works fine for my needs, except that I couldn’t get the alert notifications I wanted in the way that I wanted them. I found this really cool application called Mail.appetizer, a plugin to Mail.app, and I can tell it which of my folders and mail accounts to watch for me. When mail arrives, it pops up a window with a preview of the message (or the whole message, if space allows). This window also has buttons on it to let you go see the message in Mail.app, mark the message as “read”, delete the message, or dismiss the window. If you do nothing, the window disappears after a few seconds on its own. This is beyond perfect. I find now that I don’t need to go to my “Mail” desktop nearly as often as I used to. Click the link to see a screenshot - nice!

I’m also a music junkie, and I’m always listening at work. But I really wanted something in the toolbar to control it so I didn’t have to go back to the desktop it lives in every time I wanted to skip a song or pause iTunes. For this, I use YouControl: iTunes. This thing is pretty slick. It sits in the toolbar at the top of your screen, giving you immediate access to the play, skip forward and backward, a menu button for current title info, and it even puts your rating stars in the toolbar so you can click as you listen without heading over to iTunes-land to do it. I now use the ratings feature a lot more often, and I almost never look at iTunes at all. Another nice feature is an overlay window that announces the song being played, along with album info and some other information if you desire. You can turn that feature off, or a mouse click will dismiss the window if it’s really in the way.

So now that my time spent dealing with email and iTunes has been cut to about 1/8 the original time, what do I do with all of this time? And I still have desktops to fill!?

Well, for one thing, I installed Parallels Desktop for the Mac. It’s the first application I’ve mentioned so far that costs money (currently, $80). This is very, very, very similar to VMware workstation under Windows or Linux. The only feature I find that I miss from VMware is the ability to checkpoint a VM. So, for example, if I’m testing a service, I can first set up a clean install of my distro of choice, checkpoint it and label it “clean-os-install”, then set up the service software I’m testing, and before doing anything else, checkpoint again and label it “clean-service-install”. From there I can go about my testing. If things blow up, I can go back to “clean-service-install” in far less time and with less effort than doing it manually. Parallels, to my knowledge, doesn’t have this feature, but does allow you to “clone” VMs to try to get the same benefit. It’s not the same, but it’s passable. I currently have three virtual machines installed, all networked with eachother, and I can ssh from a normal OS X Terminal session through the Parallels virtual interface. I’ve also set my Mac’s “Sharing” configuration to allow things connected to the virtual interface to reach the internet through my wireless card. If you want to see a setup where switching machines is as easy as switching desktops, check out the demo video for using VirtueDesktops with Parallels. Works like a charm!

So, yes, I can run Linux on OS X and get whatever I need from it - but I don’t want to use it as a crutch, switching over to a resource-intensive Linux VM just to run, say, ‘nmap’. So for things like nmap that don’t come with OS X but for which a VM is just overkill, I use Fink. Fink provides Mac-friendly versions of thousands of open source packages commonly found under Linux. It also has a decent interface - FinkCommander - to aid in searching for and installing new packages.

With these tools installed and configured, what can’t I do?

Well, I haven’t tried yet, but I’m not sure my old method of connecting directly to the serial port of a server using a USB-to-serial adapter will work. I haven’t looked for a minicom or hypterterm package for the Mac, either. A smaller thing I’d like to fix (it hasn’t made it to the top of the priority list yet) is I’d like the delete key on my keyboard to act like a backspace key.

The one that’s really irking me *now*, though, is that there doesn’t appear to be either a free, or a worth-paying-for database schema design tool for the Mac.

If anyone has info on how to solve those issues, or you just want to share your favorite sysadmin app for OS X, feel free to post and help me complete my transition!