Name | Modified | Size | Downloads / Week |
---|---|---|---|
distpull.tar.gz | 2010-01-05 | 21.9 kB | |
README | 2009-11-24 | 5.1 kB | |
INSTALL | 2009-11-23 | 1.7 kB | |
Totals: 3 Items | 28.7 kB | 0 |
Specification and Goal 1. To provide for software updates to a large number of local and remote systems in a safe manner. 2. To provide the ability to rollback a software distribution. 3. To allow safe distributions and upgrade of remote systems, some/all of which may not be online at any specific time. 4. To allow for the distribution of software at or after a specified time Limitations 1. When adding files to a distribution, only one server distribution and/or one client distribution can be worked on at the same time. 2. The NFS exports need to be identical on all servers Requirements 1. Bash 2. The system requires NFS access between the systems. In the future the may be the ability to use ftp, sftp, or scp to transfer files. 3. The "dialog" command for use by the installer. This is available as part of any recent distribution. If it is not installed, then it may be available as part of your distribution. The following lines give the command needed to install the package for some popular distributions: Fedora yum install dialog CentOS yum install dialog RedHat (untested) yum install dialog Ubuntu apt-get install dialog Debian (untested) apt-get install dialog If it isn't available in this manner, you can get the source from: ftp://ftp.us.debian.org/debian/pool/main/d/dialog/dialog_1.1-20080819.orig.tar.gz Commands distadd Add files and/or directories to a distribution. Files are not distributed until committed distcommit Commit files to distribution distclean Erase added files from distribution. Currently will only erase either all files for a server list or all files for a client list distpulld Daemon which runs on secondary servers and clients. This daemon actually pulls files in from the distribution server distls Provides a tree view of all files/directories in current distribution distrollback Rolls back the last distribution for the specified distribution distupdate Updates the distpull software on remote systems. disttest.sh Set of tests to validate proper functioning of the system While each command takes different sets of parameters, the parameters themselves are identical between all the commands. All commands will be described first, and then all the parameters will be defined. Parameters for each command are as follows: The distadd command can be called two different ways; either to install files on clients, or to send files to secondary servers for installation on clients of those servers. For both distadd and distcommit, you can use either -i or -s. The scripts will figure out whether it is a client or a server distribution list based on the name of the list. To install files on clients: distadd -i [client distribution list] -f [source file/directory] -p [full path to destination] [-y] To install files on secondary servers: distadd -s [server distribution list] -f [source file/directory] -p [full path to destination] -r [remote distribution list] [-y] To commit files for distribution to clients: distcommit -i [client distribution list] [-y] To commit files for distribution to secondary servers: distcommit -s [server distribution list] [ -d [install date]] [-t [install time]] To erase files added but not yet committed: distclean -i [client distribution list] or distclean -s [server distribution list] In a crontab on each remote server/client: distpulld To list all files currently waiting for commit: distls -i [client distribution list] distls -s [server distribution list] To roll back the last distribution made: distrollback -i [client distribution list] distrollback -s [server distribution list] To install an update to the distpull software distupdate -i [client distribution list] distupdate -s [server distribution list] Parameter Definitions client distribution list A list of clients in the configuration file server distribution list A list of servers in the configuration file remote distribution list The name of a client distribution list on a secondary server full path to destination The final destination of the files -y Don't prompt, just do it. The following two parameters are used in the distcommit command only. if either one (or both) are not specified, then the current date/time is used. If a future date is specified and no time is specified, then 00:01:00 is used for the time. install date Distribute files on or after this date install time Distribute files on or after this time Problems and solutions A secondary server is working, but it's clients aren't pulling the files Make sure the IGNORECASE option is identical on both systems. Otherwise if a system name has a capitol letter the client won't see the directory properly