Hey all, this month I’ve decided to share some of the tools and resources I use to carry out my day-to-day job. The common questions I get when I visit clients are:
- What tools would you recommend for packaging?
- What tools for scripting?
- How do you learn the best was to package software ‘X’?
It’s this information that I’d like to share with you today.
So number one on my list, is the tools I use for packaging / repackaging applications. First a word of advice, typically, it is better to take a developer provided .pkg or .mpkg install, and use this combined with secondary and so on installs to customise the install to your requirements, than it is to repackage the software for the sake of it.
Developers spend a lot of time (at least I like to think so) carefully crafting Installers with logic and scripts, that simply by repackaging these, you could break and cause more work for yourself.
Now for the juicy stuff, I tend to use the following six utilities when packaging applications and installers:
- Composer (JAMF)
- Munki (yes Munki!)
Iceberg is a GUI Apple package-making tool developed by WhiteBox and is available for free to download. At its heart, it’s a very basic packaging environment, and I typically used this to create payload-free installer packages to run scripts, or to create deployable installers for drag and drop software such as Firefox.
I say ‘used to’ as this hasn’t been updated since 2011 and, although it works fine, it has been replaced by Packages. Iceberg can only create non-flat packages, which can be a disadvantage or an advantage depending on your situation.
Packages is another GUI Apple package making tool, again developed by WhiteBox, again free to download and use. The interface is slightly more updated than Iceberg’s and has been simplified to a certain extent. Packages also provides a command line tool to assist with the building and automation of package building tasks.
In contrast to Iceberg, Packages can only create flat-packages, which can be both advantageous or disadvantageous depending on your specific requirement.
Composer (part of the JAMF Casper suite but also available separately) is a full snapshot-based packaging tool. I have to confess to not trying other options out there, purely because JAMF’s offering fulfills my requirements well enough.
As well as its snapshot method, it also has a number of recipes to grab from preinstalled software any required files to package that software that you already have installed.
Although not free, it retails at only around US$80 for education and US$100 for others, per license.
AutoPKG is a relatively new kid on the block in the Mac Admin world. Co-developed by Tim Sutton and Greg Neagle (two of the heavy-weights in Mac Admin’ing) it’s a great tool that, with the usage of recipes, can automatically download the latest version of software, perform some basic to intermediate repackaging, and automatically add the results into Munki Repo/s.
As it’s command-line based, it can be scripted and scheduled, allow certain mundane packaging tasks to be fully automated. Additionally, tools have been provided to allow other users to contribute to the recipes, increasing the number of software that can be dealt with in this way.
Another recent (-ish) utility, developed as a successor to InstaDMG, AutoDMG carries out a similar task by allowing the Mac Admin to create an unbooted Mac OS X disk image, ready to be deployed without any of the Hardware specific items (such as ByHost files and UUIDs) getting in the way.
Available for free here, it’s much like InstaDMG, it also allows you to add Apple Software updates automatically as well as any custom installers you wish, all presented in a nice GUI. As of the latest version, it also includes command line tools, allowing you to automate and schedule re-creations of updated ‘masters’ as often as required.
Now for the curve ball, using the command line ‘munkiimport’ you can actually import the DMG drag and drop installers (e.g. Firefox) and just plan .app bundles (as obtained from the Mac App Store) directly into your Munki repos. Munki will know exactly what to do to use these items and install them correctly! See my Munki whitepaper a guide on Munki usage.
For my scripting needs, there are only three main applications I use, although I’m leaning towards a fourth. These are:
One of my favourite little free apps is Fraise. Although no longer in development (for a long while!) It is still free, fast and easy to use. The only real issue is that due to the age, it can occasionally crash but not too often! Available for download here.
Yes, I have used Xcode in a pinch (normally by accident) for my bash scripting. Although the scripting interface is pretty cool, with colour coding, suggestions and line numbers, I find the application is too slow in use and launching to be of much help….and it’s huge!
Available free from the Mac App Store.
Always a last resort (well, before MS Word anyway) is Apple’s TextEdit. You need to configure a number of options before use (such as Plain text, disable smart copy & paste and smart quotes) otherwise it runs the likelihood of breaking your scripts as you use it!
Free with every Mac OS X copy!
Another free scripting program, personally I find it to be a little slower than Fraise (hence why I haven’t fully embraced it) but it has no real faults and is actively developed! I’ll likely switch over in the near future just for the on-going development aspect.
Available free here (or via a AutoPKG recipe!).
This section lists the four main tools I use for deployment. The choices of tools used (or provided) will depend on lots of factors such as function, cost, ease of use, customer knowledge and available customer time. These are:
- JAMF’s Casper Suite
- Apple Remote Desktop (ARD)
Top of the range (certainly in cost and features) JAMF’s Casper suite is intended as a one stop shop for Mac OS X and iOS deployment, imaging, management and asset tracking. The best comparison I can make is it’s a Mac version of Microsoft’s SCCM solution.
OK it’s not 100% perfect and has its quirks but then what doesn’t? For one thing, their user forums are a treasure trove of helpful information and Mac Admins, eager to share the knowledge they’ve gained.
As far from free as possible but you do get a lot of ‘bang for your buck’. Check out JAMF’s website for more information and for prices etc.
Munki is the brainchild of a certain Greg Neale and provides a great tool to manage the software installations and maintenance on your Mac fleet. Requiring simply a web server and some client tools, it can be hosted on almost any Server system (and some non-server such as NAS boxes) allowing it to be scalable to any size.
To top it off, it’s free! The main downside of Munki is it’s all command line, and this can be very intimidating to a newcomer and can make complex solutions difficult to visualise and understand. However, I do know some Mac Admins who’d consider this a pro to Munki!
DeployStudio is another (!) free tool leveraging Apple’s Netboot system to provide a simple method to deploy Mac master images and settings across the network (think Windows PXE boot style). Simple and easy to use, with plenty of little tricks to find and utilise it’d make a great addition to any deployment workflow (JAMF take note!).
Freely available here.
Apple Remote Desktop (ARD)
Bottom of the pile due to the basic nature of the tool, ARD has, however, saved my bacon more times then I can count! Once you have added all of the Macs in your estate, you can simply and on-demand push out installations and scripts as needed.
The main downside is that this system pushes out the items, rather than getting the clients to pull them. This can result in some Macs just never getting that install or script to run.
Available from the Mac App Store for GB£54.99.
These tools are great for finding out the warranty status of that Mac, or how much extra RAM will it take, something’s that can be difficult to remember when all you have is a Serial Number.
Global Service Exchange (GSX)
Only available to Apple Authorised Service Providers (AASPs), I will only touch briefly on this, but it’s a one-stop shop for when all you have is a serial number, and you need to know warranty status, model designation, take apart manuals etc.
Apple Service Page
This website can give you almost the same information as GSX but is open and free to all.
A great little tool from Ian Page is available from his website, the Mac App Store and the iOS stores, all for free. It shows you all the possible information for each model of Mac that ever existed! Great to find out how much RAM you can cram into your ageing MacBook Pro.
And now we reach our final section, this list details the places I frequent to try and stay on top of new Mac issues and techniques, as well as for reference material when I need assistance.
Although primarily focused on DS, these forums can be a great place to find out about issues as they arise.
Again, primarily focussed on Casper products, these forums are great to find out about new issues, new ideas and best ways to package certain products.
Munki Google Group
Again, focused on Munki specifically, is another place where some great Mac Admins are communicating and can be an ideal place to pick up that little bit extra knowledge!
Mac Enterprise Mailing List
Unlike the others, this mailing list is focused purely on Mac’s in the enterprise (and education) and can prove an invaluable resource at times.
Just a quick list of the blogs I check often.
Mike created and maintains the excellent CCK2 for customising and locking down Firefox installations.
The Mac Admin
Miles is an excellent JAMF trainer and regularly posts details and ‘script-bits’ that are helpful and valuable.
An Ex-Apple employee who is generous with his knowledge of all things Mac and UNIX.
Rich is another well-known and respected Mac Admin, here you can read his words of wisdom.
Author of the Apple Certification books since….well for years!.
A good site for the more user-focused tips and tricks.
The classic Mac Admin blog, always worth checking out.
And there you go. I hope that this insight into the places I regularly visit will you learn and improve your knowledge of Mac Administration, or at least gives you some ideas! I want to also hear from you. Do you have any favourite tools / website you utilise? Let me know in the comments below!