RAID and macOS

RAIDs are a strange edge case that are rarely useful outside of servers, but when they are useful, they are very important. RAID is an acronym for ‘Redundant Array of Independent/Inexpensive Disks.’ It is a technology where you combine multiple, physical disks into a single virtual drive for redundancy, speed, or both.

Often the RAID system is handled by a dedicated controller in an external enclosure, but sometimes, you want or need to work with drives directly. macOS has some basic RAID functionality built-in and there are good third party options if you want to go further.

RAID Levels

If you are unfamiliar with RAIDs, we need to get some terminology sorted out first. There are different kinds of RAIDs which are called ‘levels.’

In this post, I am going to focus on level 1 or ‘RAID 1.’ With RAID 1, the data is ‘mirrored’ between two or more drives, so that each drive carries a complete copy of the data. This protects from data loss because of drive failure. Note that RAID 1 does not protect from other common reasons for data loss, such as file system or individual file corruption, accidental or malicious file deletion. A RAID is never a replacement for a good backup strategy. Since the data is mirrored on all the devices, a RAID 0 will only have the capacity of the smallest drive in the set. It is generally recommended that drives in any RAID set should be of the same capacity and type, for best performance and efficiency.

A level 0 RAID (or ‘RAID 0’) is not actually redundant. In a RAID 0 the data is ‘striped’ across two or more drives so that writes and reads happen in parallel, which increases the data bandwidth available. Since the data is spread evenly (striped) across all drives in the RAID 0 set, failure of a single drive will result in complete data loss. The capacity of the stripe raid is the capacity of the smallest drive in the set multiplied by the number of drives in the set. Having drives of the same type and capacity is even more relevant for RAID 0 performance.

There are more RAID levels, such as 0+1, 10 and 5 and dedicated disk controllers will have more options (such as combining multiple drives of different sizes more efficiently), but we will focus RAID 1 (mirror).

Here, there be dragons

Warning: many of the commands shown here to setup and experiment with disk drives and RAIDs may or will lead to loss of the data on the drives involved, so be careful. I strongly recommend disconnecting any drives other than those you are experimenting with from the Mac you are working on.

I would also recommend to experiment with a set of drives that contain no relevant data at all. Two USB sticks will do just fine to explore and test the functionality. Drives do not have to be of the same capacity and type for testing, but I do recommend that for actual use.

Apple RAID

macOS has built-in support for software-based mirror and stripe RAID called “AppleRAID.” This also provides a third option to concatenate drives, but concatenation provides neither redundancy, nor performance, so I do not recommend using it.

You can use the Disk Utility app to setup a RAID. It has a nice assistant that you an access from the File menu called RAID Assistant. It will ask you what kind of RAID you want to setup and allow you to select the drives and create a new RAID volume. This will delete the data on the disk drives and there are few features that are not exposed in the Disk Utility UI, so I will focus on how to do it in the command line.

You can keep Disk Utility open to get a visual representation of what is going on, though the Disk Utility app often has problems keeping up with changes done from the command line. You may have to quit and restart the app to force it to update its status. You want to enable “Show all Devices” from the View menu to see the physical drives as well as the file systems and virtual drives.

First, we need to identify the disks that we want to work with. When you run diskutil list it will list all the disk on the system. Usually disk0 will be the built-in drive, and disk3 will be the (synthesized) APFS container inside (with the System and Data volume). But depending on what Mac you are using, what your configuration is, and what devices you had attached to the Mac before you started this, the numbers may be different.

Again, to be safe, unmount and disconnect any drives or file servers with data that you care about at this point, and the connect the two drives you want to use for experimentation. Their data will be erased!

Run diskutil list again and identify the device identifiers for the drives you will be working with. They should look like this:

/dev/disk4 (external, physical):

For me, the two drives where disk4 and disk5, so I will be using those numbers in my examples, but be sure to replace those with the device numbers on your system, other wise you might be working with the wrong disk or volume.

Promoting a drive to mirror RAID

One of the features you can use from the command line is to ‘promote’ an existing drive to a mirror RAID without data loss. Apple RAID promotion works (as far as I can tell) only with HFS+ formatted Volumes, so let us reformat the first disk (disk4) as such:

> diskutil eraseDisk JHFS+ DiskName disk4 
Started erase on disk4
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk4s2 as Mac OS Extended (Journaled) with name DiskName
Initialized /dev/rdisk4s2 as a 59 GB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Finished erase on disk4

Using the command line, we will be able to promote this HFS+ drive without have to erase it (again), so copy some (un-important) files to it now.

diskutil has a sub-group of commands dedicated to the RAID functions called appleRAID or ar for short. I am going to use the short form. You can run diskutil ar to get a list of the sub-commands for working with Apple Raid. You can read the diskutil man page for details.

Next we have to enable AppleRAID on the drive. Enabling RAID on single drive seems a bit pointless, but this prepares everything on that drive, so that we can add more drives later.

> diskutil ar enable mirror DiskName
Started RAID operation on disk4s2 (DiskName)
Resizing disk
Unmounting disk
Adding a booter for the disk
Creating a RAID set
Bringing the RAID partition online
Waiting for the new RAID to spin up "8D05B6EB-DCFB-426D-885B-ED8C76DC2484"
Finished RAID operation on disk4s2 (DiskName)

The volume and the files you had copied earlier are still there. But the volume is now listed under “RAID Sets” in Disk Utility. You can see the single drive in the RAID Set in the UI there. You can also get this info in command line with

> diskutil ar list   
AppleRAID sets (1 found)
===============================================================================
Name:                 DiskName
Unique ID:            8D05B6EB-DCFB-426D-885B-ED8C76DC2484
Type:                 Mirror
Status:               Online
Size:                 63.8 GB (63816400896 Bytes)
Rebuild:              manual
Device Node:          disk6
-------------------------------------------------------------------------------
#  DevNode   UUID                                  Status     Size
-------------------------------------------------------------------------------
0  disk4s2   467826B1-BBA2-4671-99CE-5CBB04E06882  Online     63816400896
===============================================================================

To make this a real mirror RAID, we need to add the second drive:

> diskutil ar add member disk5 DiskName                
Started RAID operation on disk6 (DiskName)
Unmounting disk
Repartitioning disk5 so it can be in a RAID set
Unmounting disk
Creating the partition map
Adding disk5s2 to the RAID Set
Finished RAID operation on disk6 (DiskName)

This will add the drive to the RAID. This will delete any data that might be on disk5!

When you look at the RAID in Disk Utility (you might have to restart the app for it to pick up the new status) you will now see both drives, but one of them has the status “Rebuilding” with a percentage. The status of the entire RAID set is now “Degraded.” The RAID system is still in the process of mirroring data to the new member. You can use the volume to read and write data at this time, but it is not redundant yet. If the first drive fails during rebuilding, the data will be gone.

Once the rebuilding is done, the status of the RAID will change to “Online,” which is the “good” status. At this point the data on the RAID will be resilient to the failure or removal of either of the drives.

You can also create the RAID with both drives from the start, but this will erase all the data on both drives (this is what RAID Assistant in Disk Utility does.

Before we can try the other way of creating a mirror RAID set, we need to “break” the mirror we have built so far.

> diskutil ar delete DiskName
Started RAID operation on disk6 (DiskName)
Unmounting volume for RAID set 8D05B6EB-DCFB-426D-885B-ED8C76DC2484
Destroying the RAID set 8D05B6EB-DCFB-426D-885B-ED8C76DC2484
Finished RAID operation on disk6 (DiskName)

If you waited for the rebuilding to be complete, both individual drives will each contain the data of the former mirror RAID. If the rebuilding was not complete yet, only the first drive will contain the data, the second drive will be empty.

Create a new RAID set

Now let’s build a new empty mirror RAID with both drives included from the start:

> diskutil ar create mirror DiskName APFS disk4 disk5
Started RAID operation
Unmounting proposed new member disk4
Unmounting proposed new member disk5
Repartitioning disk4 so it can be in a RAID set
Unmounting disk
Creating the partition map
Using disk4s2 as a data slice
Repartitioning disk5 so it can be in a RAID set
Unmounting disk
Creating the partition map
Using disk5s2 as a data slice
Creating a RAID set
Bringing the RAID partitions online
Waiting for the new RAID to spin up "FE3E7A3F-E4BF-4AEE-BC3C-094A9BFB3251"
Mounting disk
Finished RAID operation

Note that we can build an APFS volume on the RAID set with the command line tool. RAID Assistant in Disk Utility will build a HFS+ volume. In this new empty RAID set both drives will be online immediately.

When you replace the mirror with stripe in this command you will get a striped RAID 0 volume. (performance instead of redundancy)

Drive failure

We can simulate a drive failure by unplugging one of the members. Sadly, macOS does not seem to have a notification for this event. Once you have removed the drive you can run disktutil ar list and see the status is “Degraded” and the which member is “Missing/Damaged.” You can keep using the volume in degraded mode.

Once you plug the drive back in it will appear as ‘failed.’ You can start the process of repairing or rebuilding the mirror with

> diskutil ar repairMirror FE3E7A3F-E4BF-4AEE-BC3C-094A9BFB3251 disk5  
Started RAID operation
Unmounting disk
Repartitioning disk5 so it can be in a RAID set
Unmounting disk
Creating the partition map
Adding disk5s2 to the RAID Set
Finished RAID operation

Note: Syncing data between mirror partitions can take a very long time.
Note: The mirror should now be repairing itself.  You can check its status using 'diskutil appleRAID list'.

The UUID is the UniqueID of the RAID set you see with diskutil ar list. The warning you get at the end is fair. The rebuilding process will take a while. How it takes depends on how full the volume is and how fast the new member drive is.

Downsides of AppleRAID

There are quite a few downsides to the built-in AppleRAID functionality. There is no notification or warning when one of the drives in a mirror goes offline and the RAID is running in degraded state. The RAID will also not automatically rebuild when a missing drive re-appears. (There is an AutoRebuild option mention in man page, but whenever I tried to enable that, the entire disk management stack froze in a way that required a reboot.)

AppleRAID can be useful to quickly stripe some random disks for performance. But generally, if the data was of so much concern that I am considering RAID 1, I would not rely on AppleRAID.

SoftRAID

There is a wonderful third party tool for managing software based RAIDs on macOS called SoftRAID (14-day free trial, then a tiered license). And, much to my delight, it also comes with a command line tool. Creating a RAID is not something you do regularly, so I went ahead and did this in the GUI app. Once that was setup, I used the command line tool to get the RAID’s status:

> softraidtool volume DiskName info

Info for "DiskName":

Mountpoint: /Volumes/DiskName
BSD disk: disk4
Total Bytes: 59.6 GB (64,016,478,208)
Free Bytes: 59.6 GB (64,016,478,208)
Volume format: unknown
Volume is DiskName
RAID level: RAID 1
DiskName ID: 09DF05C72BFFAD20
Optimized for: Workstation
Created: Jul 17, 2023 at 3:33:39 PM
Last Validated: never
Volume state: normal, 
Volume Safeguard: enabled
Total I/Os: 5,610
Total I/O Errors: 0
Total number secondary disks (including offline ones): 1

Disks used for this volume:
bsd disk:    SoftRAID ID:         Location and Size:
disk7     09DF053ECE82F980     (USB3 bus 0, id 4 - 59.8 GB)  secondary disk, 
disk6     09DF053D23386500     (USB3 bus 0, id 5 - 59.8 GB)  primary disk, 

The SoftRAID software also comes with a menubar app that shows the status of the RAID.

When you unplug one of the drives, the ‘Volume state’ changes to ‘missing disk.’ When you plug the missing drive back in, SoftRAID will automatically detect it and rebuild the RAID, when necessary. Rebuilding went so quickly that I had a hard time capturing the state from the command line. The more changes you apply to the degraded RAID the longer the rebuild takes.

> softraidtool volume SoftRAID info
SoftRAIDTool status: waiting for disk5 to finish (00:00:01)

Info for "SoftRAID":

Mountpoint: /Volumes/SoftRAID
BSD disk: disk5
Total Bytes: 59.6 GB (64,016,478,208)
Free Bytes: 59.6 GB (64,016,478,208)
Volume format: unknown
Volume is SoftRAID
RAID level: RAID 1
SoftRAID ID: 09DF06D95024CBE0
Optimized for: Workstation
Created: Jul 17, 2023 at 3:53:16 PM
Last Validated: never
Volume state: rebuiding, out of sync, 
Volume Safeguard: enabled
Volume progress: 15%
Current offset: 7,343,685,632
Time remaining: 00:07:24
Total I/Os: 22,752
Total I/O Errors: 0
Total number secondary disks (including offline ones): 1

Disks used for this volume:
bsd disk:    SoftRAID ID:         Location and Size:
disk4     09DF053ECE82F980     (USB3 bus 0, id 4 - 59.8 GB)  primary disk, 
disk7     09DF053D23386500     (USB3 bus 0, id 5 - 59.8 GB)  secondary disk, rebuiding, out of sync, 

You can parse this output using awk to get just the volume state. This is useful for reporting the state to Jamf Pro with an extension attribute:

#!/bin/sh

# reports the SoftRAID status

softraidtool="/usr/local/bin/softraidtool"

if [ ! -x "$softraidtool" ]; then
    echo "<result>SoftRAID not installed</result>"
fi

volumestate=$(softraidtool volume SoftRAID info | awk -F ': ' '/Volume state/ {print $2}')

echo "<result>$volumestate</result>"

Keep in mind that Jamf Inventory Updates (aka as recon) may run very infrequently (recommended default is once per day, and it shouldn’t run much more often than that to avoid database bloat), so the data in your Jamf Pro may be hours or sometimes longer out of date. If you want to react to changes in the RAID status more quickly, you should rely on other tools than Jamf Pro.

Conclusion

The best solution for RAIDs will always be a dedicated hardware controller. But there also good reasons (cost) to just put together a “bunch of disks” into a RAID. The built-in AppleRAID functionality works, but has limitations, especially for mirror RAIDs. SoftRAID is a great tool to overcome these limitations. For Mac admins, both can be managed and monitored with command line tools, which allows automation and integration with your management system.

Weekly News Summary for Admins – 2023-07-07

We got the third set of betas for macOS Sonoma and iOS 17 this week. I hope your testing is going well. Mine actually is, so far.


(Sponsor: Mosyle)

Mosyle Logo

The only Apple Unified Platform for Business

Mosyle is the only solution that fully integrates Enhanced MDM, Endpoint Security, Internet Privacy & Security, Single Sign-On, and Application Management on a single Apple-only platform.

Click here to learn why Mosyle is all you need to work with Apple.


Summer is in full swing and the number of posts and articles is declining as people are taking well deserved breaks. This means that this news summary will also go on summer break. It will return on September 9, with a large summary of what happened over the summer, just in time for the final stretch of beta releases and testing before the Fall releases.

That doesn’t mean you won’t hear anything from me. I am planning to use the time to write and finish a few articles that I have been tinkering with and work on some other projects that I have been mulling about. If something really interesting happens that is relevant to MacAdmins I will post about it.

I also plan to post and re-share interesting links on my Mastodon account. With all the turbulence in the social media space, that is the service I am using most right now. There is a nicely sized community of MacAdmins and related experts in the Fediverse now. I will also be (as always) active on the MacAdmins Slack.

I hope you get to enjoy a well-deserved break or at least a bit of a quieter time. See you in September!

If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

Security and Privacy

Support and HowTos

Scripting and Automation

Updates and Releases

To Listen

Just for Fun

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-06-30

The year is already half over. Summer is in full swing in the northern hemisphere. Nevertheless, MacAdmins everywhere are very busy publishing their wonderful work, in blog posts, GitHub repos, and at conferences and meetings. Several interesting posts and updates this week, thank you all!


(Sponsor: Mosyle)

Mosyle Logo

The only Apple Unified Platform for Business

Mosyle is the only solution that fully integrates Enhanced MDM, Endpoint Security, Internet Privacy & Security, Single Sign-On, and Application Management on a single Apple-only platform.

Click here to learn why Mosyle is all you need to work with Apple.


If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

News and Opinion

Security and Privacy

Support and HowTos

Scripting and Automation

Updates and Releases

To Watch

To Listen

Just for Fun

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-06-23

Busy week with a surprise security update for most Apple platforms, beta 2 for macOS Sonoma, iOS and all their siblings and beta for Xcode 15 with a brand new SDK for visionOS 1.0, which means that you can start building apps for visionOS and play around with visionOS in the simulator…


(Sponsor: Mosyle)

Mosyle Logo

The only Apple Unified Platform for Business

Mosyle is the only solution that fully integrates Enhanced MDM, Endpoint Security, Internet Privacy & Security, Single Sign-On, and Application Management on a single Apple-only platform.

Click here to learn why Mosyle is all you need to work with Apple.


If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

News and Opinion

visionOS 1.0

These links lead to various pages on Apple’s Developer site and are targeted towards that audience and not admins. Nevertheless, I believe they may contain interesting bits for all Apple users.

macOS and iOS Updates

Security and Privacy

Support and HowTos

Scripting and Automation

Updates and Releases

To Listen

Just for Fun

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-06-16

I am still catching up on WWDC videos and processing all the news. But overall it is looking like the system upgrades for this Fall are going to substantial improvements with regards to managing Apple devices.

We also got a new round oof betas for macOS 13.5 and iOS 16.6 this week.


(Sponsor: Mosyle)

Mosyle Logo

The only Apple Unified Platform for Business

Mosyle is the only solution that fully integrates Enhanced MDM, Endpoint Security, Internet Privacy & Security, Single Sign-On, and Application Management on a single Apple-only platform.

Click here to learn why Mosyle is all you need to work with Apple.


If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

macOS Sonoma and iOS 17

Social Media

  • Ricky Mondello on Hachyderm.io: “The feature that allows you to share passkeys and passwords in iOS 17 and macOS Sonoma is not at all limited to families. You can set up shared groups with any collection of close contacts. And you can set up as many groups as you’d like.”

Support and HowTos

Scripting and Automation

Apple Support

Updates and Releases

To Watch

To Listen

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-06-09

Wow, what a week!


(Sponsor: vast limits)

uberAgent Logo

Provide productive AND secure digital employee experiences

uberAgent is an innovative digital employee experience monitoring and endpoint security analytics product for macOS and Windows. uberAgent helps enterprise IT provide fast, reliable, and secure devices & applications that boost employee productivity while strengthening cybersecurity. Try for yourself and get your free 100-user community license at uberagent.com.


If you think your company or product is a good fit to sponsor this newsletter, please contact me!

If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

WWDC 2023

WWDC 23 is on and started with an amazing keynote. When they introduce three new Mac models, including the new Apple silicon based Mac Pro in the first 20 minutes, then you know it’s going to be in for quite ride. After 80 minutes, there was a moment where it wasn’t quite certain there was going to be a “One more thing…” and I thought I would have been happy if they had stopped there. New Macs, Apple silicon transition completed, many good new features for macOS, iOS, and watchOS.

But they didn’t stop and introduced the ‘Vision Pro,’ which is neither a ‘VR’ nor a ‘AR headset’, but a ‘spatial computer’ with a ‘spatial operating system.’ Whatever Apple calls it, this was the preview, mainly for the developers and it will not be available until next year and even then only in the US, so I will take my time until I make my judgement about this. This opinion is a step up from my former opinion of any VR/AR/spatial computer from Apple (or anyone), which can only be described as ‘indifferent.’

The potential of the Vision Pro and concept of ‘spatial computing’ seems great. The question whether Apple can achieve that potential remains. The price point and limited availability are clear signs that Apple is aware that this platform is maybe ‘not quite ready yet.’ But other platforms, like the Apple TV, iPhone, iPad, Apple Watch, and back in the day, even the Mac and the first PowerBooks took a few years to really find and define their purpose, too.

Sessions for MacAdmins

Apple has released more than 170 sessions for WWDC. Most of those sessions are focused on developers and not people who manage and deploy Macs and other Apple devices. Here is a list of sessions that I think MacAdmins should watch.

If you haven’t seen either of these, you really should. They give an excellent overview of what Apple thinks is relevant for the upcoming platforms. You might have other priorities, and that is fair, but getting the overview picture and an impression of where Apple is heading is important.

Don’t miss this

Always a great overview of what is will happen for Mac and iOS management. Covers many topics that don’t quite merit their own session.

Business & Education

Apple has a “Business & Education” topic in the developer app. These will be in-depth explanations of some specific new features.

Other interesting sessions

While these sessions will likely be very focused on developer topics, they often contain interesting explanations of how to use and sometimes how to manage these features.

And now, on to the news…

Apple devices

macOS Sonoma and iOS 17

Community

News and Opinion

Social Media

  • mikeymikey:open 'x-apple.systempreferences:com.apple.Software-Update-Settings.extension?action=showBetaUpdates'” (Thread)

Security and Privacy

Support and HowTos

Scripting and Automation

Apple Support

Updates and Releases

To Listen

Just for Fun

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-05-26

Less than two weeks until WWDC. The keynote will be on June 5, as usual at 10am PDT.


(Sponsor: vast limits)

uberAgent Logo

Provide productive AND secure digital employee experiences

uberAgent is an innovative digital employee experience monitoring and endpoint security analytics product for macOS and Windows. uberAgent helps enterprise IT provide fast, reliable, and secure devices & applications that boost employee productivity while strengthening cybersecurity. Try for yourself and get your free 100-user community license at uberagent.com.


If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

Focus

Running any blog for twenty years is an amazing achievement, let alone one that has had so much positive impact on the MacAdmins community. DerFlounder was one of the inspirations for me to start my own blog, a mere 12.5 years ago. Congratulations, Rich!

News and Opinion

Security and Privacy

Support and HowTos

Scripting and Automation

Apple Support

Updates and Releases

To Watch

To Listen

Just for Fun

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-05-19

Release week! We got the macOS 13.4, iOS 16.5 updates (and the other platforms, too, of course). It wasn’t released until yesterday, with another round of release candidates earlier this week. As usual, you can find all the relevant links in this summary.


(Sponsor: vast limits)

Provide productive AND secure digital employee experiences

uberAgent Logo

uberAgent is an innovative digital employee experience monitoring and endpoint security analytics product for macOS and Windows. uberAgent helps enterprise IT provide fast, reliable, and secure devices & applications that boost employee productivity while strengthening cybersecurity. Try for yourself and get your free 100-user community license at uberagent.com.


In the run-up to WWDC, Apple has has published information on future accessibility features, a new concert discovery feature in Music and Maps, and an update on fraud in the AppStore.

WWDC is not the only conference coming up. MacAD.uk in Brighton, UK is next week. MacDevOps YVR will be in Vancouver, Canada, later in June and PSU MacAdmins Conference in July. After the summer we will have JamfNation User Conference in Austin, Texas in September and MacSysAdmin in Göteborg, Sweden in October.

The MacAdmins Foundation has established a new grant for conference attendance for those who cannot otherwise attend. The deadline for applications is May 28. You will find details on their page.

If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

Focus

macOS Ventura 13.4 and iOS 16.5

macOS

iOS and iPadOS

Other Platforms

Applications

Guides

Community

Social Media

  • Craig Hockenberry: “To disable movie, PDF, and other useless previews, but still maintain the image on the icon, use this from Terminal: $ defaults write com.apple.finder QLInlinePreviewMinimumSupportedSize -int 512 Then relaunch the Finder.”

Support and HowTos

Scripting and Automation

Apple Support

Updates and Releases

To Watch

To Listen

Just for Fun

Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

Weekly News Summary for Admins — 2023-05-12

This is the time of the year where Apple makes the announcements that didn’t fit in the WWDC Keynote anymore. This week they announced iPad versions of Final Cut Pro and Logic Pro which will be released next week, probably coinciding with the releases of iOS/iPadOS 16.5 and macOS 13.4.


(Sponsor: Mosyle)

Mosyle Logo

The only Apple Unified Platform for Business

Mosyle is the only solution that fully integrates Enhanced MDM, Endpoint Security, Internet Privacy & Security, Single Sign-On, and Application Management on a single Apple-only platform.

Click here to learn why Mosyle is all you need to work with Apple.


Apple also released release candidates for those updates this week (two of them). This will be the last update of iOS 16/macOS 13 before we get the betas of the next major releases at WWDC in June. There usually are two more minor updates before the release of the next major versions in the Fall, but those rarely add major changes.

If you would rather get the weekly newsletter by email, you can subscribe to the Scripting OS X Weekly Newsletter here!! (Same content, delivered to your Inbox once a week.)

📰News and Opinion

🦣Social Media

  • Ricky Mondello: “Passkeys will be importable and exportable, cross-device, and across passkey managers. They aren’t at this time, but they will be. It’s something that’s being defined and designed.”
  • Timothy Perfitt: “Adding in an interesting feature to XCreds 3. When you lock the screen, it will automatically Fast User switch to the login window, keeping the session active but requiring a cloud login. This means that the IdP (like Azure) can log the login and do conditional access on it as well.”

🔐Security and Privacy

🔨Support and HowTos

🤖Scripting and Automation

🍏Apple Support

♻️Updates and Releases

📺To Watch

🎧To Listen

📚Support

If you are enjoying what you are reading here, please spread the word and recommend it to another Mac Admin!

If you want to support me and this website even further, then consider buying one (or all) of my books. It’s like a subscription fee, but you also get a useful book or two extra!

MacAdmins Slack: a highly opinionated guide (2023)

I wrote the original opinionated guide to the MacAdmins Slack in 2018, nearly five years ago. I thought it was time for a new, updated guide.

MacAdmins Slack?

I love MacAdmins Slack. I am logged in most workdays. I use it for research, solving problems, camaraderie, and just plain fun. The community there is wonderful. If you are new to Slack or similar chat/community apps, it can be a little strange.

The MacAdmins Slack also stands out due to its unusual size. As of this writing, there are more than 50,000 accounts on the MacAdmins Slack and more than 5000 weekly active users. There are also far more than 1000 channels.

You might be new to Slack, or new to a public Slack of this size. You might also be new to managing Apple devices and have not encountered the MacAdmins community before. The community in the MacAdmins Slack is amazing, but there are also a few things that are particular to this Slack. So, I tried to put this guide together to help new members get some orientation.

This is, as the title says, highly opinionated. The community is large and diverse and you will find differing opinions on nearly everything.

Note: I have also recently had the honor to join the admins group in the MacAdmins Slack. Nevertheless, this post will often reflect my opinion. The Code of Conduct, however, is “important and enforceable. The Mac Admins Slack Admin Team will enforce this code throughout all channels within the Slack.”

What is Slack?

Slack is a popular message board application. It’s a cross between a bulletin board system and a chat room.

Slack has a web interface and clients for most operating systems. The user interface can differ between the different platforms. Instructions in this post will be for the Mac standalone app version, though most advice will be valid for Slack across all platforms.

The MacAdmins Slack is a particular instance which specializes on topics relevant to Apple Administrators. (macOS and iOS, despite the name) You can sign up here. Please read the Code of Conduct here, as well.

The MacAdmins Slack started out in 2015 as an employee sponsored instance, but since 2022 it is funded by the MacAdmins Foundation.

The Lingo

There are a few terms particular with Slack which might be confusing at first.

Slack help has a helpful general glossary, which can be helpful.

An organization can set up a Slack “Workspace.” You can be a member of and logged into multiple workspaces. You may have a workspace for your job, the MacAdmins Slack and maybe some other social workspaces. You will have a different login and username for each workspace.

Channels

Within a workspace, Slack is separated into “channels.” Channels can be public or private. Channel names are prefixed with the symbol #.

When you sign in for the first time, you are be added to the #general and #announcements channels by default.

In the left sidebar at the top of the list, you will find an option labeled “More” and in that submenu is a “All Channels” item that allows you to browse and search existing channels. You can also use the search field at the top of the window to search for channels (and everything else).

When you are typing a message and start a word with the # character Slack will treat this as a link to a channel. When you start typing the channel name Slack will suggest auto-completions. If a channel with the name exists, the word will be linked and users can click it to be taken to that channel.

Public channels in MacAdmins Slack are either on a generic subject (e.g. #security), particular technology (#ios and #macos, and each incarnation, such as #ventura and #monterey), software (e.g. #jamfnation, #microsoft-office, or #adobe), open source projects (#munki, #autopkg, #swiftdialog, or #installomator), regions or countries (#anzmac, #london, #benelux, or #macadminsfr), events (#psumac or #wwdc) or pretty much everything else.

The language on MacAdmins is usually English, though regional channels are often in that region’s language. Be aware that English is not everyone’s first or main language. While this can make communication frustrating on both sides, please remain polite, patient and friendly.

All channels can have a topic which is displayed at the top next to its name. Many channels will use the topic to lay some rules particular for this channel. When you join a channel make sure to read and respect the topic.

To be honest, there are way #toomanychannels. The reason for this is that anyone can create a channel. Before you create a new channel, you should browse and search and maybe ask if there is already a channel for that particular purpose or topic. #general is usually a good place to ask if you can’t find something obvious in the channel browser.

In addition there are private channels, which work basically the same, but cannot be searched and only joined on invitation.

Special Channels

There are a few channels that have special roles or uses:

#general: the “anything” channel, as long as the topic is somewhat MacAdmin related. Questions asked here may are often answered directly or you will be referred to a different channel.

#announcements: used by the team of admins to… well… make announcements. You cannot post in this channel and you cannot leave this channel.

#ask-about-this-slack: for questions to the admins about the MacAdmins Slack (not a support channel on Slack in general)

#gettingstarted: for people new to managing Apple devices. There are quite a few ‘seasoned’ people in this channel ready to answer question you might deem to basic for other channels.

#jobs-board and jobs-chat: The ‘board’ channel is for offering or seeking for jobs. This channels rules state that any discussion about the post and work in general should happen in #jobs-chat. There are some more channels that have this dichotomy, e.g. #blog-feed and #blog-chat.

Emojis

Emojis are an important part of Slack..

You can just insert an Emoji when typing with the standard macOS or iOS emoji picker. You can also type an emoji name or ‘code’ between colon characters:. So :grin: will turn into the grinning smiley. This is usually more convenient than the system pickers.

When you see an emoji, you can hover the mouse over it to learn its name or code.

Reactions

You can react to a post with an emoji with the reaction button. (the smiley with the + symbol). Then the emoji will be shown attached to the post.

Multiple reactions by different users will be shown next to each other, and they will be counted up. When you hover your mouse over a reaction, it will show which users added that particular reaction.

Be generous with reactions: it never hurts to show appreciation.

Special Reactions

Some emojis/reactions are unique to Slack or carry special meaning:

:+1: displays as the ‘thumbs up’ emoji, which is commonly used to show approval or support, though some prefer :plus1: or :heavy_plus_sign:

:protip: highlights a great tip; a bot gathers all posts with this reaction in the #protips channel

:raccoon: notify that an ongoing discussion might be better suited for another channel (Why is it a raccoon?)

:dolphin: when leaving a channel states that you are merely leaving to prune your channel list and not because something has upset you. It is a reference to Douglas Adam’s “So long and thanks for all the fish.” You do not have to use this every time you leave a channel. In high volume channels, it would be very annoying. Save this emoji for situations where it makes sense

Custom Emojis

You can upload your own emoji. Or add new names for existing ones.

To Thread or not to Thread

You can reply to a post directly in a channel’s timeline or create a ‘thread’ where the replies are collapsed or sorted with the original post. Use the speech bubble icon to create a thread. When replying in a thread, you have the option to show the reply in the channel’s main timeline as well.

Replying in a thread has the advantage of keeping the message timeline of the channel clean, especially in busy channels where multiple discussions on different topics may be going on at the same time. You can also reply to your own post to supply more detail on your post when you don’t want to clutter the main timeline.

You will be notified of new replies to a thread when you wrote the original post, replied to it, or were mentioned in it. You should be aware of this, especially when the discussion in the thread drifts away from the original question. Be mindful of all the people in the thread that will be getting notifications for something they may no longer be interested in and consider moving the discussion to a new thread. You can turn off notifications for a particular thread you not interested in anymore.

In the MacAdmins Slack there is no general rule on whether you should reply in threads or not. In general, you should prefer replying in threads in busy channels and avoid them in quieter channels. Mostly, you want to follow the lead of other channel members.

Notifications

Set up Do not Disturb

To avoid excessive notifications, you can set Slack to ‘Do not Disturb‘ mode by clicking on the bell icon next to the Workspace name. You can snooze the Slack for a certain and setup a recurring schedule to mute notifications overnight.

A user who mentions you while have the ‘Do not Disturb’ mode enabled will be informed why you may not be reacting.

Manage your Notifications

Aside from the ‘Do not Disturb’ feature you can further manage the notifications Slack can send to you.

In addition to be notified when you are mentioned (@ed) you can add certain keywords that may be interesting to you. (e.g., I have keywords for my books and some of the projects)

Use the ‘@’ Wisely

You can ‘mention‘ another user with the @ symbol and their username. With Slack’s default setting the user will get notified of a mention. When you use @scriptingosx in a post, it will notify me, even when I am not in the channel.

This can be very useful to ‘summon’ someone into a channel, because they might be interested or able to contribute to a discussion. Be very mindful with mentions. Remember that you may be ringing all of someone’s devices with it.

Slack is not Email

The MacAdmins Slack can get very busy. You may have the urge to keep up with every message in every channel you follow. This may be possible when you are in just a few channels. However, I have gotten used to just hitting ‘shift-escape’ (Mark all as read) in the morning and maybe again in the afternoon. I try to keep up with discussions and threads I am part of, and have learnt to be ok with missing most others.

You can prune the list of channels to a manageable size, but even so there will probably be more than you can read. You can also sort the channels into customized sections in the sidebar, which can help a bit.

Formatting Posts

You can use a simplified MarkDown-like syntax to format your posts. Enclosing a word or sentence in underscores _ will turn it italic, asterisks * will turn it bold.

If you have trouble remembering the syntax, you can also see the most common formatting options in small text under the message entry field.

Posting Code

Since MacAdmins Slack is a technical forum, posting commands or pieces of code will be fairly common. When you enclose a sequence of words with single backticks it will be shown in monospace font, which others will usually understand to be a command.

When you use triple backticks, Slack will interpret the text in between as a code block. Other special characters and white space (multiple space, tabs, new lines) will be shown as is. This is useful to share short code blocks or log sections.

You can also use the code and code block options from the formatting toolbar.

To share full scripts or longer log files, use Slack Snippets. You can create a snippet with the big ‘+’ button next to the text entry or by just dragging a script or text file into the slack window.

Editing and deleting

Other Slack workspaces may allow you to delete your own posts or edit them indefinitely. In the MacAdmins Slack, you cannot delete posts and only edit them for a short time after they have been created. The goal is to reduce trolling and gaslighting.

When you accidentally posted information you want to be removed, like the password you entered in the wrong app or personal information in a screen shot, you can ping one of the @admins for help.

Asking questions

We all use Slack to ask for help when we are stuck. The willingness to help each other out it one of the strengths of the MacAdmin community. However, when you do have to ask for help, there are a few common courtesies you should follow. (These hold true for any request for help, like a support incident.)

Don’t just say “Help, XYZ is broken!” Don’t ask if “anyone knows ABC?”

Vague questions will, at best, yield vague or very generic replies. But usually it will not receive any reply. Most readers of this questions will be careful to reply. Once you reply to a question, even if it just with the request for clarification, there is an expectation that you will follow-up with a proper reply. But if the question is vague, I cannot judge how much effort that will add up to be, or maybe the question might move out of my area of competence entirely… It is far less effort to not reply at all.

Don’t ask permission to ask a question. Just ask.

Be respectful

Keep in mind that everyone on the MacAdmins Slack has a job, which is not answering your questions. We are all volunteering our time to help each other out.

Don’t @ or DM people just because they have helped you before, unless you want to follow-up on something very specific and/or they have made it clear you are welcome to do so. This also applies to prominent contributors or owners of tools and projects.

There is a much larger audience of potential helpers in the relevant channel. There is a much higher likelihood of a response when you are not annoying.

Keep your question relevant

Sometimes a question might just drown in another ongoing conversation. Sometimes, especially on the less busy channels, no-one will be around to answer. Be patient before you start cross-posting to other channels. When you feel you have to cross-post to another channel, you can share or forward the original post to another channel. This has the benefit that a discussion will not be split between two channels with two different audiences and avoid repetition and redundancy.

If you feel your question drowned in some other discussion, it’s ok to repeat your question, once the ongoing discussion subsides. You can share or forward the original post with a remark to the same channel. But don’t spam, maybe it’s just that no-one really has an answer. Maybe try re-formulating the question with more detail. Or ask if there is another, more appropriate channel to share the question with.

Watch the (world) clock

While there are MacAdmins logging in from around the world, the MacAdmins Slack is still busiest during North American office hours. Keep that in mind when posting questions, especially if you are hoping for a specific person to reply. Be aware of time zones when you post in regional channels, as well.

You can see a user’s local time in their profile. This might give you an idea of when they might be online or not. You can get to any user’s profile by clicking on their icon.

Be Descriptive and Specific

Explain what you are trying to achieve, in which context. Show what you already tried to fix the problem. (you did try to solve it yourself first, didn’t you?) I find, that often the act of formulating the question properly helps me figure out the solution myself, or at least get closer to a solution.

People who want to help you will follow-up with those questions, but will be more likely to help when the request is well formulated and has (most of) the necessary context. Don’t make people have to guess or make assumptions.

Examples:

Bad:

Does anyone know policy scripts?

or

My policy script does not work! Can anybody help?

Better:

I am trying to build a policy script that prompts the user for a computer name and sets it. I am using osascript, but it is failing with a strange error and I don't understand why?

Even better: add the script (or the relevant part of the script) and errors you are seeing.

What do you want to accomplish?

Even when you ask questions properly and with detail, you may get the the counter-question: “What is it you actually want to accomplish?” or some similar phrase. This is a recurring question on the MacAdmins Slack.

When you get this question, someone believes that you may be narrowing down on a dead end and a completely different approach may be more appropriate. They want to get your ‘big picture’ to understand the context. The problem of focussing on a detail of the solution rather than the actual problem is also called the “XY Problem.”

Take this time to step back, explain your goals and let the MacAdmins community help you gain some new perspective. It may be hard to let go of what you are doing but resist the temptation to double down on the vexing detail. This question can lead to the most interesting discussions.

Provide the solution

Sometimes you might ask a question and then figure out the solution yourself before someone answers. That’s great. But be sure to let people know you have solved the problem and share the solution you found. When someone searches the Slack for the same question, they might just find your solution!

Join the Slack and Enjoy!

Overall I feel the MacAdmins Slack is a great place to share and receive knowledge for MacAdmins. I you still haven’t signed up, go and do it here!

If you already are a member, I hope you learnt something useful here. If you think I missed something important, then let me know! (My user name on the MacAdmins Slack is @scriptingosx.)