Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / usr.sbin / cron / doc / INSTALL
1 /* Copyright 1993,1994 by Paul Vixie
2  * All rights reserved
3  *
4  * Distribute freely, except: don't remove my name from the source or
5  * documentation (don't take credit for my work), mark your changes (don't
6  * get me blamed for your possible bugs), don't alter or remove this
7  * notice.  May be sold if buildable source is provided to buyer.  No
8  * warrantee of any kind, express or implied, is included with this
9  * software; use at your own risk, responsibility for damages (if any) to
10  * anyone resulting from the use of this software rests entirely with the
11  * user.
12  *
13  * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
14  * I'll try to keep a version up to date.  I can be reached as follows:
15  * Paul Vixie          <paul@vix.com>          uunet!decwrl!vixie!paul
16  */
17
18 $FreeBSD: src/usr.sbin/cron/doc/INSTALL,v 1.4 1999/08/28 01:15:53 peter Exp $
19 $DragonFly: src/usr.sbin/cron/doc/INSTALL,v 1.2 2003/06/17 04:29:53 dillon Exp $
20
21 Read the comments at the top of the Makefile, then edit the area marked
22 'configurable stuff'.
23
24 Edit config.h.  The stuff I expect you to change is down a bit from the
25 top of the file, but it's clearly marked.  Also look at pathnames.h.
26
27 You don't have to create the /var/cron or /var/cron/tabs directories, since
28 both the daemon and the `crontab' program will do this the first time they
29 run if they don't exist.  You do need to have a /var, though -- just "mkdir
30 /var" if you don't have one, or you can "mkdir /usr/var; ln -s /usr/var /var"
31 if you expect your /var to have a lot of stuff in it.
32
33 You will also need /usr/local/etc and /usr/local/bin directories unless you
34 change the Makefile.  These will have to be created by hand, but if you are
35 a long-time Usenet user you probably have them already.  /usr/local/man is
36 where I keep my man pages, but I have the source for `man' and you probably
37 do not.  Therefore you may have to put the man pages into /usr/man/manl,
38 which will be hard since there will be name collisions.  (Note that the man
39 command was originally written by Bill Joy before he left Berkeley, and it
40 contains no AT&T code, so it is in UUNET's archive of freely-distributable
41 BSD code.)
42
43 LINUX note: /usr/include/paths.h on some linux systems shows _PATH_SENDMAIL
44         to be /usr/bin/sendmail even though sendmail is installed in /usr/lib.
45         you should check this out.
46
47 say:
48         make all
49
50 su and say:
51         make install
52
53 Note that if I can get you to "su and say" something just by asking, you have
54 a very serious security problem on your system and you should look into it.
55
56 Edit your /usr/lib/crontab file into little pieces -- see the CONVERSION file
57 for help on this.
58
59 Use the `crontab' command to install all the little pieces you just created.
60 Some examples (see below before trying any of these!)
61
62         crontab -u uucp -r /usr/lib/uucp/crontab.src
63         crontab -u news -r /usr/lib/news/crontab.src
64         crontab -u root -r /usr/adm/crontab.src
65
66 Notes on above examples: (1) the .src files are copied at the time the
67 command is issued; changing the source files later will have no effect until
68 they are reinstalled with another `crontab -r' command.  (2) The crontab
69 command will affect the crontab of the person using the command unless `-u
70 USER' is given; `-u' only works for root.  When using most `su' commands
71 under most BSD's, `crontab' will still think of you as yourself even though
72 you may think of yourself as root -- so use `-u' liberally.  (3) the `-r'
73 option stands for `replace'; check the man page for crontab(1) for other
74 possibilities.
75
76 Kill your existing cron daemon -- do `ps aux' and look for /etc/cron.
77
78 Edit your /etc/rc or /etc/rc.local, looking for the line that starts up
79 /etc/cron.  Comment it out and add a line to start the new cron daemon
80 -- usually /usr/local/etc/cron, unless you changed it in the Makefile.
81
82 Start up this cron daemon yourself as root.  Just type /usr/local/etc/cron
83 (or whatever); no '&' is needed since the daemon forks itself and the
84 process you executed returns immediately.
85
86 ATT notes: for those people unfortunate enough to be stuck on a AT&T UNIX,
87 you will need the public-domain "libndir", found in the B News source and in
88 any comp.sources.unix archive.  You will also need to hack the code some.