-
Notifications
You must be signed in to change notification settings - Fork 12
d3admin_help
Chris Lasell edited this page Mar 24, 2016
·
3 revisions
Below is the command-line extended help output for the d3admin command.
For details about using d3admin, inculding definitions of important terms, see the introduction and admin documentation.
d3admin is a tool for administering packages in d3, a package/patch
management & deployment tool that enhances the package-handling capabilities
of the Casper Suite from JAMF Software, LLC.
For detailed documentation see:
https://github.com/PixarAnimationStudios/depot3/wiki/Admin
Important Terms:
- basename: A word used to identify all packages that install any version of
the same thing. E.g. 'filemaker' or 'transmogrifier' When a
basename is used to specify a package, it refers to the currently
live package for the basename. (see below)
- edition: A unique identifier for a package or receipt in d3. It is made of
the basename, version, and revision, joined by dashes.
E.g. 'transmogrifier-2.2.1-2'
Editions specify individual packages regardless of their status.
- live: Each edition has a status: pilot, live, skipped, deprecated, or
missing. Only one edition per basename can be 'live' a a time.
When an edition is made live, it's approved for general deployment
and is the edition installed with 'd3 install <basename>'. It will
also auto-install on computers in the packages auto-groups, and it
will auto-update on any computers with older editions of the same
basename already installed.
- walkthru: Any action can take the --walkthru option and you'll be prompted
for targets (if needed) and options.
Without --walkthru, you must provide all values with command-line
options. Anything not on the command-line will use a default or
inherited value, or cause an error if the option was required.
Usage: d3admin action target [options]
When refering to a package on the server, a basename imples the currently live
edition for that basename. Refering to a package by edition specifies an
individual package regardless of status.
=== Actions and their required targets & options ===
add Add a new pilot package to d3
Target = basename unless -w
Without -w, requires -v, -r, & -s
edit Change properties of existing package in d3
Target = basename or edition unless -w
live Make existing pilot package live
Target = edition unless -w
delete Delete an existing package from d3
Target = basename or edition unless -w
info Show details of an package in d3
Target = basename or edition unless -w
search Search for and list packages in d3.
Target = search text (RegExp matching)
No target = list all packages unless -w
report Report about d3 receipts or puppies on computers.
Target = basename, or computer name unless -w
config Set up server info and default values for d3admin.
Target = all, jss, db, dist, workspace,
pkg-id-prefix or display. Defaults to all
Using 'display' prints out the current admin config settings.
Runs 'all' automatically on first run.
help Show this help. Use -H for extended help.
NOTE: Any action that requires stored passwords will prompt for your
keychain password if your login keychain is currently locked.
=== Options ===
Non-required options for add will use inherited or default values if unspecified.
General:
-w, --walkthru Interactively prompt for all options.
Options provided on the commandline are
ignored. Without -w, anything NOT provided
on the command-line will use a default or
inherited value or will raise an error.
-a, --auto-confirm Don't ask for confirmation before making
changes. For use in automation.
BE VERY CAREFUL
-H, --help Show this help text
-D, --debug Show LOTS of debugging info about whats
happening. If there's a Ruby error,
show the backtrace. Useful when reporting
problems.
Action add:
-i, --import <name or id> When the action is 'add', import an existing
JSS package into d3 by display-name or id.
Requires -w or -v & -r
-W, --workspace <path> Folder in which to build .dmgs & .pkgs
default is your home folder.
Preserved between uses of d3admin.
-I, --no-inherit Don't inherit default values from most
recent package with the same basename.
-s, --source-path <path> Path to a .pkg, .dmg, or root-folder
from which to build one
--dmg When building from a root folder, build
a .dmg, rather than the default .pkg
--preserve-owners When building .pkgs, keep the ownership of
the pkg-root folder. Default is to let
the OS set ownership to standards based
upon where items are installed.
-p, --pkg-id <pkgid> When building .pkgs, the apple package
identifier, e.g. 'com.mycompany.app'
Defaults to a prefix, plus the basename.
The prefix is either the the apple_pkg_id_prefix
setting from the d3admin config, or
'd3'
Action add and edit:
-v, --version <version> Version of the thing installed by the
package, e.g. "2.5", "1.1a3".
May not contain a '-', which will be
converted to '_'
-r, --revision <revision> Package-revision.
This integer represents how many times
a particular version of a basename has
been added to d3.
-n, --package-name <name> The JSS 'display name' of the package.
Must be unique in the JSS
Defaults to <edition>.<pkg_type>
e.g. myapp-2.3a1-2.pkg
-f, --filename The name of the installer file on the
master distribution point. When uploading,
the file will be renamed to this.
If the installer is a .pkg bundle, it
will be zipped, and '.zip' appended
automatically when uploaded.
Defaults to <edition>.<pkg_type>
e.g. myapp-2.3a1-2.pkg
-d, --description <desc> A textual description of this package,
and any notes or comments about it.
-e, --pre-install <script> The name or id of an existing JSS script,
or the path to a file with a new script.
This script is run before installing.
Use "n" for 'none'.
See the full documentation for details.
-t, --post-install <script> As for pre-install, but the script to run
after installing the package.
-E, --pre-remove <script> As for pre-install, but the script to run
before uninstalling the package.
-T, --post-remove <script> As for pre-install, but the script to run
after uninstalling the package.
-g, --auto-groups <groups> Comma-separated list of JSS computer groups
whose members get this pkg automatically.
Use 'standard'
to install on all machines.
Use "n" for 'none'.
-G, --excluded-groups <groups> Comma-separated list of JSS computer groups
whose members can't install this pkg
without using force.
Use "n" for 'none'.
-x, --prohibiting-process <proc> Specify a name to match with process names
as output by `/bin/ps -A -c -o comm`.
If a match is found at install time,
prevents installation. Use "n" for 'none'
-R, --reboot <y/n> Reboot is required after install.
(PuppyTime!)
Default is 'n'
-u, --removable <y/n> Can this package be uninstalled?
Default is 'y'
-F, --remove-first <y/n> Uninstall older versions before installing
this one, if they are removable.
Default is 'n' (installs over the top)
-o, --oses <oses> Comma-separated list of OS version to allow
installation of this package.
e.g. 10.5.8, 10.6.x
Use '>=' to set a min. OS version
e.g. >=10.6.0
Use "n" for no limitation
-c, --cpu <type> Limit to cpu type: 'ppc' or 'intel'
Use "n" for no limitation.
-C, --category <category> The JSS Category for this package
Use "n" for none
-X, --expiration <days> How many days of no use before this package
uninstalls itself. Pkg must be removable,
and expiration must be allowed in the
client config.
-P, --expiration-path <path> The path to the executable the must be used
within the expiration period to avoid
being uninstalled
Action delete:
--delete-scripts Delete any scripts associated with this pkg
if they aren't in use elsewhere. Those in
use will be reported.
--keep-in-jss Leave the package in the JSS after deleting
it from d3
Action search:
-S, --status <status> Limit the packages listed to those with
the given status. Can be used multiple
times to see multiple statuses.
--groups Instead of basenames, search computer
group names and report packages scoped
by those groups for auto-install or
exclusion.
Action report:
-S, --status <status> Limit the receipts listed to those with
the given status. Can be used multiple
times to see multiple statuses.
-z, --frozen Limit the receipts listed to frozen ones.
-q, --queue Report pending puppy installs rather than
receipts.
--computers The target of the report is a computer name
and the report is about receipts or
pending puppy installs on that computer.