Mountain Lion

So, Mountain Lion is coming this summer.  Woo!  I personally like how they’re unifying different ideas and sorting out weird inconsistencies between iOS and OSX (like making Notes separate rather than part of Mail, creating a separate Reminders app, and renaming iCal to just Calendar). Messages also is pretty handy, and now available in beta form.  The way it was announced was also interesting: no press event, but instead one-to-one presentations with key Apple writers.

My prediction is that it will be a free update to all users of Lion. The benefits of having everyone on the latest OS release far outweigh any revenue they may get from the update. iOS updates are free for this very reason.

Munki Munki Munki

When wandering around school, my heart is warmed whenever I see a Mac quietly updating itself via the unassuming genius that is Munki. (Yes, I know that I am a geek!) Usually it’s only the latest iTunes release, but even that is helpful, if only to prevent a ‘download update?’ nag screen for the user.

The only main sticking point has been with the Mac Minis that teachers use. These tend to be on all day long with very little time sitting on the login screen, which is the only time I’ve set Munki to run. I’ve set the Macs, via managed preferences, to turn themselves on at the weekend, which does help with most. The problem comes when one of the updates fail, leaving that machine increasingly behind on its update schedule. The only solution for that is to manually sit there with the computer and run a few updates at a time until it gets past the dodgy package. Whilst being a minor pain, it’s much more preferable that sending a UNIX command with Apple Remote Desktop every half-term holiday and spending a morning making sure everything has updated properly.

Munki and automatic updates

Apple’s approach to software updates betrays their consumer-centric view of computing: on a Windows PC, updates can be set to automatically install and in fact your system administrator can take that power off you and install updates whether you like it or not; on the Mac, it’s up to the user to install updates when they want to, and there are no official ways to fully automate this process.

This is all very well, but is a bit of a pain when managing a school-full of Macs, especially when all the remaining PCs happily pull updates off the Windows Software Update Service without anyone lifting a finger.  In a bid to keep everything reasonably up to date, I would use Apple Remote Desktop (ARD) to send a UNIX command to run software update every now and again.  This worked reasonably well, but required each machine to be unoccupied and for me to keep an eye to check everything was working ok.  I also tried setting machines to wake up in the night and then scheduled ARD to send the update command at that time, but this would never quite work properly with machines losing their connection or going to sleep etc.

I then stumbled upon a program called Munki, which describes itself as ‘Managed software installation for OSX’. It’s a pretty powerful bit of software, but with quite a steep learning curve and no friendly GUI to get things going.  However, after a bit of reading of the help files I realised that it could quite easily be set up to automatically install software updates whenever the Mac was idle at the login screen.  Here’s how (using a Mac OSX Server to manage preferences):

  1. Install the Munki package on a Mac.
  2. Open Workgroup Manager and then add a managed preference, using the ‘Managed Software Update’ application to provide an MCX .plist manifest.
  3. Add the following keys:
  • AppleSoftwareUpdatesOnly = true
  • InstallAppleSoftwareUpdates = true
  • SoftwareUpdateServerURL = your own Apple Software Update Server or just leave blank to use Apple’s
  • SuppressUserNotification = true

Tada, it should work!

Unfortunately for me it didn’t, not straightaway.  It turned out that I was having problems with our Software Update on our Mac server because the DNS wasn’t sorted correctly.  A useful tool in terminal is ‘changeip’ for that…

But it all seems to be working now.  Hurrah.

The curse of .local

When Toucan first installed our suite of iMacs, we had a simple Active Directory (AD) integration setup, authenticating and accessing network home folders from our Windows Server 2003  Active Directory.  This worked well, with fast log-on speeds and generally playing properly.  However, over the year the login speeds started to deteriorate.  I originally thought this was because we had installed a Mac Mini server to add some golden triangle goodness to our network, so didn’t investigate much further.  Unfortunately, things took a turn for the worse at the end of October 2011 when all the Macs decided that they wouldn’t log onto our AD any more, instead just showing the red light and ‘Network accounts not available’.

Understandably, this wasn’t so great, especially as one of the reasons for getting some Macs in the first place was that they ‘just work’.  Really bad is probably a better way to put it.

After much Internet research, we managed to get things working a little bit by doing the following:

  • creating computer accounts for each Mac on the AD before binding each machine
  • rebinding each machine, making sure we put in the IP address in Directory Utility where it says ‘Prefer this domain server’ and unchecking the box for ‘allow authentication from any domain in the forest’

This still wasn’t a very reliable solution, with the dreaded network red light still appearing regularly and log-on times taking up to six minutes.  It was like returning to the good old bad days of a decrepit ICT suite of aged XP machines…nooooo!

It turned out that the problem was because our internal domain ended with .local.  Apple uses this for its Bonjour technologies and, despite several possible hacks suggested by Apple (involving mdns_timeout and IPv6), things weren’t getting any better or likely to anytime soon.  Apparently Apple changed the way Macs resolve DNS around 10.6.7/8 in order to get ready for Lion.  The couple of Lion machines we had weren’t working at all with our AD so something needed to be done.

In the end we decided to change our domain.  Not an easy task (so I’m told) so our technician suggested buying a cheap new Windows 2008 Server and setting up a new .sch domain on it.  We would bind all the Macs to that server, leaving the PCs as they were and with the old server still doing all the file sharing for the network homes and shared drives.

We did the transition on a day when no teachers were in and managed to set up a new server and bind 50 machines in a day…not bad!  The only major snag was that all the home folder permissions on any existing network accounts on a machine didn’t work any more, resulting in not being allowed to look in the ~/Pictures, ~/Library folder etc.  Looking back we probably could have figured out how to reset the permissions, but instead we just deleted every account off every machine so that they would get freshly created on login.  Most children’s work gets saved to network folders so we only had to make sure we rescued any iMovie projects or important files saved to teacher’s desktops.

It was a bit of a job to sort out, and we now have two independent yet interconnected domains on our curriculum network, but things are now working much, much better (including our now fully-functioning Lion machines). Our technician is planning to wipe the old server during a holiday so we only have one domain, but I’m sure that’ll be another tale.