persistent process supervision
perp-setup(8)           persistent process supervision           perp-setup(8)



NAME
       perp-setup - initialize a perp installation

SYNOPSIS
       perp-setup [ basedir ] [ ctldir ]

DESCRIPTION
       perp-setup  is  a  post-installation  configuration  script intended to
       automate the setup of a perp system.  It is usually run only  one-time,
       after the installation of the perp package.

       perp-setup  configures the base service directory as given by the argu-
       ment basedir.  If the basedir argument  is  not  specified,  perp-setup
       will use the environmental variable PERP_BASE.  If PERP_BASE is not set
       or empty, perp-setup will use a default  value  for  basedir,  normally
       /etc/perp.

       perp-setup  creates  the  directories basedir and basedir/.boot if they
       don't already exist.  It then installs the standard perpboot(8) scripts
       rc.log  and  rc.perp into basedir/.boot, and sets them executable.  (If
       either of these scripts already exists, perp-setup  leaves  them  alone
       and  installs  the  new versions for review, non-executable, and with a
       .new extension.)

       perp-setup  then  inspects  the  installation  for  the  existence   of
       basedir/.control.    If   it  does  not  exist,  perp-setup  configures
       basedir/.control as a symlink to the directory given  by  the  argument
       ctldir.   If  the ctldir argument is not specified, perp-setup will use
       the environmental variable PERP_CTL.  If PERP_CTL is not set or  empty,
       perp-setup   will   use   a   default   value   for  ctrldir,  normally
       /var/run/perp.  Note that the perp-setup utility does not itself create
       the ctldir directory, only the symlink.

       perp-setup  then checks for a sysv-compatible init(8) system by looking
       for the file /etc/inittab.  If present, and if no perpboot(8) entry  is
       found  within  it, perp-setup appends an inittab(5) entry like the fol-
       lowing:

              ## perpboot:
              PB:12345:respawn:/usr/sbin/perpboot -x /etc/perp

       Check to see that this entry and the perpboot(8) runscripts  are  suit-
       able for your installation.  A SIGHUP signal to init(8) will then start
       the perp system:

              kill -HUP 1

       Otherwise, perp-setup checks for a BSD-type init(8) system  by  looking
       for  the  file  /etc/rc.local.   If  present,  and if no perpboot(8) is
       already found within it, perp-setup appends an entry like  the  follow-
       ing:

              ## perpboot:
              if [ -x /usr/sbin/perpboot ]; then
                  echo -n ' perpd'
                      /usr/sbin/perpboot -d /etc/perp
              fi

       Check  to  see that this entry and the perpboot(8) runscripts are suit-
       able for your installation.  The perp system will then start after  the
       system is rebooted:

              shutdown -r now

       Whether  using  inittab or rc.local, the administrator should look over
       the boot scripts and modify  them  if/as  necessary  for  the  specific
       installation.

       The default rc.log script installed by perp-setup configures tinylog(8)
       as the perpd(8) logger.  The adminstrator may modify the logger  and/or
       logging options by editing the script directly.  The rc.log script also
       tries to run tinylog(8) as an unprivileged user  with  runuid(8).   The
       adminstrator  will  need to add a ``tinylog'' user/group account to the
       system to enable this feature.

FILES
       /etc/perp/
              The default base operating directory for perpd(8).

       /etc/perp/.boot/
              Directory containing the startup scripts used by perpboot.

       /etc/perp/.boot/rc.log
              Control script used by perpboot to start a logger for  perpd(8).

       /etc/perp/.boot/rc.perp
              Control script used by perpboot to start up perpd(8).

       /etc/perp/.control [--> /var/run/perp]
              Directory (normally a symlink) for runtime control files.

       /etc/inittab
              inittab(5) configuration file for sysv-compatible system.

       /etc/rc.local
              init(8) startup script for BSD-compatible system.

ENVIRONMENT
       DESTDIR
              If  this  variable is defined and non-empty, perp-setup prepends
              basedir with this value before making directories and installing
              files.   Implies  NO_INIT, that is, perp-setup will skip setting
              up any system boot scripts inittab or rc.local.  May  be  useful
              for package builders.

       NO_INIT
              If  this  variable  is  defined  and non-empty, perp-setup skips
              installation  of  any  perpboot(8)  stanzas  into   the   system
              bootscripts  inittab  and  rc.local.   May be useful for package
              installation scripts, and/or when using other methods  (such  as
              an /etc/rc.d script) for starting perpboot(8).

       PERP_BASE
              If  no basedir argument is given at the command-line on startup,
              perp-setup checks for a value defined by PERP_BOOT.  If this  is
              not  defined  or empty, perp-setup uses a built-in default, nor-
              mally /etc/perp.

       PERP_CTL
              If no ctldir argument is given at the command-line  on  startup,
              perp-setup  checks  for a value defined by PERP_CTL.  If this is
              not defined or empty, perp-setup uses a built-in  default,  nor-
              mall /var/run/perp.

AUTHOR
       Wayne Marshall, http://b0llix.net/perp/

SEE ALSO
       perp_intro(8),   perpboot(8),   perpctl(8),   perpd(8),  perpetrate(5),
       perphup(8), perpls(8), perpok(8), perpstat(8), sissylog(8), tinylog(8),
       runuid(8)



perp-2.07                        January 2013                    perp-setup(8)