catalina

Using SBGrid with MacOS 10.15 'Catalina'

SBGrid software is largely compatible with MacOS Catalina, but the installation process requires a work-around to handle new filesystem controls. These controls impact the 'activation' process of our installation client and also the ability to install the software. Once the activation process is completed following the procedure below, the client can be used normally. The SBGrid software is then functional, though 32-bit applications are not supported on 10.15 Catalina.

Note that macOS now uses the z-shell (zsh) by default. This shell is also supported in SBGrid using the standard sbgrid.shrc file. More info regarding managing your shell on macOS can be found here

Also note the XQuartz is required for many applications. If you have upgraded to Catalina from an 10.14 or earlier, you may need to reinstall XQuartz. See https://www.xquartz.org/ for downloads and more info.

Installation : the easy way with the latest command line client, sbgrid-cli.

Activation with our latest command-line install client is possible in 3 steps, but a reboot is required to add the '/programs' path.

1. Download the client, sbgrid-cli :

First, download the latest install client from here

sbgrid-cli version 2.0.44

You can use curl to download the tarball directly in your terminal. This approach has the added benefit of not triggering the macOS "unidentified developer" Gatekeeper response which requires the xattr step below.

curl -LO https://sbgrid.org/wiki/downloads/sbgrid-cli_2.0.44_macOS.tar.gz

Untar and run the application to test. Untar :

tar -zxf sbgrid-cli_2.0.44_macOS.tar.gz

then run :

cd sbgrid-cli_2.0.44_macOS

./sbgrid-cli

You should see the application usage info.

If you see a pop-up warning about "unidentified developer", you likely need to strip apple's quartine extended attribute. Cancel the dialog and then run this in your terminal:

xattr -d com.apple.quarantine sbgrid-cli

You should then be able to run the application normally.

2. Activate your installation :

To activate, use the credentials provided by email after registration.

./sbgrid-cli activate <your site> <your username> <your key>

3. Create link at /programs :

The lastest MacOS provides the option to create links in the root partion via the /etc/synthetic.conf file. This file has the following format:

#link  target
programs  /opt/sbgrid

Note that the whitespace MUST be a tab character. Spaces will not work. Here is a file for reference : synthetic.conf. Thanks to Ron Rock at University of Chicago for pointing this out.

You can download this file to the proper location on your machine with these two commands:

cd /etc

sudo curl https://sbgrid.org/wiki/downloads/synthetic.conf -o synthetic.conf

4. Reboot

You should then see this in your root partition (/) :

key@key-mbp2:~/ $ ls -l /                                                                                                                                           
total 9
drwxrwxr-x+ 37 root  admin  1184 Apr 19 00:56 Applications
drwxr-xr-x  68 root  wheel  2176 Apr 11 21:25 Library
drwxr-xr-x@  8 root  wheel   256 Apr  6 15:46 System
drwxr-xr-x   7 root  admin   224 Apr  6 15:45 Users
drwxr-xr-x   3 root  wheel    96 Apr 18 11:13 Volumes
drwxr-xr-x@ 38 root  wheel  1216 Apr  6 15:52 bin
drwxr-xr-x   2 root  wheel    64 Feb 29 01:11 cores
dr-xr-xr-x   3 root  wheel  4544 Apr 12 17:27 dev
lrwxr-xr-x@  1 root  admin    11 Apr 11 12:31 etc -> private/etc
lrwxr-xr-x   1 root  wheel    25 Apr 12 17:27 home -> /System/Volumes/Data/home
drwxr-xr-x   5 root  wheel   160 Apr 20 13:35 opt
drwxr-xr-x   6 root  wheel   192 Apr 11 12:40 private
lrwxr-xr-x   1 root  wheel    11 Apr 12 17:27 programs -> /opt/sbgrid
drwxr-xr-x@ 63 root  wheel  2016 Apr 11 12:38 sbin
lrwxr-xr-x@  1 root  admin    11 Apr 11 12:38 tmp -> private/tmp
drwxr-xr-x@ 11 root  wheel   352 Apr 11 12:38 usr
lrwxr-xr-x@  1 root  admin    11 Apr 11 12:38 var -> private/var

From there, you can continue to install software with the installation client, or use the GUI. They are not mutually exclusive.

Method 2, SBGrid graphical client, the not-so-easy way to activate. Requires several reboots.

Activation with our graphical client is not compatible with MacOS 10.15 "Catalina" without temporarily disabling System Integrity Protection (SIP) While the approach above is easier and recommended, it is possible to activate with the GUI by following the process below.

To create the /programs symlink in Catalina without using the /etc/synthetic.conf file, the system filesystem must be remounted as read/write. To do that in Catalina, system integrity protection (SIP) must be disabled.

1. Disable SIP from Recovery mode

  • Restart your Mac.
  • Before macOS starts up, hold down Command-R and keep it held down until you see an Apple icon and a progress bar. Release. This boots you into Recovery.
  • From the Utilities menu, select Terminal.
  • At the prompt run the following and then press Return:
csrutil disable
  • Terminal should display a message that SIP was disabled.
  • From the  menu, select Restart.

2. Remount root filesystem as read/write to create /programs

To remount the disk as read/write, run :

sudo mount -uw / 

To create the SBGrid /programs link, run :

sudo ln -s /opt/sbgrid /programs

To install the software, you can use the install client normally. It will create the required paths and install the software. After the initial installation, you can use the install client as in previous MacOS releases, even after the steps below.

3. Re-enable SIP (optional)

  • Restart your Mac.
  • Before macOS starts up, hold down Command-R and keep it held down until you see an Apple icon and a progress bar. Release. This boots you into Recovery.
  • From the Utilities menu, select Terminal.
  • At the prompt, re-enbale SIP with :
csrutil enable
  • Terminal should display a message that SIP was enabled.
  • From the  menu, select Restart.

How to stop nagging macOS update alerts

It is possible to turn off the nagging pop ups.

  • Open System Preferences.
  • Click on Software Update.
  • Deselect Automatically keep my Mac up to date

How to ignore macOS Catalina update on your mac

  sudo softwareupdate --ignore "macOS Catalina"

You will see :

Ignored updates:
(
    "macOS Catalina"
)

You can reverse this later by running :

  sudo softwareupdate --reset-ignored