BSD 4_3_Net_2 release
[unix-history] / usr / src / contrib / isode / isode-gen.8
CommitLineData
352df4dc
C
1.TH ISODE-GEN 8 "09 Mar 1991"
2.ds VD isode\-interim
3.ds VN 6.8
4.\" $Header: /f/osi/RCS/isode-gen.8,v 7.33 91/03/09 11:54:14 mrose Exp $
5.\"
6.\"
7.\" $Log: isode-gen.8,v $
8.\" Revision 7.33 91/03/09 11:54:14 mrose
9.\" update
10.\"
11.\" Revision 7.32 91/02/22 09:13:50 mrose
12.\" Interim 6.8
13.\"
14.\" Revision 7.30 91/02/12 18:28:11 mrose
15.\" update
16.\"
17.\" Revision 7.29 91/01/15 09:30:07 mrose
18.\" update
19.\"
20.\" Revision 7.28 90/12/11 10:32:45 mrose
21.\" sync
22.\"
23.\" Revision 7.27 90/11/21 11:29:24 mrose
24.\" sun
25.\"
26.\" Revision 7.26 90/11/11 10:48:00 mrose
27.\" touch-up
28.\"
29.\" Revision 7.25 90/10/31 12:53:33 mrose
30.\" update
31.\"
32.\" Revision 7.24 90/10/30 14:32:48 mrose
33.\" iae
34.\"
35.\" Revision 7.23 90/10/23 20:38:37 mrose
36.\" update
37.\"
38.\" Revision 7.22 90/09/10 09:57:47 mrose
39.\" touch-up
40.\"
41.\" Revision 7.21 90/07/27 08:52:25 mrose
42.\" 6.6
43.\"
44.\" Revision 7.20 90/07/27 08:49:45 mrose
45.\" update
46.\"
47.\" Revision 7.19 90/07/09 14:42:51 mrose
48.\" 6.5
49.\"
50.\" Revision 7.18 90/07/09 14:30:14 mrose
51.\" sync
52.\"
53.\" Revision 7.17 90/04/18 10:23:25 mrose
54.\" 6.2
55.\"
56.\" Revision 7.16 90/04/18 08:52:33 mrose
57.\" MANDIR
58.\"
59.\" Revision 7.15 90/04/09 08:49:53 mrose
60.\" update
61.\"
62.\" Revision 7.14 90/03/05 23:04:15 mrose
63.\" touch-up
64.\"
65.\" Revision 7.13 90/02/19 13:07:36 mrose
66.\" update
67.\"
68.\" Revision 7.12 90/01/27 10:27:48 mrose
69.\" touch-up
70.\"
71.\" Revision 7.11 90/01/11 19:35:47 mrose
72.\" again
73.\"
74.\" Revision 7.10 90/01/11 18:33:48 mrose
75.\" real-sync
76.\"
77.\" Revision 7.9 89/12/19 23:40:40 mrose
78.\" again
79.\"
80.\" Revision 7.8 89/12/19 23:37:41 mrose
81.\" again
82.\"
83.\" Revision 7.7 89/12/19 23:36:12 mrose
84.\" again
85.\"
86.\" Revision 7.6 89/12/19 23:34:33 mrose
87.\" again
88.\"
89.\" Revision 7.5 89/12/19 23:32:22 mrose
90.\" again
91.\"
92.\" Revision 7.4 89/12/19 09:52:43 mrose
93.\" 5.9
94.\"
95.\" Revision 7.3 89/12/04 18:18:09 mrose
96.\" 5.8b
97.\"
98.\" Revision 7.2 89/11/30 23:50:49 mrose
99.\" typos
100.\"
101.\" Revision 7.1 89/11/24 13:33:10 mrose
102.\" sync
103.\"
104.\" Revision 7.0 89/11/23 21:21:30 mrose
105.\" Release 6.0
106.\"
107.SH NAME
108isode\-gen \- generating the ISO Development Environment
109.SH "READ THIS"
110This documentation describes how to configure, generate, and install the
111ISO Development Environment.
112.PP
113Acquisition, use, and distribution of this module and related
114materials are subject to the restrictions of a license agreement.
115Consult the Preface in the \fIUser's Manual\fR for the full terms of this
116agreement.
117.PP
118You will probably want to read over this entire document first,
119before typing any commands;
120e.g., there are optional components described later on that require
121additional settings in the configuration file.
122.PP
123Comments concerning this release should be directed to the mailbox
124\*(lqBug\-ISODE@NISC.PSI.NET\*(rq.
125Do \fBnot\fR send bug reports to the ISODE discussion group.
126If you want to subscribe to the ISODE discussion group,
127drop a note to \*(lqISODE-Request@NIC.DDN.MIL\*(rq.
128.SH SYNOPSIS
129.sp
130.in +.5i
131.nf
132% cd \*(VD
133% cp config/\fIsystem\fR.h h/config.h
134% cp config/\fIsystem\fR.make config/CONFIG.make
135% cp config/*.local support/
136% ./make everything
137# ./make inst\-everything
138.fi
139.in -.5i
140.sp
141.SH DESCRIPTION
142This is a description of how one can bring up the ISODE.
143It is assumed that you have super\-user privileges in order to (re\-)install
144the software.
145Super\-user privileges are not required to configure or generate this
146software.
147.PP
148The distribution tape contains the hierarchy for the \fB\*(VD\fR directory.
149Bring the sources on\-line by changing to a directory for local sources and
150running tar, e.g.,
151.sp
152.in +.5i
153.nf
154% cd /usr/src/local/
155% tar x
156% cd \*(VD
157.fi
158.in -.5i
159.sp
160.SH CONFIGURATION
161First, go to the \fBconfig/\fR directory.
162.sp
163.in +.5i
164.nf
165% cd config
166.fi
167.in -.5i
168.sp
169.PP
170Select the Makefile and include-file skeletons which most closely match
171your system.
172The current choices are:
173.sp
174.in +.5i
175.nf
176.ta \w'sys52-exos 'u
177.ne 4
178\fIfile\fR \fIconfiguration\fR
179apollo Apollo
180aux A/UX release 1.1
181bsd42 generic 4.2BSD UNIX
182bsd43 generic 4.3BSD UNIX
183bsd43\-rt RT/PC with 4.3BSD
184bsd44 4.4BSD UNIX with OSI
185hpux HP\-UX
186mips MIPS RISC/OS
187osx Olivetti LSX 30xx
188ros Ridge Operating System
189sunlink3 SunOS release 3 with SunLink OSI/X.25 release 5.2
190sunlink4 SunOS release 4 with SunLink OSI/X.25 release 6.0
191sunlink7 SunOS release 4 with SunNet OSI/X.25 release 7.0
192sunos3 SunOS release 3
193sunos4 SunOS release 4
194sys52\-exos SVR2 UNIX with EXOS
195sys52\-rt RT/PC with AIX
196sys52\-sun SVR2 UNIX emulation on SunOS release 3
197sys52\-win SVR2 UNIX with WIN/TCP
198sys53 generic SVR3
199ultrix Ultrix 3.1
200.re
201.fi
202.in -.5i
203.sp
204The makefile skeleton has the extension \fB.make\fR,
205whereas the include\-file skeleton has the extension \fB.h\fR.
206.SS MAKEFILE
207Copy the makefile skeleton of your choice to \fBpickle.make\fR,
208where \*(lqpickle\*(rq is the name of your system.
209Now edit this file to set the following \fImake\fR variables:
210.sp
211.in +.5i
212.nf
213.ta \w'MANOPTS 'u +\w'/usr/include/isode/ 'u
214.ne 8
215\fIvariable\fR \fIdefault\fR \fIspecifies\fR
216OPTIONS options to \fIcc\fR and \fIlint\fR (e.g., -I../h)
217LSOCKET libraries to link in (e.g., -lcci)
218BINDIR /usr/local/bin/ where to install user programs
219SBINDIR /usr/etc/ where to install administrator
220 programs
221ETCDIR /usr/etc/ where to install administrator files
222LOGDIR /usr/tmp/ where to install log files
223INCDIR /usr/include/isode/ where to install include files
224LIBDIR /usr/lib/ where to install object libraries
225LINTDIR /usr/lib/lint/ where to install lint libraries
226SYSTEM directs how to create loader libraries
227MANDIR /usr/man/ where to install man pages
228MANOPTS see compat/inst-man.sh for details
229.re
230.fi
231.in -.5i
232.sp
233\fBNOTE THAT ALL THESE DIRECTORIES MUST BE ABSOLUTE PATH NAMES
234(i.e., start and end with a `/')\fR.
235.PP
236Finally,
237.sp
238.in +.5i
239.nf
240ln pickle.make CONFIG.make
241.fi
242.in -.5i
243.sp
244(yes, that's \*(lqCONFIG\*(rq in uppercase and \*(lqmake\*(rq in lowercase).
245Both of these files are in the \fB\*(VDconfig/\fR directory.
246This latter file is the one which the software uses to configure itself
247during generation.
248.SS INCLUDE\-FILE
249Copy the include\-file skeleton of your choice to \fBpickle.h\fR,
250where \*(lqpickle\*(rq is the name of your system.
251Now add any additional definitions you like (usually none).
252Consult the file \fBconfig/OPTIONS\fR for a list.
253.PP
254Now:
255.sp
256.in +.5i
257.nf
258ln pickle.h ../h/config.h
259.fi
260.in -.5i
261.sp
262This latter file is the one which the software uses to configure itself
263during generation.
264.SS "ALIASES DATABASE"
265Typically,
266sites run with the default aliases database used
267by the OSI directory.
268In this case,
269simply copy the default local configuration file to the \fBsupport/\fR
270directory:
271.sp
272.in +.5i
273.nf
274% cp aliases.local ../support/
275.fi
276.in -.4i
277.sp
278If you have local modifications you wish to make,
279either copy in your own file or edit the file
280\fBsupport/aliases.local\fR as appropriate.
281.SS "SERVICES DATABASE"
282Typically,
283sites run with the default services database.
284In this case,
285simply copy the default local configuration file to the \fBsupport/\fR
286directory:
287.sp
288.in +.5i
289.nf
290% cp services.local ../support/
291.fi
292.in -.4i
293.sp
294If you have local modifications you wish to make,
295either copy in your own file or edit the file
296\fBsupport/services.local\fR as appropriate.
297.SS "ENTITIES DATABASE"
298Typically,
299sites run with the default application entity database used
300by the stub\-directory service.
301However,
302once things are running,
303sites should use the OSI Directory to keep track of application entities.
304So,
305to begin,
306simply copy the default local configuration file to the \fBsupport/\fR
307directory:
308.sp
309.in +.5i
310.nf
311% cp entities.local ../support/
312.fi
313.in -.5i
314.sp
315If you have local modifications you wish to make,
316either copy in your own file or edit the file
317\fBsupport/entities.local\fR as appropriate.
318.PP
319In particular,
320if you are using SunNet OSI,
321it will be necessary to put an entry in your
322\fBsupport/entities.local\fR file of the form:
323.sp
324.in +.5i
325myhost\0default\0\01.17.4.1.0\0\0#1/NS+mynsap
326.in -.5i
327.sp
328where \*(lqmyhost\*(rq is the name of the local machine,
329and \*(lqmynsap\*(rq is the NSAP of the local machine.
330For SunNet OSI 7.0 the NSAP is most easily determined by running
331.sp
332.in +.5i
333.nf
334% /usr/sunlink/osi/etc/osirstat -n | grep ^DA
335.fi
336.in -.5i
337.sp
338provided that the SunNet OSI osi.routed program is running. For
339earlier SunLink OSI releases you can run
340.sp
341.in +.5i
342.nf
343% cd others/osilookup
344% ./make
345% xosilookup localhost CLIENT
346.fi
347.in -.5i
348.sp
349providing that the SunLink OSI file \fB/etc/sunlink/osi/hosts\fR
350has an entry defining the service for \*(lqlocalhost\*(rq called
351\*(lqCLIENT\*(rq.
352(Note that in releases earlier than SunLink OSI 6.0,
353the file is called \fB/usr/etc/osi.hosts\fR)
354Note that this entry is mandatory if you are running SunLink OSI
355release 5.2 or greater.
356.PP
357One further note for users of a release earlier then 7.0 of SunLink OSI:
358if you intend to run the standard SunLink OSI listener (osi.netd),
359then you must change the TSEL used by \fItsapd\fR when it listens.
360This is done in two steps:
361First,
362in \fBsupport/entities.local\fR,
363change your entry to read as:
364.sp
365.in +.5i
366myhost\0default\0\01.17.4.1.0\0\0#2/NS+mynsap
367.in -.5i
368.sp
369Second,
370in \fBsupport/services.local\fR,
371add a line that reads as:
372.sp
373.in +.5i
374tsap/session\0\0#2\0\0tsapd-bootstrap
375.in -.5i
376.sp
377which overrides the default TSEL in the \fBsupport/services.db\fR file.
378.SS "MACROS DATABASE"
379Typically, sites run with the default macros database.
380In this case,
381simply copy the default local configuration file to the \fBsupport/\fR
382directory:
383.sp
384.in +.5i
385.nf
386% cp macros.local ../support/
387.fi
388.in -.5i
389.sp
390If you have local modifications you wish to make,
391either copy in your own file or edit the file
392\fBsupport/macros.local\fR as appropriate.
393.SS "OBJECTS DATABASE"
394Typically, sites run with the default objects database.
395In this case,
396simply copy the default local configuration file to the \fBsupport/\fR
397directory:
398.sp
399.in +.5i
400.nf
401% cp objects.local ../support/
402.fi
403.in -.4i
404.sp
405If you have local modifications you wish to make,
406either copy in your own file or edit the file
407\fBsupport/objects.local\fR as appropriate.
408.SH GENERATION
409Go to the \fB\*(VD\fR directory
410.sp
411.in +.5i
412.nf
413% cd ..
414.fi
415.in -.5i
416.sp
417Now reset the dates of the
418configuration files for the system.
419This is done only once per source-tree:
420.sp
421.in +.5i
422.nf
423% ./make once-only
424.fi
425.in -.5i
426.sp
427then generate the basic system.
428.sp
429.in +.5i
430.nf
431% ./make
432.fi
433.in -.5i
434.sp
435If you are using SunOS,
436do not use the \fImake\fR program supplied with the SunPro package.
437It is not, contrary to any claims, compatible with the standard
438\fImake\fR facility.
439Further,
440note that if you are running a version of SunOS 4.0 prior to release 4.0.3,
441then you may need to use the \fImake\fR program found in \fB/usr/old/\fR,
442if the standard \fImake\fR your are using is the SunPro \fImake\fR.
443In this case,
444you will need to put the old, standard \fImake\fR in \fB/usr/bin/\fR,
445and you can keep the SunPro \fImake\fR in \fB/bin/\fR.
446.PP
447If you are using SVR3,
448then you will probably have to type this command before starting the
449compilation:
450.sp
451.in +.5i
452.nf
453% ulimit 32768
454.fi
455.in -.5i
456.sp
457Similarly,
458you may need to increase the stacksize limitation on other systems.
459For example,
460some users of the RT, report needing to use
461.sp
462.in +.5i
463.nf
464% limit stacksize 16m
465.fi
466.in -.5i
467.sp
468in order to get FTAM to fully compile.
469.PP
470The \fImake\fR command from the top-level directory
471will cause a complete generation of the system.
472If all goes well, proceed with the installation.
473If not, complain, as there \*(lqshould be no problems\*(rq at this step.
474Some files while compiling may produce a
475.sp
476.in +.5i
477.nf
478warning: statement not reached
479.fi
480.in -.5i
481.sp
482or a
483.sp
484.in +.5i
485.nf
486type ObjectDescriptor: Warning: Can't find file DSE.ph failed
487.fi
488.in -.5i
489.sp
490message.
491This is normal.
492Sometimes when building a loader library, you might see several
493.sp
494.in +.5i
495.nf
496ranlib: warning: ../libisode.a(aetdbm.o): no symbol table
497.fi
498.in -.5i
499.sp
500messages.
501This is also normal.
502You might also see a few messages like:
503.sp
504.in +.5i
505.nf
506*** Error code 1 (ignored)
507.fi
508.in -.5i
509.sp
510This is also normal.
511As a rule, unless \fImake\fR says something like
512.sp
513.in +.5i
514.nf
515*** Error code 1
516.fi
517.in -.5i
518.sp
519or perhaps
520.sp
521.in +.5i
522.nf
523Exit
524.fi
525.in -.5i
526.sp
527then everything is going just fine!
528.SH TESTING
529Some directories may have a resident test program,
530e.g., in the \fBpsap/\fR directory, there is a program called \fIpsaptest\fR.
531These programs are for internal testing only,
532and are not for use by \*(lqmere mortals\*(rq.
533If you want to test things,
534after installation run \fIisode\-test\fR (see the \fBUSER PROGRAMS\fR section).
535.SH INSTALLATION
536You will need to be the super\-user to install the software.
537Note that installing the software from an NFS-mounted partition
538requires that you perform the installation as the super-user on the
539\fItarget\fR system after changing to the source directory on the
540\fIsource\fR system.
541.PP
542In the directions that follow,
543reference is made to some of the directories defined in the
544\fBCONFIG.make\fR file.
545You should substitute in the correct value,
546for example,
547if the expression
548.sp
549.in +.5i
550.nf
551$(SBINDIR)tsapd
552.fi
553.in -.5i
554.sp
555and if SBINDIR is defined as \fB/usr/etc/\fR in the \fBCONFIG.make\fR
556file,
557then you should type
558.sp
559.in +.5i
560.nf
561/usr/etc/tsapd
562.fi
563.in -.5i
564.sp
565instead.
566.PP
567There are two kinds of activities:
568once\-only activities that you perform the first time the software is
569installed;
570and each\-time activities that you perform every time the software is
571installed.
572.PP
573The first once\-only activity is to verify that the \fItsapd\fR daemon will be
574run when the machine goes multi\-user.
575On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file:
576.sp
577.in +.5i
578.nf
579if [ \-f $(SBINDIR)tsapd ]; then
580 $(SBINDIR)tsapd & (echo \-n ' tsap') > /dev/console
581fi
582.fi
583.in -.5i
584.sp
585On other systems, a similar procedure is followed.
586For example,
587on systems derived from AT&T UNIX,
588the file \fB/etc/rc2\fR script might be edited.
589.PP
590Once you are familiar with the system,
591you will likely want to run the OSI Directory and use another program,
592\fIiaed\fR to invoke local services.
593The section \fBDIRECTORY SERVICES\fR discusses this in greater detail.
594(However,
595if this is your first time,
596don't skip ahead.)
597.PP
598The next once\-only activity is to verify that systems with a native
599\fB/etc/services\fR file contain an entry for the tsap service
600(if you have configured the ISODE to run over TCP).
601If not,
602add the line:
603.sp
604.in +.5i
605.nf
606tsap 102/tcp
607.fi
608.in -.5i
609.sp
610to the \fB/etc/services\fR file.
611If your system does not have such a file,
612the software automatically compensates for this.
613.PP
614Next,
615on Berkeley UNIX systems,
616add a line to the \fB/usr/lib/crontab\fR file to invoke a
617shell-script that will re-cycle the log files.
618Usually, the line you add looks something like this:
619.sp
620.in +.5i
621.nf
6220 4 * * * su daemon < $(SBINDIR)isologs
623.fi
624.in -.5i
625.sp
626which says that the shell-script $(SBINDIR)isologs should be invoked at 4am
627each morning.
628On other systems, a similar procedure is fllowed.
629For example,
630on systems derived from AT&T UNIX,
631the file \fB/usr/spool/cron/crontabs/root\fR might be edited followed
632by the command
633.sp
634.in +.5i
635.nf
636% crontab root
637.fi
638.in -.5i
639.sp
640.PP
641There are two each\-time activities:
642.sp
643.in +.5i
644.nf
645# ./make inst\-all
646.fi
647.in -.5i
648.sp
649which does the installation.
650.PP
651The second each\-time activity,
652is that if you are already running the ISODE,
653then you will need to kill and restart the \fItsapd\fR\0(8c) daemon,
654otherwise incoming connections will not be initialized correctly.
655Otherwise, start the daemon now.
656From the \fICShell\fR, the command might be:
657.sp
658.in +.5i
659.nf
660# $(SBINDIR)tsapd >& /dev/null
661.fi
662.in -.5i
663.sp
664The daemon will automatically detach.
665If you do not redirect the daemon's standard\-error,
666then it will not detach, instead printing messages as to what actions it
667is taking.
668.PP
669That's about it. This will install everything.
670To clean-up the source tree as well,
671then use:
672.sp
673.in +.5i
674.nf
675% ./make clean
676.fi
677.in -.5i
678.sp
679at this point.
680Note that if you are planning on generating or installing FTAM or VT
681or QUIPU (described below),
682then you should not clean-up the source tree until after you are
683finished dealing with these.
684.PP
685If your system is configured for TCP/IP,
686and you are not already running an SNMP agent,
687then you are \fBURGED\fR to immediately install the SNMP agent
688distributed with the ISODE.
689Consult the \fBNETWORK MANAGEMENT\fR section below.
690.PP
691Finally,
692if you are interested in discussing the ISODE with others running the software,
693drop a note to the Internet mailbox
694\*(lqISODE\-Request@NIC.DDN.MIL\*(rq,
695and ask to be added to the \*(lqISODE@NIC.DDN.MIL\*(rq list.
696.SH TAILORING
697If you create a file called \fB$(ETCDIR)isotailor\fR,
698then you can customize the behavior of the programs which use the
699ISODE when they start.
700Consult the \fBsupport/isotailor.5\fR file for further information.
701.SH "USER PROGRAMS"
702By default,
703two services are installed.
704.PP
705The first service,
706having programs \fIisoc\fR and \fIisod\fR,
707is used to test out the installation of the ISODE on your system:
708.sp
709.in +.5i
710.nf
711% ./make test
712.fi
713.in -.5i
714.sp
715which runs the \fIisode\-test\fR script.
716.PP
717The second service,
718having programs \fIimisc\fR and \fIros.imisc\fR,
719is a small demo service supporting things like \fIfinger\fR, \fIwho\fR and
720so forth.
721.PP
722There are additional programs in the \fBothers/\fR directory.
723These aren't integral parts of the system and assume that the ISODE is already
724installed.
725Use at your own discretion.
726.SH "REGISTERING OSI APPLICATION SERVICES"
727.PP
728Earlier releases of the ISODE relied on static tables to keep track of
729the OSI application services offered on an end-system.
730This is a problematic exercise in keeping local and remote tables synchronized.
731In this release of the ISODE,
732the OSI Directory can be used to manage this information,
733thereby automating the synchronization process.
734.SS "Preparation"
735.PP
736Once you have installed the ISODE, you must bring up a DSA.
737The procedures for doing this varies, depending on your location;
738consult the section "Setting up an Initial DSA" in Volume 5 of the
739\fIUser's Manual\fR.
740.PP
741Once your DSA is running,
742you should build the DMD for your organization.
743Underneath the entry for your organization,
744you should select an area where your end-system's application entities
745will reside in the DIT.
746For example,
747the OSI application services available in PSI's Santa Clara office
748reside somewhere under:
749.sp
750.in +.5i
751.nf
752c=US
753 @o=Performance Systems International
754 @ou=Research and Development
755 @ou=Santa Clara
756.fi
757.in -.5i
758.sp
759Note that this area may very well be different than the value of the
760\*(lqlocal_DIT\*(rq in your dsaptailor file.
761In general,
762all the end-systems at a site will have the same "local_DIT" value,
763but each of those end-systems offering OSI application services will
764place those services at a different portion in the DIT
765(usually somewhere underneath the \*(lqlocal_DIT\*(rq value).
766.PP
767By convention, all the OSI application services offered by a given
768end-system are placed in the same location in the DIT, under an
769applicationProcess entry with the short name of the end-system,
770e.g., \*(lqcn=cheetah\*(rq.
771So, using the example above, the entry
772.sp
773.in +.5i
774.nf
775c=US
776 @o=Performance Systems International
777 @ou=Research and Development
778 @ou=Santa Clara
779 @cn=cheetah
780.fi
781.in -.5i
782.sp
783would contain all the entries of interest.
784.SS "Once-only Installation"
785.PP
786The \fIbootsvc\fR script will generate a shell script that will create
787an applicationProcess entry and then an entry for each of the OSI
788services provided by the ISODE.
789So,
790you must first select the RDN for the applicationProcess entry.
791.PP
792Run \fIbootsvc\fR to create a script:
793.sp
794.in +.5i
795.nf
796% support/bootsvc <<aP-name>> > run.sh
797.fi
798.in -.5i
799.sp
800e.g.,
801.sp
802.in +.5i
803.nf
804% support/bootsvc cheetah > run.sh
805.fi
806.in -.5i
807.PP
808Note that the first line of this script is used to define the network
809address where \fIiaed\fR listens for incoming connections.
810By default,
811only the address for the Internet community (RFC1006) is set.
812If the end-system is configured for other OSI communities,
813then this line should be changed accordingly, e.g.,
814.sp
815.in +.5i
816.nf
817A="Internet=`hostname`|NS+aabbcc"
818.fi
819.in -.5i
820.PP
821Next,
822start \fIdish\fR in the background,
823bound as the manager,
824move to the location in the DIT where the services are to be
825registered and run the script,
826e.g.,
827.sp
828.in +.5i
829.nf
830% setenv DISHPROC "127.0.0.1 `expr $$ + 32768`"
831% bind -u <<DN of DSA Manager>>
832% moveto "ou=Research and Development@ou=Santa Clara"
833% sh run.sh
834.fi
835.in -.5i
836.sp
837.PP
838Following this,
839you need to arrange for \fIiaed\fR rather than \fItsapd\fR to run when
840the machine goes multi\-user.
841On Berkeley UNIX systems, replace these lines to the \fB/etc/rc.local\fR file:
842.sp
843.in +.5i
844.nf
845if [ \-f $(SBINDIR)tsapd ]; then
846 $(SBINDIR)tsapd & (echo \-n ' tsap') > /dev/console
847fi
848.fi
849.in -.5i
850.sp
851with:
852.sp
853.in +.5i
854.nf
855if [ \-f $(SBINDIR)iaed ]; then
856 $(SBINDIR)iaed -D 'ou=Research and ...@cn=services' &
857 (echo \-n ' iae') > /dev/console
858fi
859.fi
860.in -.5i
861.sp
862On other systems, a similar procedure is followed.
863.PP
864When \fIiaed\fR starts,
865it will connect to the Directory,
866find the services contained therein,
867and start listening as appropriate.
868.PP
869Finally,
870when the Directory software was installed,
871this included a program called \fIdased\fR.
872If you have not already done so,
873edit the \fB$(ETCDIR)isotailor\fR file to have these two lines:
874.sp
875.in +.5i
876.nf
877ns_enable: on
878ns_address: Internet=domain-name+17006
879.fi
880.in -.5i
881.sp
882where \*(lqdomain-name\*(rq is the DNS name or IP-address of the
883machine which is running \fIdased\fR.
884This can be a different machine than the one running the DSA,
885but it's probably best to have the local DSA and \fIdased\fR running
886on the same machine.
887.PP
888Next,
889arrange for \fIdased\fR to be started when the machine goes multi-user.
890On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file:
891.sp
892.in +.5i
893.nf
894if [ \-f $(SBINDIR)dased ]; then
895 $(SBINDIR)dased & (echo \-n ' dase') > /dev/console
896fi
897.fi
898.in -.5i
899.sp
900On other systems, a similar procedure is followed.
901.PP
902When \fIdased\fR starts,
903it will listen for incoming connections from initiator ISODE programs.
904(By default,
905the initiator programs aren't loaded with the user-friendly
906nameservice and the DAP, owing to the code size--instead, they talk to
907\fIdased\fR.)
908.PP
909For your other systems,
910edit the \fB$(ETCDIR)isotailor\fR file to have these two lines:
911.sp
912.in +.5i
913.nf
914ns_enable: on
915ns_address: Internet=domain-name+17006
916.fi
917.in -.5i
918.sp
919where \*(lqdomain-name\*(rq is the DNS name or IP-address of the
920machine which is running \fIdased\fR.
921.PP
922To test the system:
923.sp
924.in +.5i
925.nf
926% isode-test -iaed
927.fi
928.in -.5i
929.sp
930If all goes well,
931users should be able to type things such as
932.sp
933.in +.5i
934.nf
935% ftam cheetah,sc,psi,us
936.fi
937.in -.5i
938.sp
939and \*(lqthe right thing\*(rq will happen
940(i.e.,
941local users can access remote services,
942even if they have not been entered into the entities database).
943.SS "Adding New Services"
944.PP
945The installation procedures need be performed only once.
946If you decide to disable a service,
947simply remove the corresponding entry from the Directory.
948To add a new service,
949see the Section \*(lqDefining New Services\*(rq in the \fIUser's Manual\fR.
950.SH "FTAM/FTP gateway"
951.PP
952Because the FTAM/FTP gateway is meant to appear as an FTAM entity,
953the entry for this service must be placed in a different portion of
954the DIT than the regular FTAM service.
955As such, the \fIbootsvc\fR script will not install this service.
956.PP
957Hence,
958if you wish to run such a service, you will have to install it manually.
959The entry might be something like this:
960.sp
961.in +.5i
962.nf
963objectClass= top & quipuObject &\
964 applicationEntity & iSODEApplicationEntity
965cn= <<whatever you want>>
966presentationAddress= <<unique transport selector>>/<<end-system's NSAP>>
967supportedApplicationContext= iso ftam
968acl=
969execVector= iso.ftam-ftp
970.fi
971.in -.5i
972.sp
973Look in your part of the Directory to see some examples of what these
974entries look like.
975.SH "FILE TRANSER, ACCESS AND MANAGEMENT"
976In addition,
977if you are running the ISODE on a Berkeley or AT&T System V UNIX system,
978then there is also an implementation of the ISO FTAM.
979FTAM, which stands for File Transfer, Access and Management,
980is the OSI file service.
981The implementation provided is fairly complete in the context of
982the particular file services it offers.
983It is a minimal implementation in as much as it offers only four core
984services: transfer of text files,
985transfer of binary files,
986directory listings,
987and file management.
988.PP
989To generate FTAM, go to the \fB\*(VD\fR directory and type:
990.sp
991.in +.5i
992.nf
993% ./make all-ftam
994.fi
995.in -.5i
996.sp
997.PP
998This will cause a complete generation of the FTAM libraries and programs.
999If all goes well, proceed with the installation.
1000If not, complain as there \*(lqshould be no problems\*(rq at this step.
1001.PP
1002You will need to be the super-user to install FTAM:
1003.sp
1004.in +.5i
1005.nf
1006# ./make install\-ftam
1007.fi
1008.in -.5i
1009.sp
1010That's about it.
1011This will install everything and then clean\-up the source tree.
1012Note that if you are planning on generating or installing the FTAM/FTP
1013gateway (described below),
1014then you should not clean-up the source tree until after you are
1015finished dealing with the gateway.
1016In this case,
1017or if you just want an installation and no clean\-up, then use:
1018.sp
1019.in +.5i
1020.nf
1021# ./make inst\-ftam
1022.fi
1023.in -.5i
1024.sp
1025instead.
1026.SH "FTAM/FTP GATEWAY"
1027In addition,
1028if you are running the ISODE on a Berkeley or AT&T System V UNIX system,
1029there is also an implementation of an FTAM/FTP application gateway.
1030The gateway is actually two programs:
1031one which acts as an ftam responder and an ftp client,
1032and the other which acts as an ftp server and an ftam initiator.
1033Note that the gateway currently resides at a different location
1034than the standard FTAM responder and FTP server.
1035(This may be corrected in a future release.)
1036Read the manual entries for \fIftamd-ftp\fR\0(8c) and
1037\fIftpd-ftam\fR\0(8c) for the details.
1038.PP
1039To generate the FTAM/FTAP gateway, go to the \fB\*(VD\fR directory and type:
1040.sp
1041.in +.5i
1042.nf
1043% ./make all-ftam-ftp
1044.fi
1045.in -.5i
1046.sp
1047.PP
1048This will cause a complete generation of the gateway.
1049If all goes well, proceed with the installation.
1050If not, complain as there \*(lqshould be no problems\*(rq at this step.
1051.PP
1052You will need to be the super-user to install the FTAM/FTP gateway:
1053.sp
1054.in +.5i
1055.nf
1056# ./make install\-ftam-ftp
1057.fi
1058.in -.5i
1059.sp
1060This will install everything and then clean\-up the source tree.
1061If you just want an installation and no clean\-up, then use:
1062.sp
1063.in +.5i
1064.nf
1065# ./make inst\-ftam-ftp
1066.fi
1067.in -.5i
1068.sp
1069instead.
1070.PP
1071Regardless of the command you use,
1072on 4.2BSD-derived systems, add this line to your \fB/etc/servers\fR file:
1073.sp
1074.in +.5i
1075.nf
1076ftp-ftam\0\0tcp\0\0$(SBINDIR)in.ftpd-ftam
1077.fi
1078.in -.5i
1079.sp
1080On 4.3BSD-derived systems, add this line to your \fB/etc/inetd.conf\fR file:
1081.sp
1082.in +.5i
1083.nf
1084ftp-ftam\0\0stream\0\0tcp\0\0nowait\0\0root\0\0$(SBINDIR)in.ftpd-ftam\0\0in.ftpd-ftam
1085.fi
1086.in -.5i
1087.sp
1088.PP
1089Finally,
1090add this line to your \fB/etc/services\fR file:
1091.sp
1092.in +.5i
1093.nf
1094ftp-ftam 531/tcp
1095.fi
1096.in -.5i
1097.SH "VIRTUAL TERMINAL"
1098In addition,
1099if you are running the ISODE on a Berkeley UNIX system,
1100there is also an implementation of the ISO VT.
1101VT is the OSI terminal service.
1102The implementation provided is roughly comparable to an average telnet
1103implementation.
1104.PP
1105To generate the VT system, go to the \fB\*(VD\fR directory and type:
1106.sp
1107.in +.5i
1108.nf
1109% ./make all-vt
1110.fi
1111.in -.5i
1112.sp
1113.PP
1114This will cause a complete generation of the VT initiator and
1115responder programs.
1116If all goes well, proceed with the installation.
1117If not, complain as there \*(lqshould be no problems\*(rq at this step.
1118.PP
1119You will need to be the super-user to install VT:
1120.sp
1121.in +.5i
1122.nf
1123# ./make install\-vt
1124.fi
1125.in -.5i
1126.sp
1127That's about it.
1128This will install everything and then clean\-up the source tree.
1129If you just want an installation and no clean\-up, then use:
1130.sp
1131.in +.5i
1132.nf
1133# ./make inst\-vt
1134.fi
1135.in -.5i
1136.sp
1137instead.
1138.SH "DIRECTORY SERVICES"
1139In addition,
1140if you are running the ISODE on a Berkeley UNIX or AT&T System V UNIX system,
1141there is also an implementation of the OSI Directory, called QUIPU.
1142If you're not interested in running a Directory,
1143skip this text and go to the section entitled \fBGENERATING
1144DOCUMENTATION\fR.
1145.PP
1146Each host using the OSI directory implicitly runs a
1147Directory User Agent (DUA).
1148Additionally,
1149you may wish to run a Directory System Agent (DSA) on some hosts.
1150As such,
1151the instructions which follow indicate which activities are necessary
1152in both instances, as appropriate.
1153.SS "QUIPU GENERATION"
1154To generate QUIPU, go to the \fB\*(VD\fR directory and type:
1155.sp
1156.in +.5i
1157.nf
1158% ./make all-quipu
1159.fi
1160.in -.5i
1161.sp
1162.PP
1163This will cause a complete generation of the DSAP library and the DSA.
1164If all goes well, proceed with the installation.
1165If not, complain as there \*(lqshould be no problems\*(rq at this step.
1166.SS "QUIPU INSTALLATION"
1167You will need to be the super-user to install QUIPU:
1168.sp
1169.in +.5i
1170.nf
1171# ./make install\-quipu
1172.fi
1173.in -.5i
1174.sp
1175This will install everything and then clean\-up the source tree.
1176If you just want an installation and no clean\-up, then use:
1177.sp
1178.in +.5i
1179.nf
1180# ./make inst\-quipu
1181.fi
1182.in -.5i
1183.sp
1184instead.
1185After either command,
1186there is one once-only activity.
1187.PP
1188The QUIPU DSA is a \*(lqstatic responder\*(rq.
1189This means that it accepts new associations and managing old ones as necessary.
1190Hence,
1191if you intend to run a local DSA,
1192it is necessary to start the \fIros.quipu\fR daemon when the
1193machine goes multi-user.
1194On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file:
1195.sp
1196.in +.5i
1197.nf
1198if [ \-f $(SBINDIR)ros.quipu ]; then
1199 (cd /usr/etc/quipu-db; $(SBINDIR)ros.quipu) &
1200 (echo \-n ' quipu') > /dev/console
1201fi
1202.fi
1203.in -.5i
1204.sp
1205(This assumes your database is in the directory \fB/usr/etc/quipu-db\fR -
1206it need not be)
1207On other systems, a similar procedure is followed.
1208.SS "QUIPU DATABASE"
1209If you intend to run a local DSA,
1210then you will need to build a Directory database.
1211(If you are already running QUIPU 5.0 or later,
1212then you've done this before and so you can skip to the next section
1213on \fBQUIPU TAILORING\fR.)
1214The database directory, by default, lives in the ETCDIR area
1215(usually \fB/usr/etc/\fR) under the name of \fBquipu-db/\fR.
1216Three prototype databases can be found in the directory
1217\fBothers/quipu/quipu-db/\fR.
1218These database files should be protected as they contain Directory passwords and
1219other sensitive information. The DSA needs to be able to read this
1220information, and so performs a setuid on execution to the UID of the owner
1221of the database directory.
1222.PP
1223Now customize the chosen prototype database under \fB/usr/etc/quipu-db/\fR. The
1224details of this database are explained in Volume 5 of the users manual.
1225However you should be able to derive a minimal database by following
1226the example structure defined for University College London in
1227the GB branch of the Directory tree.
1228Then delete the example structure for O=University College London.
1229.SS "QUIPU TAILORING"
1230If you choose to run a local DSA, now configure it.
1231The DSA tailors itself at runtime by reading the file \fB$(ETCDIR)quiputailor\fR.
1232A prototype of this file will be installed during the normal ISODE
1233installation process.
1234Only one entry in the file usually needs to be changed:
1235.sp
1236.in +.5i
1237.nf
1238mydsaname CN=toucan
1239.fi
1240.in -.5i
1241.sp
1242Substitute the name of the DSA as it occurs in the Directory for
1243\*(lqCN=toucan\*(rq.
1244See \fIquiputailor\fR\0(5) for a description of the full range of
1245tailoring options in the \fB$(ETCDIR)quiputailor\fR file.
1246.PP
1247Now configure the various DUA programs.
1248These tailor themselves at runtime by reading the file
1249\fB$(ETCDIR)dsaptailor\fR.
1250A prototype of this file will be installed during the normal ISODE
1251installation process.
1252Only one entry in the file usually needs to be changed:
1253.sp
1254.in +.5i
1255.nf
1256dsa_address toucan localHost=17003
1257.fi
1258.in -.5i
1259.sp
1260Substitute the name of your \*(lqprimary\*(rq DSA for \*(lqtoucan\*(rq
1261and its corresponding presentation address for the
1262\*(lq'0101'H/Internet+...\*(rq string.
1263This information can be found in the Directory on the host which is
1264running the DSA.
1265.PP
1266Do not confuse the \fIdsa_address\fR used in this file with the
1267\fIns_address\fR used in the \fB$(ETCDIR)isotailor\fR file.
1268These are separate services and must live at different addresses.
1269See \fIquiputailor\fR\0(5) for a description of the full range of
1270tailoring options in the \fB$(ETCDIR)dsaptailor\fR file.
1271.SS "QUIPU ONCE-ONLY"
1272Having tailored QUIPU,
1273you can now start the DSA.
1274However, if you are already running QUIPU,
1275then you will need to kill and restart the QUIPU DSA.
1276.PP
1277Start the DSA now.
1278From the \fICShell\fR, the command might be:
1279.sp
1280.in +.5i
1281.nf
1282# $(SBINDIR)ros.quipu >& /dev/null
1283.fi
1284.in -.5i
1285.sp
1286The daemon will automatically detach.
1287If you do not redirect the daemon's standard\-error,
1288then it will not detach, instead printing messages as to what actions it
1289is taking.
1290.SH "NETWORK MANAGEMENT"
1291In addition,
1292if you are running the ISODE on a Berkeley UNIX system,
1293there is also an implementation of the SNMP.
1294Although this is not the OSI network management service,
1295Inasmuch as the continued survival of the Internet hinges on all nodes
1296becoming network manageable,
1297this package was developed using the ISODE and is being freely
1298distributed with releases of Berkeley UNIX.
1299.PP
1300It must be stressed that this package is not a complete network management
1301system.
1302In particular,
1303whilst \fIsnmpd\fR provides a minimal agent functionality,
1304there are no Network Operation Center (NOC) tools--\fIsnmpi\fR is a
1305debugging aid only.
1306.PP
1307To generate the SNMP system, go to the \fB\*(VD\fR directory and type:
1308.sp
1309.in +.5i
1310.nf
1311% ./make all-snmp
1312.fi
1313.in -.5i
1314.sp
1315.PP
1316This will cause a complete generation of the SNMP agent and the
1317minimal SNMP initiator program.
1318If all goes well, proceed with the installation.
1319If not, complain as there \*(lqshould be no problems\*(rq at this step.
1320.PP
1321There are two once\-only activities which must be performed prior to installation.
1322First,
1323check your \fB/etc/services\fR file,
1324and verify that these three lines are present:
1325.sp
1326.in +.5i
1327.nf
1328snmp 161/udp
1329snmp-trap 162/udp
1330smux 199/tcp
1331.fi
1332.in -.5i
1333.sp
1334If not, add them.
1335.PP
1336Second,
1337add these lines to the \fB/etc/rc.local\fR file:
1338.sp
1339.in +.5i
1340.nf
1341if [ \-f $(SBINDIR)snmpd ]; then
1342 $(SBINDIR)snmpd & (echo \-n ' snmp') > /dev/console
1343fi
1344if [ \-f $(SBINDIR)smux.unixd \-a \-f $(SBINDIR)snmpd ]; then
1345 $(SBINDIR)smux.unixd & (echo \-n ' smux-unix') > /dev/console
1346fi
1347.fi
1348.in -.5i
1349.sp
1350.PP
1351You will need to be the super-user to install SNMP:
1352.sp
1353.in +.5i
1354.nf
1355# ./make install\-snmp
1356.fi
1357.in -.5i
1358.sp
1359This will install everything and then clean\-up the source tree.
1360If you just want an installation and no clean\-up, then use:
1361.sp
1362.in +.5i
1363.nf
1364# ./make inst\-snmp
1365.fi
1366.in -.5i
1367.sp
1368instead.
1369.PP
1370Regardless of the command you use,
1371read the comments in the \fB$(ETCDIR)snmpd.rc\fR file which will tell
1372you how to tailor the agent for your installation.
1373.PP
1374Finally,
1375if you are already running the SNMP,
1376then you will need to kill and restart the \fIsnmpd\fR\0(8c) and SMUX
1377UNIX daemons.
1378(It is best to kill \fIsmux.unixd\fR first, and then \fIsnmpd\fR.)
1379Otherwise, start the daemons now.
1380From the \fICShell\fR, the command might be:
1381.sp
1382.in +.5i
1383.nf
1384# $(SBINDIR)snmpd >& /dev/null
1385# $(SBINDIR)smux.unixd >& /dev/null
1386.fi
1387.in -.5i
1388.sp
1389The daemon will automatically detach.
1390If you do not redirect the daemon's standard\-error,
1391then it will not detach, instead printing messages as to what actions it
1392is taking.
1393.SH "LIGHTWEIGHT PRESENTATION PROTOCOL"
1394In addition,
1395if you are running the ISODE on a Berkeley UNIX system,
1396there is also an implementation of RFC1085,
1397the lightweight presentation protocol for TCP/IP-based internets.
1398.PP
1399To generate the LPP system, go to the \fB\*(VD\fR directory and type:
1400.sp
1401.in +.5i
1402.nf
1403% ./make all\-lpp
1404.fi
1405.in -.5i
1406.sp
1407.PP
1408This will cause a complete generation of the LPP library and support programs.
1409If all goes well, proceed with the installation.
1410If not, complain as there \*(lqshould be no problems\*(rq at this step.
1411.PP
1412You will need to be the super-user to install the LPP system.
1413There are two kinds of activities:
1414once\-only activities that you perform the first time the software is
1415installed;
1416and each\-time activities that you perform every time the software is
1417installed.
1418.PP
1419The first once\-only activity is to verify that the \fIlppd\fR daemon will be
1420run when the machine goes multi\-user.
1421On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file:
1422.sp
1423.in +.5i
1424.nf
1425if [ \-f $(SBINDIR)lppd ]; then
1426 $(SBINDIR)lppd & (echo \-n ' lpp') > /dev/console
1427fi
1428.fi
1429.in -.5i
1430.sp
1431On other systems, a similar procedure is followed.
1432.PP
1433The next once\-only activity is to verify that systems with a native
1434\fB/etc/services\fR file contain an entry for the miscellany service.
1435This is used when the ISODE miscellaneous services is run using the LPP.
1436If not,
1437add the line:
1438.sp
1439.in +.5i
1440.nf
1441miscellany 17002/lpp
1442.fi
1443.in -.5i
1444.sp
1445to the \fB/etc/services\fR file.
1446If your system does not have such a file,
1447the software automatically compensates for this.
1448.PP
1449There are two each\-time activities:
1450.sp
1451.in +.5i
1452.nf
1453# ./make install\-lpp
1454.fi
1455.in -.5i
1456.sp
1457This will install everything and then clean\-up the source tree.
1458If you just want an installation and no clean\-up, then use:
1459.sp
1460.in +.5i
1461.nf
1462# ./make inst\-lpp
1463.fi
1464.in -.5i
1465.sp
1466instead.
1467.PP
1468Regardless of the command you use,
1469the second each\-time activity,
1470is that if you are already running the LPP system,
1471then you will need to kill and restart the \fIlppd\fR\0(8c) daemon,
1472otherwise incoming connections will not be initialized correctly.
1473Otherwise, start the daemon now.
1474From the \fICShell\fR, the command might be:
1475.sp
1476.in +.5i
1477.nf
1478# $(SBINDIR)lppd >& /dev/null
1479.fi
1480.in -.5i
1481.sp
1482The daemon will automatically detach.
1483If you do not redirect the daemon's standard\-error,
1484then it will not detach, instead printing messages as to what actions it
1485is taking.
1486.PP
1487That's about it.
1488.SH "GENERATING DOCUMENTATION"
1489The directory \fBdoc/\fR contains the documentation set for this release.
1490Consult the file \fBdoc/READ\-ME\fR for a description of each document.
1491The directory \fBdoc/ps/\fR contains PostScript versions of each document.
1492Usually it is easier to print the files in this directory than
1493generate the documentation from scratch as
1494the sources to these documents are in either LaTeX (for papers)
1495or SLiTeX (for presentations).
1496.PP
1497If you received this distribution from the network,
1498then the directory \fBdoc/ps/\fR does not contain any PostScript files.
1499There should be a separate compressed \fItar\fR file,
1500containing only PostScript files,
1501available on the machine where you retrieved this distribution.
1502.SH FILES
1503Too numerous to mention.
1504Honest.
1505.SH "SEE ALSO"
1506\fIThe ISO Development Environment: User's Manual\fR
1507.SH AUTHOR
1508Marshall T. Rose
1509.br
1510with assistance from a cast of thousands
1511(read the \fBPreface\fR in the \fIUser's Manual\fR)