# About Patch Command Line Tool

The Patch command line tool (CLT) is used to perform the installations/updates on a Mac. Typically this is controlled by the Patch Agent but you can also leverage the Patch CLT in scripted workflows or by running simple commands in Terminal.

# Example Commands

Here are a few examples of how you can leverage the Patch CLT to perform some common tasks:

# Install the latest version of Dialpad
sudo patch install -s dialpad

# Install the latest version of Zoom and skip the version comparison
sudo patch install -s zoom-us --force

# Install two software titles that are dependent upon each other
sudo patch install -s cran-r -s r-studio --depends

# Update Cyberduck to the latest version if installed AND out-of-date,
# then perform a Jamf Pro Inventory Update after successful installation
sudo patch install -s cyberduck --update-only --recon

# Compare the installed version of Firefox with the Patch Catalog
# and exit abnormally if the installed version is out-of-date
sudo patch compare -s mozilla-firefox --fail

# Cache the install media for Slack, show progress of the download,
# and reveal in Finder
sudo patch cache -s slack --progress --reveal

# Install Google Chrome but use an alternative Alectrona Patch license
sudo patch install -s google-chrome --license YOUR-LICENSE-HERE

# List all of the software titles in the Patch Catalog
sudo patch list

TIP

The Patch CLT has an extensive help subcommand which we encourage you to check out using patch help or patch help <subcommand>.

The Patch CLT is located at the following path:

/usr/local/bin/patch

# Logging

The Patch CLT logs output to a static file while being executed. Given the following command, sample logging output can be found below.

Patch CLT command executed:

sudo patch install -s signal

Sample logging output:

Signal is installed.
Catalog version (5.17.2) > Installed Version (5.17.1)
Catalog version IS newer.
An updated version of Signal is available.
Downloading the Signal install media...
Successfully verified designated requirement of Signal.app.
Checking for running Signal processes...
Signal is running, alerting ryan of pending update.
ryan chose to continue, killing Signal processes...
Installing Signal...
Successfully installed Signal.
Relaunching Signal for ryan.

The Patch CLT logs to a static file at the following path by default:

/var/log/alectrona-patch.log

# Patch Preferences

Used to customize the Patch CLT for your organization.

Domain: com.alectrona.patch

Key Description Data Type Example
License Your valid license key provided upon subscription to Alectrona Patch. String <key>License</key>
<string>LICENSE</string>

TIP

You may leverage the --license option when using the Patch CLT rather than configuring the License key if you prefer.