RSSAmplifier

Blog

Mac Operations

Recent content on Mac Operations

macops.caRSS feed ↗70 posts

Latest posts

Talking about EC2 Mac at AWS re:Invent 2024

In 2020, I was in a cab leaving the Square office in SF, where I’d just completed interviewing for a “macOS CI Site Reliability Engineer” role. In that cab, I was told that AWS was secretly developing a product that would allow running Apple hardware directly in EC2. Just a couple of hours prior, my soon-to-be manager and I had discussed the possibility of shifting Square’s…

MacDevOpsYVR 2023 "Stories and learnings from macOS Continuous Integration at Scale" Session Links

This week is the MacDevOpsYVR 2023 conference in Vancouver. I was thrilled to have the opportunity to speak this year about some of the Mac CI infrastructure at Block and our in-progress migration to EC2 Mac! Here’s a list of various articles, tools, documentation and videos that have been referenced throughout this talk. Hopefully more to come on this blog as well on some other details I…

Xcode 14's New Simulators Platforms Packaging Format

Nearly ten years ago , I published a post about how to download and deploy the iOS simulator runtimes independently of the Xcode app bundle. This is certainly the oldest post on the blog that I could say was still useful and accurate! Prior to Xcode 14, one could navigate to the ‘Components’ section of the app preferences and download previous simulators. Under the hood, a…

Apple Silicon macOS Guest Virtualization Updates, June 2022

It’s been eight months since I published a post with some early experiments and digging into the capabilities of Apple’s new macOS guest VM support on Apple Silicon as of Monterey. Since then, we’ve seen: Improved documentation and a sample project from Apple Lots of new developments in both commercial and open source projects using the framework New APIs revealed during WWDC…

Changes to Screen Sharing / Remote Desktop Management in macOS Monterey 12.1

During the beta cycle for macOS Monterey 12.1, a new change was added that’s relevant for anyone administering macOS systems and using its built-in Screen Sharing / Remote Management service. Now that 12.1 is publicly available, it’s the 2nd bullet entry in the What’s new for enterprise support document : I spent the last several days being confused by (1) how the change would…

Apple Silicon macOS Virtual Machines in Monterey's Virtualization Framework

Note : Since this article was originally published, there have been exciting new developments. Check out the follow-up article from June 2022 here . When Apple released the first macOS 12 Monterey betas in June 2021, some interesting new APIs were added to the Virtualization framework developer docs . Here’s the new APIs below (at time of writing, where Monterey’s latest version is…

MacDevOpsYVR 2020 "Shipping Python to Mac Clients in 2020" Session Links

I’m proud to have attended all but one of the six MacDevOpsYVR conferences, normally held in Vancouver, Canada. I was looking forward to being there in person this year but am grateful that the crew has kept it going virtually this year! Today I’m giving a talk on Python delivery to Mac clients. You can grab the slides and video recording on the talks page. Here are links to things…

MacSysAdmin 2018 "Riding Your Next Mac Admin Wave" Session Links

On October 5, I gave a presentation at my favourite conference - MacSysAdmin in Göteborg, Sweden - titled “Riding Your Next Mac Admin Wave.” It was the last day and the first talk of the morning after the beer bash event, so bonus points to all of you who made it! This page is a list of references from the talk’s contents. Links to the slides and video recording can be found on…

Using VMware Fusion 10 on "old" Mac Pro Intel CPUs

VMware Fusion 10 was released in August 2017. One interesting change is that its minimum system hardware requirements are more discerning in terms of the Intel CPU families supported. Notably, Mac Pro models from earlier than 2010 (i.e. earlier than MacPro5,1 ) are not supported. Attempting to start a VM on such Mac hardware results in the following dialog (screenshot is of version 10.1.2):…

Syntax highlighting in Apple Keynote Using highlight

My presentations often include code examples where having fixed-width fonts and code syntax highlighting is desirable, and Apple Keynote remains my presentation tool of choice for a variety of reasons. I’m still interested to give some other presentation tools a try, but I often find that tools which are Markdown-centric (and seem commonly used for showing code in presentations) lack a lot…

Installing WebDriver as a Feature on Demand in Windows Redstone 5

Historically, Microsoft WebDriver, used for supporting automated testing of Microsoft Edge, has been a separate download that should be matched to the major Edge version used in the OS. In Windows 10 Redstone 5 , WebDriver is now a Feature on Demand . The details in the linked article are helpful to explain where the binary will end up after it is installed as an optional feature (…

MacDevOps 2018 "Owning Your Stuff" Session Links

Here are links to my talk today at MacDevOps 2018 , for the session: “Owning Your Stuff: Escaping from Development Dependency Hell.” Thanks to all attendees, and thanks to Mat X and the entire MacDevOps crew for hosting this conference for a fourth year! You can also download the slides here .

Using Safari Technology Preview with Selenium WebDriver

I recently was attempting to diagnose an issue with the Safari Driver , the component of Safari which allows remote automation using the WebDriver protocol . In order to confirm whether my issue was a bug, I wanted to run the same test using a current Safari Technology Preview build and compare the results to Apple’s released Safari versions. I wasn’t able to find very clear examples…

MacSysAdmin 2017 'Apple's Unified Logging for Sysadmins' Session Links

Here are links and resources related to my MacSysAdmin 2017 talk: ‘Apple’s Unified Logging for Sysadmins’. Enjoying another fantastic conference here in Göteborg, Sweden, and thanks to all who attended! You can find the slides and video recording for this session and all the others at the MacSysAdmin documentation site . New conference location at Chalmers. Photo courtesy of Mats…

What macOS Version Did I Just Download?

When downloading the latest macOS Installer from the App Store, there’s no obvious way to confirm the exact macOS version in the installer from looking at the install assistant application itself. It’s been my experience that while the version of the installer app itself always increments, its version number is in no way related to the version of the macOS install image contained…

University of Utah, MacAdmins Meeting April 2017 'Adobe CC - Lost in Translation'

The University of Utah, MacAdmins meeting is a monthly meeting with guest (mostly remote) presenters, and this month I gave a talk titled ‘Adobe Creative Cloud: Lost in Translation’, to cover a handful of the current issues I’ve seen with deploying Adobe Creative Cloud applications. The recorded presentation can be found on the University’s Marriott Library archives here ,…

MacADUK 2017 'Advanced Mac Software Deployment and Configuration' Session Links

Today I’m giving a session at the Mac Admin and Developer UK 2017 conference, called “Advanced Mac Software Deployment and Configuration: Just Make It Work!” This post is a collection of links and resources from the session. Big thanks to Amsys for organizing this great conference! You can also download the slides here . Now that the recording is available, you can watch it here:

Enabling HiDPI macOS guest VMs in VMware Fusion

There are often times when I’d like to take a retina-quality screenshot of something on a macOS system (for this blog, or a presentation, for example), but I’d like to screenshot something that I’ve got running in a virtual machine. macOS VMs by default run at a standard resolution that’s upscaled to the retina screen, making it look blocky by comparison - and more…

Stalling HTTP(S) downloads with VMware Fusion 8 and NAT

Update : This issue has been resolved in the VMware Fusion 8.5.7 update, released in May 2017 . The workaround below is no longer necessary. The release notes linked above don’t sufficiently scope the issue, however: it’s not only git clone commands which stall, it’s any HTTPS transfer. git clone just happened to be an easy way to reproduce this with large repositories such as…

Preview to Mac Software Deployment Session at MacADUK 2017

This year I’m very excited to be attending and speaking at the Mac Admin & Developer Conference UK 2017 in London, with a session called “Advanced Mac Software Deployment and Configuration: Just Make It Work!” Amsys have just published a preview post about this session which you can read about here on their blog , to get more of an idea of what I plan to cover. Though I…

macOS Installers on the Mac App Store Now Show Date Updated

Since 2011, it’s been possible to obtain the OS installer from the Mac App Store, and one that’s been updated to the latest point version of macOS / OS X. For example, after OS X El Capitan was released on September 30, 2015, it was possible over the subsequent months to download an installer that was updated for versions 10.11.1, 10.11.2, and so on. Whenever a new point version is…

Squirrel Updates, the Slack Mac App and User Environment Variables

Update : The workaround described below for disabling Squirrel updates specifically for Slack no longer works, as Slack’s Mac app as of 2.5.1 includes code to actively disable it. If you disagree (as I do), you can use the Slack /feedback command to send feedback to the developers. Today in the Macadmins Slack #autopkg channel, my friend Ben mentioned he was seeing this update prompt for the…

MacSysAdmin 2016 'Tools and Process for Streamlining Mac Management' Session Links

Here are links and resources I refer to in my MacSysAdmin 2016 talk, ‘Tools and Process for Streamlining Mac Management’ in Göteborg, Sweden. Thanks to Tycho for another great conference! The video recording and PDF of the slides for this presentation are also now available, along with all the other talks, at the MacSysAdmin documentation site . macOS builds AutoDMG CLI…

MacDevOps:YVR 2016 'Jenkins CI for MacDevOps' slides and references

Today I’m presenting on the Jenkins CI project for the MacDevOps:YVR 2016 conference in Vancouver, Canada. This post contains links and references from the talk, and you can find the slides here . Here’s a link to the video: MacAdmin projects mentioned Imagr AutoDMG AutoDMG Cache Builder Jenkins job and config management Job DSL Plugin Groovy scripting language AutoPkg-CI project code…

MacDeployment 2016 'Managing the User Experience' slides and references

Here are some references from my “Managing the User Experience” session at the MacDeployment 2016 conference in Calgary, June 2016. Thanks to everyone who attended! Slides can be downloaded here . Third-party app preferences Sparkle documentation Google Chrome preferences using MCX Adobe Scripting Center Apple-native Preferences Preferences domains Exhaustive domain search order from…

New Adventures in Automating OS X Installs with startosinstall

OS X El Capitan’s installer includes a nifty new command-line tool called startosinstall , which can be used to automate installations and upgrades of OS X El Capitan via the command line. Since you may be already familiar with the createOSXInstallPkg tool that can also help automate OS X installations, you might be wondering why you should care. I’ll go into some technical detail…

Developer Binaries on OS X, xcode-select and xcrun

xcode-select is a command-line utility on OS X that facilitates switching between different sets of command line developer tools provided by Apple. Its primary function is to be a “master switch” for the actual paths resolved when invoking the commands for tools like make , xcodebuild , otool , etc. From the manpage: The tool xcode-select(1) is used to set a system default for the…

Deploying Xcode - The Trick With Accepting License Agreements

If you’ve ever gone through the process of automating Xcode installations, you’ve no doubt run across the issue of making sure that the license for Xcode and included SDKs has been accepted. An unlicensed Xcode looks like this on first launch, and asks for admin privileges: Or, try and run a command line utility and get: ➜ ~ strings Agreeing to the Xcode/iOS license requires admin…

Easy Version Comparisons with Python

This is just a little taste of why sysadmins find Python so approachable. If you’ve managed systems for long enough, you’ve probably had a need to compare two versions of something. For example, you want to do one thing if a given application or package is less than 2.0 , and another thing if it’s greater. (For example, upgrade the application or package, or configure it…

The Office for Mac 2016 Volume License Installer, Two Months Later

It is now over two months since Microsoft has made the Office for Mac 2016 Volume License installer available for customers in the VLSC (Volume Licensing Service Center) portal. I have previously documented a couple major issues with the installer that impact those who deploy Office 2016 using automated means (meaning anything that doesn’t involve a user manually running the GUI installer).…

MacSysAdmin Tools Smörgåsbord

The MacSysAdmin 2015 conference is taking place this week in Göteborg, Sweden. In a session titled MacSysAdmin Tools Smörgåsbord , I’ll be going through a selection of tools that I’ve either written or contributed to and which are available on my GitHub repo . Theatre entrance to the Folkets Hus. CC Image courtesy of Metro Centric on Flickr. Here you can find the various links to…

What's Wrong with the Office 2016 Volume License Installer?

Office 2016 for Mac comes in an installer package that has been causing several issues for Mac sysadmins deploying it in their organizations. At least a couple posts exist already for how to “fix” the installer and deploy the software, but I haven’t seen anyone actually detail some of these issues publicly. The best way to “fix” the installer is to have Microsoft fix…

Disabling First-run Dialogs in Office 2016 for Mac

This post is part useful tidbit and part lesson in interacting with application preferences on OS X. Office 2016 for Mac presents “first run” dialogs to the user to market some of its new features. Sysadmins often want to find ways to disable these for certain scenarios. I actually think these are often helpful for individual users, but may be less desirable on shared workstations or…

Python For Mac Admins session resources

On June 18 and 19, I’ll be giving a talk at the MacDeploy and MacDevOpsYVR conferences, respectively in Calgary and Vancouver. The talk is a whirlwind introduction to “Python for Mac Admins” and is mostly based on code snippets and examples that I’ll be talking through in an interactive Python environment. If you’d like to follow along, I’m putting the code…

Adobe Creative Cloud Deployment - Pushing Installers with Munki

We previously covered a few aspects of Adobe Creative Cloud from the perspective of deploying it to OS X clients. We spent the whole time dealing with the licensing aspects but never talked about the actual installers and updates. Adobe installers are spoiled There is a single option available to you for getting the installers: you must use the Adobe Creative Cloud Packager application (CCP for…

Adobe Creative Cloud Deployment - Managing Licenses with Munki

Previously we covered some boring details about Adobe Creative Cloud licensing and how this impacts deploying it to managed clients. We also covered a process and script I came up with that makes it slightly less painful to package up device and serial licenses for distribution to clients. Now, how to we manage these in a software management system? Since I use Munki, I’ll use that as a…

Adobe Creative Cloud Deployment - Packaging a License File

In the previous post , we covered the scenarios in which you might want to deploy a Creative Cloud device license or serial number separate from the actual applications, as a “License File Package”. Although the Creative Cloud Packager app supports this as a workflow, the problem is that it doesn’t help you out much with regards to the files it outputs. Adobe has had the APTEE…

Adobe Creative Cloud Deployment - Overview

Adobe’s Creative Cloud licensing models add some new layers of complexity surrounding large-scale deployment in organizations. As I’ve been planning and testing our rollout in areas with managed, shared workstations I’m routinely uncovering new information, and the parts of this I think might be useful to others I will cover in several posts. There are several aspects here: 1)…

Upcoming conference talks for 2015

Pepijn Bruienne just posted a nice summary of the Apple administration-focused conferences coming up in 2015. I’m also happy to be a small part of several of those coming up: Anthony Reimer has organized for its second year the MacDeployment workshop , hosted at the University of Calgary’s Integrated Arts Media Labs . I’m looking forward to visiting as the IAML seems similar to…

Reclaiming inodes from Jenkins

A pet project I maintain is ci.autopkg.org , a Jenkins instance that runs all AutoPkg recipes in the autopkg/recipes repo on a schedule, and reports any cases where recipes are failing. There are currently 126 jobs, for the 126 recipes in the repo. These AutoPkg recipes must be run on OS X, so there is always at least one OS X slave connected to by the master, which runs Ubuntu on the cheapest…

Experiments with AutoDMG, System Image Utility and OS version compatibility

I use AutoDMG to build restorable system images for OS X, which uses a technique similar to System Image Utility’s NetRestore: run the OS X installer on one machine, but targeted at a disk image which is later converted to a read-only disk image, which can be restored to a Mac. While running the 10.10.3 developer seeds on my build machine I noticed my AutoDMG builds seemed to never complete.…

Security Updates leaving mach_kernel visible

In the past, there have been cases where system updates for 10.8.5 (and possibly earlier versions) leave the OS X kernel (at /mach_kernel ) visible to users in the Finder. This file has since moved to /System/Library/Kernels/kernel in OS X Yosemite, but previously to Yosemite it is located at / , and included in the package payload for system updates like OS X Combo/Delta and Security Updates. OS…

darwinup, Apple's Darwin Update utility

Yesterday in ##osx-server , Pepijn Bruienne mentioned having stumbled upon an OS X system binary he’d never seen before, which was new to me as well: darwinup . This tool is used (or was used - public development of it seems to have stopped around OS X 10.7) for the purpose of managing versions of OS X system components by installing “roots” distributed in a variety of ways. It…

OS X admins: your clients are not getting background security updates

Have I got your attention? The more accurate (and longer) qualifier for this title should actually be: “admins who configure clients to not automatically check for software updates.” From recent discussions in ##osx-server , some of us have determined that OS X’s “system data files and security updates” will only install automatically if a client is already configured…

Keeping your OS X VM guest tools current with Munki

I use VMware Fusion to test client software, deployment workflows, and using virtual machines allows me to frequently take and roll back snapshots. Over time, the VMware guest OS tools tend to drift out of date with the version of Fusion, and are reported to need updates/reinstalling. Sometimes when this happens, things like pasteboard synchronization, automatic window resolution resizing and…

More about suppressing diagnostics submissions popups in OS X Yosemite

With OS X Yosemite, Apple added an additional phase to the Setup Assistant: the offer to submit diagnostics info to Apple and third-party developers, which is displayed either as part of a initial setup or upon first login (similar to the iCloud prompt ). Those who administer OS X clients typically look to disable such prompts on managed machines, either to avoid annoying users in shared…

MacTech Deployment Discussion/BOF/Q&A Notes

At MacTech Conference 2014 in Los Angeles, Graham Gilbert and myself conducted a discussion / birds-of-a-feather session on the broad topic of OS and software deployment for OS X and iOS. Allister Banks was present and dutifully took notes and reference URLs of specifics that were mentioned - solutions, blog posts, and other resources. We thought these would be great to share:

How Do I Contribute? MacTech 2014 presentation links

For everyone at the MacTech Conference in Los Angeles this year, here are links to various resources that are linked and referred to in my talk today on Git and source code collaboration. Source Control Management: Git Mercurial Learning resources: Pro Git 2nd edition Try Git StackOverflow Explain Git with D3 GUI Applications: SourceTree (Atlassian) Tower (fournova) GitHub for Mac (GitHub)…

Yosemite deployment images and (Beta) Feedback Assistant

Yosemite was released yesterday, October 16, as OS X 10.10 build 14A389. One of the first thing a lot of Mac admins do with new OS releases is build never-booted disk images for deployment using the mighty AutoDMG tool written by Per Olofsson. While I still wait to see if Apple will offer my machine running the latest Yosemite Public Beta to upgrade to the exact same build number, I yesterday…

AutoPkg: Crowd-sourcing Mac packaging and deployment

Thanks to everyone who attended Greg’s and my talk today at MacSysAdmin 2014 in Göteborg! Again, I give my sincere thanks to Tycho and all those who organize the fantastic MacSysAdmin conference every year. I’m honoured to be among such great company, speakers and attendees. Here are the links for resources that were mentioned in the slides: AutoPkg: AutoPkg home page AutoPkg Wiki…