Make backups of existing files in ROOT that are overwritten. This
option defaults to on if it is not set to 0 in a config file or disabled
with --nobackup on the command line.
--backup-dir
Put backups from the
--backup
option into this directory.
-H, --hostname HOST
Pretend to be running on HOST, instead of the name given by
gethostname(2).
--preview MODE
Do a diff of scripts and files before running them.
MODE can be one of 'simple' or 'prompt' (See PREVIEW MODES, below).
--diff PROG
Use this diff program for previews.
--sleep TIME
Randomly sleep between 1 and TIME seconds before starting
operations. Useful in crontabs.
PREVIEW MODES
Preview functionality is new in slack 0.14.0. I haven't quite
worked out how things will work, so this usage is somewhat subject to
change in future versions. I thought I would try it this way and see
how people like it.
In 'simple' mode, after syncing and staging the files directory, slack
will present a diff of the files and scripts. In this mode, slack will
not run the preinstall or fixfiles scripts, and because of this, it may
provide some false output about permissions changes to files.
In 'prompt' mode, after syncing and staging the files directory, slack
will diff the script directory. If there are differences, slack will
present them to you and ask you if you want to continue. If you say
no, it will exit. If you say yes, it will stage the scripts directory,
run the preinstall and fixfiles scripts, and then diff the files in the
stage with those in the root. If there are differences, slack will
present them to you and ask you if you want to continue. If you say no,
it will exit. If you say yes, it will install the files and run the
postinstall script.
So, the 'simple' mode is easy to use, and will be accurate if you don't
use fixfiles. The 'prompt' mode will be accurate if you use fixfiles,
but requires some interaction.
Why can't we just have one mode that works with fixfiles and requires no
interaction? Well, that would require slack to understand what your
free-form fixfiles executable was going to do, which would either
require some kind of universe simulator or would require you to write
your fixfiles in a less free-form way, which would make slack less like
slack.
EXAMPLES
To install all the roles configured in the role list for a server:
slack
To install a specific role:
slack
rolename
To test a new role before checking in the changes: