Munki’ing Around

I’ve recently deployed Munki at work. Munki is, by the project’s definition, “a set of tools that, used together with a webserver-based repository of packages and package metadata, can be used by OS X administrators to manage software installs (and in many cases removals) on OS X client machines.”

Munki as our users see it is:

Munki

 

This is fantastic for us and our users in so many ways, here are but a few:

  • Our campus owned and recommended (vetted) software can be distributed to campus machines on an “as needed” basis, selectable by the user in a familiar “App Store” layout.
  • Groups of machines can be configured to have different catalogs of available software.
  • Users do not need to be administrators to install software.
  • Distribution of Apple App Store software, in quantity, where Apple does not provide a mechanism to do so.
  • Once software is installed by the user, it can be updated silently in the background so that the package is always up-to-date.
  • Software packages can be set to “always install” so that machines will always receive a set of packages that cannot be uninstalled. An example of this for us is to always silently install the latest Flash and Java since the frequent number of updates and security patches to them can easily cause a user to just ignore them otherwise.
  • Completely automated software package deployment for our labs. Our lab users never see the Managed Software Center, but all the benefits of keeping things up-to-date are there.
  • Virtually on-demand addition of requested software. As soon as the package is added to the server it can be made available for self-install or pushed to machines.
  • Munki can also assume the duties of Apple’s OS Software Updates, so all of this is shown, managed, and available in one place for the simplicity of the user.

Munki is served with standard Apache and includes all the tools needed to build its repository. All of this is done via the command line which makes it very fast and powerful for experienced administrators and is the method I prefer.

Of note, there is a GUI available which is pretty nice. Using it, our repository looks like the following:Munki2

This GUI makes it very simple for the new admin to get started and have a repository up and running quickly.

Munki is open source and free.