Munki: An Overview
This collection of Wiki pages is not intended to be exhaustive documentation but rather a concise introduction to Munki in an easily digestible format.
What is Munki?
“munki is 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 is an Open Source project created by Greg Neagle and hosted on the Google Code page: https://code.google.com/p/munki/
There are other commercial and even free tools on the market but many are expensive or tedious to setup and maintain. With the writing on the wall with the Xserve discontinuation, it's clear that Macintosh Sys Admins need to look toward other solutions to maintain their Macs. From an uncertain future for Macs in the enterprise and tight budgets, Munki has quickly found a burgeoning user base and development of the project has flourished.
The beauty of Munki is its simplicity. Munki doesn’t require a service or dedicated server to do its dirty work. Instead, Munki relies on a web repository to store its data and the processing is done client-side. This makes Munki ideal for departments with limited resources. It’s also very powerful.
What can Munki do
Munki can install flat-file packages. This includes .pkg installers as well as .app's wrapped in disk images. Additionally, Munki has some tricks up its sleeve to install Adobe CS packages created with AAMEE. Munki can also handle removal of packages in most cases.
Munki's value isn't just in its ability to deploy software cheaply and quickly. It also comes with a graphical user interface that allows users to potentially install software and updates themselves. If that's not enough, you can also use Munki to install System Updates from Apple instead of Software Update. Because of how Munki is implemented on the client, these installs do not require Administrator authentication, conceivably giving your users the power to install available software and updates at their own pace but without giving them Administrator access to the client itself.
What do I need?
Just to setup and test Munki, all you really need is an OS X 10.5 or 10.6 client and the Munki Tools. For a production deployment, you'll likely want to use a web server. Since Munki is a collection of client-side tools, processing is performed client-side so you can piggy-back existing resources instead of needing to implement new ones.
- OS X 10.5 or 10.6
- Web Server with Read & Write access
- Munki Installer from https://code.google.com/p/munki/downloads/list
Because of the basic requirements, you can test-drive Munki on your Macintosh workstation to familiarize yourself before mucking around on your production web server.
For a production deployment, the repository is OS agnostic so you can use Apache on any platform or even IIS. Clients only need HTTP access to the repository. You may find it easier to share your repository over AFP or SMB for ease of administration but this is not required.