Provided by: hobbit-client_4.2.0.dfsg-12_i386 bug

NAME

       clientupdate - Hobbit client update utility

SYNOPSIS

       clientupdate [options]

DESCRIPTION

       clientupdate  is  part  of  the  Hobbit  client.  It is responsible for
       updating an existing client installation from a central  repository  of
       client packages stored on the Hobbit server.

       When  the  Hobbit  client  sends  a  normal client report to the Hobbit
       server, the server responds with the section of the client-local.cfg(5)
       file  that  is  relevant  to  this  client.  Included  in this may be a
       "clientversion" value. The clientversion received from  the  server  is
       compared  against the current clientversion installed on the client, as
       determined by the contents of the  $BBHOME/etc/clientversion.cfg  file.
       If  the  two  versions  are  not identical, clientupdate is launched to
       update the client installation.

OPTIONS

       --level
              Report the current clientversion.

       --update=NEWVERSION
              Attempt to update the client  to  NEWVERSION  by  fetching  this
              version of the client software from the Hobbit server.

       --reexec
              Used  internally during the update process, see OPERATION below.

       --remove-self
              Used internally during the update process.  This  option  causes
              the  running  clientupdate utility to delete itself - it is used
              during the update to purge a temporary copy of the  clientupdate
              utility that is installed in $BBTMP.

USING CLIENTUPDATE IN HOBBIT

       To  manage updating clients without having to logon to each server, you
       can use the clientupdate utility. This is how you setup the release  of
       a new client version.

       Create the new client
              Setup  the  new  client  $BBHOME  directory,  e.g. by copying an
              existing client installation to an empty directory and modifying
              it  for your needs. It is a good idea to delete all files in the
              tmp/ and logs/ directories, since there is no need to copy these
              over to all of the clients. Pay attention to the etc/ files, and
              make sure that they are suitable for the systems where you  want
              to  deploy  this new client.  You can add files - e.g. extension
              scripts in the ext/ directory -  but  the  clientupdate  utility
              cannot delete or rename files.

       Package the client
              When your new client software is ready, create a tar-file of the
              new client. All files in the tar  archive  must  have  filenames
              relative  to  the  clients’  $BBHOME (usually, ~hobbit/client/).
              Save    the    tarfile    on    the     Hobbit     server     in
              ~hobbit/server/download/somefile.tar.   Dont compress it.  It is
              recommended that you  use  some  sort  of  operating-system  and
              version-numbering  scheme  for  the filename, but you can choose
              whatever filename suits you - the only requirement  is  that  it
              must  end with ".tar". The part of the filename preceding ".tar"
              is what Hobbit will use as the "clientversion" ID.

       Configure which hosts receive the new client
              In  the  client-local.cfg(5)  file,  you  must   now   setup   a
              clientversion:ID line where the ID matches the filename you used
              for the tar-file. So if you have packaged the  new  client  into
              the  file  linux.v2.tar, then the corresponding entry in client-
              local.cfg would be clientversion:linux.v2.

       Wait for hobbitd to reload client-local.cfg
              hobbitd will  automatically  reload  the  client-local.cfg  file
              after  at  most  10  minutes.  If you want to force an immediate
              reload, send a SIGHUP signal to the hobbitd process.

       Wait for the client to update
              The next time the client contacts the Hobbit server to send  the
              client  data,  it  will  notice the new clientversion setting in
              client-local.cfg, and will run clientupdate to install  the  new
              client  software. So when the client runs the next time, it will
              use the new client software.

OPERATION

       clientupdate runs in two steps:

       Re-exec step
              The first step is when clientupdate is first  invoked  from  the
              hobbitclient.sh  script  with  the "--re-exec" option. This step
              copies the clientupdate program from $BBHOME/bin/ to a temporary
              file  in  the $BBTMP directory.  This is to avoid conflicts when
              the update procedure installs a new version of the  clientupdate
              utility  itself.  Upon completion of this step, the clientupdate
              utility automatically launches the  next  step  by  running  the
              program from the file in $BBTMP.

       Update step
              The  second  step  downloads  the  new  client software from the
              Hobbit server.  The new software must be packed into a tar file,
              which clientupdate then unpacks into the $BBHOME directory.

ENVIRONMENT VARIABLES

       clientupdate uses several of the standard Hobbit environment variables,
       including BBHOME and BBTMP.

SEE ALSO

       hobbit(7), bb(1), client-local.cfg(5)