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:



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.

14 Replies to “Munki’ing Around”

  1. HAHHAHA…..I am very much aware of Munki….and I am actually headed to the Mac Admins Conference at Penn State again this year where the developers of Munki hang out….it’s a great solution if you can dedicate time, and are “Master” of your network infrastructure…..We have gone with a hybrid approach… out of the box, we layer multiple packages from ARD, including setting the SUS, Profile manager, etc. The pkgs, get updates from GIT hub, and get tested before going into main stream deployment

    1. Munki 2 is super simple in concept, execution and maintenance. My experience is the only thing that’ll go really South is an Apple solution. ARD is an aging mess that needs a serious update and its “Task Server” is laughable. Try a different flavor of KoolAid once in awhile, you might like it.

    2. PC-Rdist…*twitch* Wow, THAT takes me back! For us, Munki is a Radmind killer. Steve had it all set and running in a week (or less). I wish I could say the same was true about Radmind when I first started using it!

    3. I am not saying i don’t respect MUNKI or what it can do…but at the end of the day I want things to be stable and work….and we have AppleEnterprise Support which they do support Apple Products, typically within 24 hours. I looked hard and long at MUNKI its great, and the community is great…but it is too large our our little Mac operation here at Oswego.

    4. Thanks! I’m beginning to wonder if the last time you looked at Munki it was still version 1, which was fairly horrible. A lot has changed and it’s more elegant now with lots of conditional safeguards to keep things from going off the rails. Maybe you should come up here!

Leave a Reply

Your email address will not be published. Required fields are marked *