[BACK]Return to README CVS log [TXT][DIR] Up to [local] / openbsd / sxxu

Diff for /openbsd/sxxu/README between version 1.1 and 1.2

version 1.1, 2010/04/20 17:39:12 version 1.2, 2010/04/20 18:25:54
Line 0 
Line 1 
   sxxu - siteXX utility - a tool to help build OpenBSD siteXX files
   
   For more information on siteXX files see:
   http://www.openbsd.org/faq/faq4.html#site
   
   
   The goals of sxxu are to help you:
   * Keep configuration for your systems in a source control
   * Recover from a disaster more quickly
   * Do a matching install on a secondary system so you can
     o Upgrade between versions of OpenBSD with the ability to revert
     o Replace aging hardware
     o Build a test environment before pushing changes to a production system
   
   sxxu is meant to be a simple utility for installing systems.  It does not have
   the ability to continue to push changes out to already installed systems.  For
   that functionality there are many more powerful solutions.  I do wonder if it
   would be possible to patch sysmerge to support some way of migrating these
   files.
   
   Some of the problems sxxu tries to solve:
   * duplication of common configuration for each system
   * permissions easily get broken when configuration is in source control
   
   
   USAGE: sxxu [-kmR] [-w WRKDIR]  [machine1 [machine2 [...]]]
     -k : Keep WRKDIR
     -m : rebuild mtree files
     -R : don't Recurse into Roles
     -w : specify the WRKDIR
   
   
   DETAILS:
   
   In the basedir, each directory is considered a "role", the common directory is
   merged into each role by default and any directory named role-* does not
   generate a tgz by default.
   
   Any of the directory structure not in the siteXX directory is treated as a
   normal siteXX that will extract to the root of your system after the install.
   
   Special files are kept in the siteXX directories.  These special files are
   processed by the install.siteXX after install.
   
   If a role/install.site exists, this WILL overwrite the install.siteXX that
   would have processed these special files.
   
   Create a directory structure for your system:
   
   basedir/
    |-common
    |---siteXX
    |-machine1
    |---siteXX
    |-machine2
    |---etc
    |---siteXX
    |-role-imap
    |---siteXX
    |---var
    |-----sendmail
   
   
   Special files and directories inside the siteXX directory:
       roles:
         Contains a list of "roles" (directories in the basedir) to merge into
         this configuration.  The common directory is automatically included in
         all configurations.
   
       mtree:
         An mtree(8) spec file for permissions on the files in this role. It gets
         applied before the files are put into the archive. See below for notes
         on how to create and update.
   
       siteXXrc: xxx
         A ksh script that is included before running the *_list commands and
         the individual install.site files for each role.
   
       pkg_path:
         A list (one per line) of sites to add to the PKG_PATH environment.
   
       *_list:
         A list of arguments to commands to be run.  For example if pkg_add_list
         containing "rsync nrpe check_hw_sensors" will attempt to run
         pkg_add rsync nrpe check_hw_sensors.
   
         The command is executed for each line of the file.
   
         You can set environment variables in the siteXXrc file for arguments.
         Setting "pkg_add_args='-i'" in a siteXXrc would make the above command
         pkg_add -i rsync nrpe check_hw_sensors
   
       patches/:
           All patches in this dir need to be relative to the root of the system
           where the tgz was extracted.
   
       packages/:
           Package files that will get installed.  Completely separate from
           pkg_add_list above.  It does inherit pkg_path and pkg_add_args.
   
       install.site:
           Your script that gets run after all the above things have been done.
   
   MTREE:
   
   You can use sxxu -m to generate mtree spec files.  This will generate the
   files with the permissions that are gotten after copying and applying the
   existing mtree file.
   
   You can get some more advanced features with some other switches.
   
     # sxxu -kRw /tmp/sxxu-work
   
   will extract all roles including those named role-* into /tmp/sxxy-work
   without following the included roles.  At that point you can change
   permissions in the work directory as you see fit, then when you are ready,
   from the place where your source files are you would run
   
     $ sxxu -mw /tmp/sxxu-work
   
   which will regenerate the mtree specs with the permissions you have set.
   
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>