softwareupdate(8) BSD System Manager's Manual softwareupdate(8)NAME
softwareupdate -- system software update tool
SYNOPSIS
softwareupdate command [args ...]
DESCRIPTION
Software Update checks for new and updated versions of your software based on information about your computer and current software.
Invoke softwareupdate by specifying a command followed by zero or more args.
softwareupdate requires admin authentication for all commands except --list. If you run softwareupdate as a normal admin user, you will be
prompted for a password where required. Alternatively, you can run softwareupdate as root and avoid all further authentication prompts.
The following commands are available:
-l | --list
List all available updates.
-i | --install
Each update specified by args is downloaded and installed. args can be one of the following:
-r | --recommended
All updates that are recommended for your system. These are prefixed with a * character in the --list output.
-a | --all All updates that are applicable to your system, including those non-recommended ones, which are prefixed with a -
character in the --list output. (Non-recommended updates are uncommon in any case.)
item ... One or more specified updates. The --list output shows the item names you can specify here, prefixed by the * or -
characters. See EXAMPLES.
-d | --download
Each update specified by args is downloaded but not installed. The values of args are the same as for the --install command.
Updates downloaded with --download can be subsequently installed with --install, or through the App Store (as long as they remain
applicable to your system). Updates are downloaded to /Library/Updates, but are not designed to be installed by double-clicking
the packages in that directory: always use --install or the App Store to actually perform the install.
--ignore identifier ...
Manages the per-machine list of ignored updates. The identifier is the first part of the item name (before the dash and version
number) that is shown by --list. See EXAMPLES.
--reset-ignored
Clears the per-machine list of ignored updates.
--schedule on | off
Manages the per-machine automatic (background) check preference.
-h | --help
Print command usage.
EXAMPLES
The following examples are shown as given to the shell:
softwareupdate --list
Software Update Tool
Copyright 2002-2012 Apple Inc.
Finding available software
Software Update found the following new or updated software:
* MacBookAirEFIUpdate2.4-2.4
MacBook Air EFI Firmware Update (2.4), 3817K [recommended] [restart]
* ProAppsQTCodecs-1.0
ProApps QuickTime codecs (1.0), 968K [recommended]
* JavaForOSX-1.0
Java for OS X 2012-005 (1.0), 65288K [recommended]
sudo softwareupdate --install JavaForOSX-1.0
Software Update Tool
Copyright 2002-2012 Apple Inc.
Finding available software
Downloading Java for OS X 2012-005
Downloaded Java for OS X 2012-005
Installing Java for OS X 2012-005
Done with Java for OS X 2012-005
Done.
sudo softwareupdate --ignore JavaForOSX
Ignored updates:
(JavaForOSX)
sudo softwareupdate --schedule
Automatic check is on
Mac OS September 11, 2012 Mac OS
Check Out this Related Man Page
INSTALLER(8) BSD System Manager's Manual INSTALLER(8)NAME
installer -- system software and package installer tool.
SYNOPSIS
installer [-dominfo] [-volinfo] [-pkginfo] [-showChoicesXML] [-showChoicesAfterApplyingChangesXML <pathToXMLFile>]
[-applyChoiceChangesXML <pathToXMLFile>] [-query <flag>] [-allow] [-dumplog] [-help] [-verbose | -verboseR] [-vers] [-config]
[-plist] [-file <pathToFile>] [-lang <ISOLanguageCode>] [-listiso] -package <pathToPackage> -target device
DESCRIPTION
The installer command is used to install Mac OS X installer packages to a specified domain or volume. The installer command installs a sin-
gle package per invocation, which is specified with the -package parameter ( -pkg is accepted as a synonym). It may be either a single pack-
age or a metapackage. In the case of the metapackage, the packages which are part of the default install will be installed unless disquali-
fied by a package's check tool(s).
The target volume is specified with the -target parameter ( -tgt is accepted as a synonym). It must already be mounted when the installer
command is invoked.
For system software installs, the target volume must be a different volume than the one currently running the booted system. See systemsetup
(only available on Mac OS X Server) to set the boot volume.
The installer command requires root privileges to run. If a package requires authentication (set in a package's .info file) the installer
must be either run as root or with the sudo(8) command (but see further discussion under the -store option).
The installer is not responsible for rebooting the machine after installing. Use reboot(8) or shutdown(8)-r now to reboot the system.
The installer displays two forms of output. The default terse output is intended for parsing by scripting languages for automating (or
scripting) installs and verbose output providing additional information and descriptive error messages.
A list of flags and their descriptions:
-dominfo
Displays a list of domains into which the software package can be installed. For example: LocalSystem or CurrentUserHomeDirectory.
The domains listed are those which are available and enabled when the command is run.
-volinfo
Displays a list of volumes onto which the software package can be installed. The volumes listed are the mounted volumes available
when the command is run.
-pkginfo
Displays a list of packages that can be installed onto the target volume. If a metapackage is given as the package source, all of
its subpackages are listed.
-query flag
Queries a package for information about the metadata. See -help for supported flags.
-allowUntrusted
Allow install of a package signed by an untrusted (or expired) certificate.
-dumplog
Detailed log information is always sent to syslog using the LOG_INSTALL facility (and will wind up in /var/log/install.log).
-dumplog additionally writes this log to standard error output.
-help Displays the help screen describing the list of parameters.
-verbose
Displays more descriptive information than the default output. Use this parameter in conjunction with -pkginfo and -volinfo informa-
tion requests to see more readable output. The default output is formatted for scripting.
-verboseR
Displays same information as -verbose except the output is formatted for easy parsing.
-vers Displays the version of this command.
-config
Formats the command line installation arguments for later use. The output is sent to stdout, but can be redirected to a file to cre-
ate a configuration file. When specifying this option, an installation is not actually performed. This configuration file can be
supplied as the argument to the -file parameter instead of typing a long series of installation arguments. The config file can be
used to perform multiple identical installs. You can create a config file as follows:
installer -pkg ~/Documents/Foo.pkg -target / -config > /tmp/configfile.plist
-plist Formats the installer output into an XML file, which is sent by default to stdout. Use this parameter for -dominfo, -volinfo, and
-pkginfo
-file pathToFile
Specifies the path to the XML file containing parameter information in the key/value dictionary. This file can be used instead of
the command line parameters, and supersedes any parameters on the command line. When you type this parameter, you type the path to
the XML file. Use with config file generated by -config For example:
installer -file /tmp/configfile.plist
-lang ISOLanguageCode
Default language of installed system (ISO format). This is only necessary when performing a system (OS) install, otherwise is it
ignored. There is no verification done to make sure that the language being set actually exists on the machine, however the ISO lan-
guage code is verified to ensure that it is valid.
-listiso
Display the list of valid ISO language codes the installer recognizes.
-showChoiceChangesXML
Prints to stdout the install choices for the package (specified with -pkg) in an XML format. This allows choice attributes to be mod-
ified and applied at install-time using -applyChoiceChangesXML. See CHOICE CHANGES FILE for details of this XML format.
-applyChoiceChangesXML pathToXMLFile
Applies the install choice changes specified in pathToXMLFile to the default choices in the package before installation. This allows
the command-line installer to customize choice what gets installed. See CHOICE CHANGES FILE for details of this XML format. Any prob-
lems encountered while applying the choice changes will be reported to the LOG_INSTALL facility (i.e. to /var/log/install.log), and
also to stdout if -dumplog is used.
-showChoicesAfterApplyingChangesXML pathToXMLFile
Applies the install choice changes specified in pathToXMLFile to the default choices in the package, and then dumps the resulting
choice state to stdout. The input and output XML format is as described in CHOICE CHANGES FILE. Since changing one choice in a
package can implicitly change other choices, this option allows you to confirm that a particular choiceChanges file will have the
intended effect. You must specify a -target when using this option, since the evaluated choices can also change with the state of the
target disk.
-showChoicesXML
Prints to stdout the install choices for the package (specified with -pkg) in a hierarchical XML format. This is not the same format
as used with -applyChoiceChangesXML. This option is provided for System Image Utility only.
-store Install the product archive specified by -package, in the same way that it would be installed through the Mac App Store. In this
mode, no other options are supported. (You can specify -target, but the only allowable value is the root volume mount point, /). For
best Mac App Store fidelity, run installer as an admin user (not using sudo); you will prompted for your admin user's password before
the install begins.
This mode is provided for testing a product archive before submission to the Mac App Store. See productbuild(1) for how to create a
product archive.
DEVICES
A device parameter for the target is any one of the following:
1) Any of the values returned by -dominfo
2) The device node entry. Any entry of the form of /dev/disk*. ex: /dev/disk2
3) The disk identifier. Any entry of the form of disk*. ex: disk1s9
4) The volume mount point. Any entry of the form of /Volumes/Mountpoint. ex: /Volumes/Untitled
5) The volume UUID. ex: 376C4046-083E-334F-AF08-62FAFBC4E352
CHOICE CHANGES FILE
A ``choiceChanges'' file allows individual installer choices to be selected or deselected. A template choiceChanges file for a given package
can be generated with the -showChoiceChangesXML option, and is interpreted as follows.
The choiceChanges file is a property list containing an array of dictionaries. Each dictionary has the following three keys:
Key Description
choiceIdentifier Identifier for the choice to be modified (string)
choiceAttribute One of the attribute names described below (string)
attributeSetting A setting that depends on the choiceAttribute, described below (number or string)
The choiceAttribute and attributeSetting values are as follows:
choiceAttribute attributeSetting Description
selected (number) 1 to select the choice, 0 to deselect it
enabled (number) 1 to enable the choice, 0 to disable it
visible (number) 1 to show the choice, 0 to hide it
customLocation (string) path at which to install the choice (see below)
Note that there can be multiple dictionaries for the same choiceIdentifier, since there can be multiple attributes set for a single choice.
The customLocation attribute can be set for a choice only if that choice explicitly allows a user-defined path. That is, if the choice would
have a Location popup when viewed in the Customize pane of the Installer application, it can be set via customLocation. (Otherwise, instal-
lation paths cannot be arbitrarily modified, since the package author must account for custom install locations for the installation to work
properly.)
EXAMPLES
installer -dominfo -pkg InstallMe.pkg
installer -volinfo -pkg InstallMe.pkg
installer -pkginfo -pkg DeveloperTools.mpkg
installer -pkg OSInstall.mpkg -target LocalSystem
installer -pkg OSInstall.mpkg -target / -lang en
installer -pkg DeveloperTools.mpkg -target /
installer -pkg InstallMe.pkg -target "/Volumes/Macintosh HD2"
installer -pkg InstallMe.pkg -file /tmp/InstallConfigFile
installer -pkg InstallMe.pkg -target /dev/disk0s5
ENVIRONMENT
COMMAND_LINE_INSTALL Set when performing an installation using the installer command.
FILES
/usr/sbin/installer Software package installer tool
SEE ALSO syslog.conf(5)reboot(8)shutdown(8)softwareupdate(8)sudo(8)systemsetup(8)HISTORY
The command line installer tool first appeared in the 10.2 release of Mac OS X.
Mac OS X April 19, 2007 Mac OS X