home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume25
/
QBATCH
/
part03
/
INSTALL
< prev
Wrap
Text File
|
1991-11-04
|
5KB
|
102 lines
QBATCH Version 2.0 Installation notes and bewares
The QBATCH system and its related programs were
written by Alan D. Saunders and are
Copyright (c) Vita Services Ltd. 1990 and
Copyright (c) Vita Fibres Ltd. 1991
PLEASE read the NOTICE file for details.
FIRST READ ALL OF THE TEXT FILES IN THIS DIRECTORY!!! Then read those in the
'doc' directory. Then you will know what QBATCH is, and the conditions you
are deemed to have accepted by compiling, installing, and using it.
Especially read the file doc/chap.09 (security). Some of the concepts outlined
here may be overruled by it's contents.
Once you are satisfied, change directory to the src directory, and have
a look at config.h. You should find configuration options available
which are supported by your system. If not, there should be enough
information contained therein to allow you to add further options if
you both feel it necessary, and are capable. Define the configuration
for your platform by commenting out those options which are not
supported, and uncommenting those (one in each group) which are.
Then look at the Makefile, and ensure that BINDIR is set to where you
want the binaries installed, and that MANDIR is where you want the
manual pages. Also check to see if the defined paths for SPOOLPATH
and QUEUEPATH are satisfactory for your system. QUEUEPATH is where the
actual queue files themselves go. The directory must exist. It must be
world searchable, but should only be root writeable. SPOOLPATH is
where the batch files are created, again, the world should be able to
look at the contents of these files (jcl and monitors), but only root
should be able to create and delete them.
Now, if you are not your systems administrator, you are at his (or her)
mercy. Certain of the QBATCH programs need to be able to set user and
group id's so they must be owned by root, and setuid. The Makefile
assumes that the person running make, is actually root, and changes
file modes accordingly. Some of the programs simply will not work
properly if they don't have the right modes and/or are not owned by
root.
Try 'make' and see if there are any errors. If you can resolve them,
do so, BUT LET ME KNOW!!, I will include fixes, and or release patches
as needed.
If you get a clean compilation, but are not logged in as root, remove
the executables, and call your sysadmin to re-make as root.
Make the directories defined in QBATCH.h as SPOOLPATH and QUEUEPATH, and
ensure they have the correct permissions.
If there are environment variables defined for users which are
meaningless in a batch context (or harmful) create a file '.qxenv' in
QUEUEPATH containing a list (one per line) of those environment
variables to be EXCLUDED from batch jobs. Ensure it is readable
(only) by root.
If you are going to implement fixed context queues, create a file in
QUEUEPATH called '.<queuename>rc' setting up the context and environment
for the jobs, for each queue created using the -f option of qc. (see
the man page for qc).
Then make install, create some queues, and try it out.
BEWAREs
QBATCH is only as good as the scripts it is running. It has been
running now for a year on several sparcstations and servers, and the
only problems we have encountered have been on file permissions, where
files have been created in the foreground in a setuid script(??), and
the batch job has tried to delete those files
.... The batch job unless running in a fixed context queue with #QCONTEXT
specified in the .<queuename>rc file, runs under the user's real uid!
In these cases, the script hangs until someone types something on the
system console.
Job control. I am aware that some systems do not support this (alright
call me a liar!) Job control is only used in QBATCH, to group together
any children which may be forked by a running job. This is so that a
signal (SIGSTOP, SIGCONT, and SIGKILL) sent to the pid of a running
job, is actually propagated through it's children. Unless you can find
a way round this, if you need to do such a thing, you'll have to
examine the 'ps' output to identify the children if any, and kill them
by hand. (the job itself of course will receive the original signal).
truncate(), ftruncate(). Some systems don't support this either. It
won't do any damage to QBATCH to leave it out, it's only there for
tidiness' sake. The queue files will grow as jobs are added, and
shrink as they are processed or canceled. Truncate is used to ensure
that unused trailing space in a queue file is returned to the system.
If you don't have it, and can't emulate it, You'll have to live with
it. If it becomes a problem, you'll have to periodically tidy up
manually.
Enjoy ... Alan Saunders August 30 1991
If you do come across any problems, with security or anything else
relating to QBATCH, please contact me, as I hope you will if you design
any enhancements or bug fixes.