.TH ISODE-GEN 8 "09 Mar 1991" .ds VD isode\-interim .ds VN 6.8 .\" $Header: /f/osi/RCS/isode-gen.8,v 7.33 91/03/09 11:54:14 mrose Exp $ .\" .\" .\" $Log: isode-gen.8,v $ .\" Revision 7.33 91/03/09 11:54:14 mrose .\" update .\" .\" Revision 7.32 91/02/22 09:13:50 mrose .\" Interim 6.8 .\" .\" Revision 7.30 91/02/12 18:28:11 mrose .\" update .\" .\" Revision 7.29 91/01/15 09:30:07 mrose .\" update .\" .\" Revision 7.28 90/12/11 10:32:45 mrose .\" sync .\" .\" Revision 7.27 90/11/21 11:29:24 mrose .\" sun .\" .\" Revision 7.26 90/11/11 10:48:00 mrose .\" touch-up .\" .\" Revision 7.25 90/10/31 12:53:33 mrose .\" update .\" .\" Revision 7.24 90/10/30 14:32:48 mrose .\" iae .\" .\" Revision 7.23 90/10/23 20:38:37 mrose .\" update .\" .\" Revision 7.22 90/09/10 09:57:47 mrose .\" touch-up .\" .\" Revision 7.21 90/07/27 08:52:25 mrose .\" 6.6 .\" .\" Revision 7.20 90/07/27 08:49:45 mrose .\" update .\" .\" Revision 7.19 90/07/09 14:42:51 mrose .\" 6.5 .\" .\" Revision 7.18 90/07/09 14:30:14 mrose .\" sync .\" .\" Revision 7.17 90/04/18 10:23:25 mrose .\" 6.2 .\" .\" Revision 7.16 90/04/18 08:52:33 mrose .\" MANDIR .\" .\" Revision 7.15 90/04/09 08:49:53 mrose .\" update .\" .\" Revision 7.14 90/03/05 23:04:15 mrose .\" touch-up .\" .\" Revision 7.13 90/02/19 13:07:36 mrose .\" update .\" .\" Revision 7.12 90/01/27 10:27:48 mrose .\" touch-up .\" .\" Revision 7.11 90/01/11 19:35:47 mrose .\" again .\" .\" Revision 7.10 90/01/11 18:33:48 mrose .\" real-sync .\" .\" Revision 7.9 89/12/19 23:40:40 mrose .\" again .\" .\" Revision 7.8 89/12/19 23:37:41 mrose .\" again .\" .\" Revision 7.7 89/12/19 23:36:12 mrose .\" again .\" .\" Revision 7.6 89/12/19 23:34:33 mrose .\" again .\" .\" Revision 7.5 89/12/19 23:32:22 mrose .\" again .\" .\" Revision 7.4 89/12/19 09:52:43 mrose .\" 5.9 .\" .\" Revision 7.3 89/12/04 18:18:09 mrose .\" 5.8b .\" .\" Revision 7.2 89/11/30 23:50:49 mrose .\" typos .\" .\" Revision 7.1 89/11/24 13:33:10 mrose .\" sync .\" .\" Revision 7.0 89/11/23 21:21:30 mrose .\" Release 6.0 .\" .SH NAME isode\-gen \- generating the ISO Development Environment .SH "READ THIS" This documentation describes how to configure, generate, and install the ISO Development Environment. .PP Acquisition, use, and distribution of this module and related materials are subject to the restrictions of a license agreement. Consult the Preface in the \fIUser's Manual\fR for the full terms of this agreement. .PP You will probably want to read over this entire document first, before typing any commands; e.g., there are optional components described later on that require additional settings in the configuration file. .PP Comments concerning this release should be directed to the mailbox \*(lqBug\-ISODE@NISC.PSI.NET\*(rq. Do \fBnot\fR send bug reports to the ISODE discussion group. If you want to subscribe to the ISODE discussion group, drop a note to \*(lqISODE-Request@NIC.DDN.MIL\*(rq. .SH SYNOPSIS .sp .in +.5i .nf % cd \*(VD % cp config/\fIsystem\fR.h h/config.h % cp config/\fIsystem\fR.make config/CONFIG.make % cp config/*.local support/ % ./make everything # ./make inst\-everything .fi .in -.5i .sp .SH DESCRIPTION This is a description of how one can bring up the ISODE. It is assumed that you have super\-user privileges in order to (re\-)install the software. Super\-user privileges are not required to configure or generate this software. .PP The distribution tape contains the hierarchy for the \fB\*(VD\fR directory. Bring the sources on\-line by changing to a directory for local sources and running tar, e.g., .sp .in +.5i .nf % cd /usr/src/local/ % tar x % cd \*(VD .fi .in -.5i .sp .SH CONFIGURATION First, go to the \fBconfig/\fR directory. .sp .in +.5i .nf % cd config .fi .in -.5i .sp .PP Select the Makefile and include-file skeletons which most closely match your system. The current choices are: .sp .in +.5i .nf .ta \w'sys52-exos 'u .ne 4 \fIfile\fR \fIconfiguration\fR apollo Apollo aux A/UX release 1.1 bsd42 generic 4.2BSD UNIX bsd43 generic 4.3BSD UNIX bsd43\-rt RT/PC with 4.3BSD bsd44 4.4BSD UNIX with OSI hpux HP\-UX mips MIPS RISC/OS osx Olivetti LSX 30xx ros Ridge Operating System sunlink3 SunOS release 3 with SunLink OSI/X.25 release 5.2 sunlink4 SunOS release 4 with SunLink OSI/X.25 release 6.0 sunlink7 SunOS release 4 with SunNet OSI/X.25 release 7.0 sunos3 SunOS release 3 sunos4 SunOS release 4 sys52\-exos SVR2 UNIX with EXOS sys52\-rt RT/PC with AIX sys52\-sun SVR2 UNIX emulation on SunOS release 3 sys52\-win SVR2 UNIX with WIN/TCP sys53 generic SVR3 ultrix Ultrix 3.1 .re .fi .in -.5i .sp The makefile skeleton has the extension \fB.make\fR, whereas the include\-file skeleton has the extension \fB.h\fR. .SS MAKEFILE Copy the makefile skeleton of your choice to \fBpickle.make\fR, where \*(lqpickle\*(rq is the name of your system. Now edit this file to set the following \fImake\fR variables: .sp .in +.5i .nf .ta \w'MANOPTS 'u +\w'/usr/include/isode/ 'u .ne 8 \fIvariable\fR \fIdefault\fR \fIspecifies\fR OPTIONS options to \fIcc\fR and \fIlint\fR (e.g., -I../h) LSOCKET libraries to link in (e.g., -lcci) BINDIR /usr/local/bin/ where to install user programs SBINDIR /usr/etc/ where to install administrator programs ETCDIR /usr/etc/ where to install administrator files LOGDIR /usr/tmp/ where to install log files INCDIR /usr/include/isode/ where to install include files LIBDIR /usr/lib/ where to install object libraries LINTDIR /usr/lib/lint/ where to install lint libraries SYSTEM directs how to create loader libraries MANDIR /usr/man/ where to install man pages MANOPTS see compat/inst-man.sh for details .re .fi .in -.5i .sp \fBNOTE THAT ALL THESE DIRECTORIES MUST BE ABSOLUTE PATH NAMES (i.e., start and end with a `/')\fR. .PP Finally, .sp .in +.5i .nf ln pickle.make CONFIG.make .fi .in -.5i .sp (yes, that's \*(lqCONFIG\*(rq in uppercase and \*(lqmake\*(rq in lowercase). Both of these files are in the \fB\*(VDconfig/\fR directory. This latter file is the one which the software uses to configure itself during generation. .SS INCLUDE\-FILE Copy the include\-file skeleton of your choice to \fBpickle.h\fR, where \*(lqpickle\*(rq is the name of your system. Now add any additional definitions you like (usually none). Consult the file \fBconfig/OPTIONS\fR for a list. .PP Now: .sp .in +.5i .nf ln pickle.h ../h/config.h .fi .in -.5i .sp This latter file is the one which the software uses to configure itself during generation. .SS "ALIASES DATABASE" Typically, sites run with the default aliases database used by the OSI directory. In this case, simply copy the default local configuration file to the \fBsupport/\fR directory: .sp .in +.5i .nf % cp aliases.local ../support/ .fi .in -.4i .sp If you have local modifications you wish to make, either copy in your own file or edit the file \fBsupport/aliases.local\fR as appropriate. .SS "SERVICES DATABASE" Typically, sites run with the default services database. In this case, simply copy the default local configuration file to the \fBsupport/\fR directory: .sp .in +.5i .nf % cp services.local ../support/ .fi .in -.4i .sp If you have local modifications you wish to make, either copy in your own file or edit the file \fBsupport/services.local\fR as appropriate. .SS "ENTITIES DATABASE" Typically, sites run with the default application entity database used by the stub\-directory service. However, once things are running, sites should use the OSI Directory to keep track of application entities. So, to begin, simply copy the default local configuration file to the \fBsupport/\fR directory: .sp .in +.5i .nf % cp entities.local ../support/ .fi .in -.5i .sp If you have local modifications you wish to make, either copy in your own file or edit the file \fBsupport/entities.local\fR as appropriate. .PP In particular, if you are using SunNet OSI, it will be necessary to put an entry in your \fBsupport/entities.local\fR file of the form: .sp .in +.5i myhost\0default\0\01.17.4.1.0\0\0#1/NS+mynsap .in -.5i .sp where \*(lqmyhost\*(rq is the name of the local machine, and \*(lqmynsap\*(rq is the NSAP of the local machine. For SunNet OSI 7.0 the NSAP is most easily determined by running .sp .in +.5i .nf % /usr/sunlink/osi/etc/osirstat -n | grep ^DA .fi .in -.5i .sp provided that the SunNet OSI osi.routed program is running. For earlier SunLink OSI releases you can run .sp .in +.5i .nf % cd others/osilookup % ./make % xosilookup localhost CLIENT .fi .in -.5i .sp providing that the SunLink OSI file \fB/etc/sunlink/osi/hosts\fR has an entry defining the service for \*(lqlocalhost\*(rq called \*(lqCLIENT\*(rq. (Note that in releases earlier than SunLink OSI 6.0, the file is called \fB/usr/etc/osi.hosts\fR) Note that this entry is mandatory if you are running SunLink OSI release 5.2 or greater. .PP One further note for users of a release earlier then 7.0 of SunLink OSI: if you intend to run the standard SunLink OSI listener (osi.netd), then you must change the TSEL used by \fItsapd\fR when it listens. This is done in two steps: First, in \fBsupport/entities.local\fR, change your entry to read as: .sp .in +.5i myhost\0default\0\01.17.4.1.0\0\0#2/NS+mynsap .in -.5i .sp Second, in \fBsupport/services.local\fR, add a line that reads as: .sp .in +.5i tsap/session\0\0#2\0\0tsapd-bootstrap .in -.5i .sp which overrides the default TSEL in the \fBsupport/services.db\fR file. .SS "MACROS DATABASE" Typically, sites run with the default macros database. In this case, simply copy the default local configuration file to the \fBsupport/\fR directory: .sp .in +.5i .nf % cp macros.local ../support/ .fi .in -.5i .sp If you have local modifications you wish to make, either copy in your own file or edit the file \fBsupport/macros.local\fR as appropriate. .SS "OBJECTS DATABASE" Typically, sites run with the default objects database. In this case, simply copy the default local configuration file to the \fBsupport/\fR directory: .sp .in +.5i .nf % cp objects.local ../support/ .fi .in -.4i .sp If you have local modifications you wish to make, either copy in your own file or edit the file \fBsupport/objects.local\fR as appropriate. .SH GENERATION Go to the \fB\*(VD\fR directory .sp .in +.5i .nf % cd .. .fi .in -.5i .sp Now reset the dates of the configuration files for the system. This is done only once per source-tree: .sp .in +.5i .nf % ./make once-only .fi .in -.5i .sp then generate the basic system. .sp .in +.5i .nf % ./make .fi .in -.5i .sp If you are using SunOS, do not use the \fImake\fR program supplied with the SunPro package. It is not, contrary to any claims, compatible with the standard \fImake\fR facility. Further, note that if you are running a version of SunOS 4.0 prior to release 4.0.3, then you may need to use the \fImake\fR program found in \fB/usr/old/\fR, if the standard \fImake\fR your are using is the SunPro \fImake\fR. In this case, you will need to put the old, standard \fImake\fR in \fB/usr/bin/\fR, and you can keep the SunPro \fImake\fR in \fB/bin/\fR. .PP If you are using SVR3, then you will probably have to type this command before starting the compilation: .sp .in +.5i .nf % ulimit 32768 .fi .in -.5i .sp Similarly, you may need to increase the stacksize limitation on other systems. For example, some users of the RT, report needing to use .sp .in +.5i .nf % limit stacksize 16m .fi .in -.5i .sp in order to get FTAM to fully compile. .PP The \fImake\fR command from the top-level directory will cause a complete generation of the system. If all goes well, proceed with the installation. If not, complain, as there \*(lqshould be no problems\*(rq at this step. Some files while compiling may produce a .sp .in +.5i .nf warning: statement not reached .fi .in -.5i .sp or a .sp .in +.5i .nf type ObjectDescriptor: Warning: Can't find file DSE.ph failed .fi .in -.5i .sp message. This is normal. Sometimes when building a loader library, you might see several .sp .in +.5i .nf ranlib: warning: ../libisode.a(aetdbm.o): no symbol table .fi .in -.5i .sp messages. This is also normal. You might also see a few messages like: .sp .in +.5i .nf *** Error code 1 (ignored) .fi .in -.5i .sp This is also normal. As a rule, unless \fImake\fR says something like .sp .in +.5i .nf *** Error code 1 .fi .in -.5i .sp or perhaps .sp .in +.5i .nf Exit .fi .in -.5i .sp then everything is going just fine! .SH TESTING Some directories may have a resident test program, e.g., in the \fBpsap/\fR directory, there is a program called \fIpsaptest\fR. These programs are for internal testing only, and are not for use by \*(lqmere mortals\*(rq. If you want to test things, after installation run \fIisode\-test\fR (see the \fBUSER PROGRAMS\fR section). .SH INSTALLATION You will need to be the super\-user to install the software. Note that installing the software from an NFS-mounted partition requires that you perform the installation as the super-user on the \fItarget\fR system after changing to the source directory on the \fIsource\fR system. .PP In the directions that follow, reference is made to some of the directories defined in the \fBCONFIG.make\fR file. You should substitute in the correct value, for example, if the expression .sp .in +.5i .nf $(SBINDIR)tsapd .fi .in -.5i .sp and if SBINDIR is defined as \fB/usr/etc/\fR in the \fBCONFIG.make\fR file, then you should type .sp .in +.5i .nf /usr/etc/tsapd .fi .in -.5i .sp instead. .PP There are two kinds of activities: once\-only activities that you perform the first time the software is installed; and each\-time activities that you perform every time the software is installed. .PP The first once\-only activity is to verify that the \fItsapd\fR daemon will be run when the machine goes multi\-user. On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file: .sp .in +.5i .nf if [ \-f $(SBINDIR)tsapd ]; then $(SBINDIR)tsapd & (echo \-n ' tsap') > /dev/console fi .fi .in -.5i .sp On other systems, a similar procedure is followed. For example, on systems derived from AT&T UNIX, the file \fB/etc/rc2\fR script might be edited. .PP Once you are familiar with the system, you will likely want to run the OSI Directory and use another program, \fIiaed\fR to invoke local services. The section \fBDIRECTORY SERVICES\fR discusses this in greater detail. (However, if this is your first time, don't skip ahead.) .PP The next once\-only activity is to verify that systems with a native \fB/etc/services\fR file contain an entry for the tsap service (if you have configured the ISODE to run over TCP). If not, add the line: .sp .in +.5i .nf tsap 102/tcp .fi .in -.5i .sp to the \fB/etc/services\fR file. If your system does not have such a file, the software automatically compensates for this. .PP Next, on Berkeley UNIX systems, add a line to the \fB/usr/lib/crontab\fR file to invoke a shell-script that will re-cycle the log files. Usually, the line you add looks something like this: .sp .in +.5i .nf 0 4 * * * su daemon < $(SBINDIR)isologs .fi .in -.5i .sp which says that the shell-script $(SBINDIR)isologs should be invoked at 4am each morning. On other systems, a similar procedure is fllowed. For example, on systems derived from AT&T UNIX, the file \fB/usr/spool/cron/crontabs/root\fR might be edited followed by the command .sp .in +.5i .nf % crontab root .fi .in -.5i .sp .PP There are two each\-time activities: .sp .in +.5i .nf # ./make inst\-all .fi .in -.5i .sp which does the installation. .PP The second each\-time activity, is that if you are already running the ISODE, then you will need to kill and restart the \fItsapd\fR\0(8c) daemon, otherwise incoming connections will not be initialized correctly. Otherwise, start the daemon now. From the \fICShell\fR, the command might be: .sp .in +.5i .nf # $(SBINDIR)tsapd >& /dev/null .fi .in -.5i .sp The daemon will automatically detach. If you do not redirect the daemon's standard\-error, then it will not detach, instead printing messages as to what actions it is taking. .PP That's about it. This will install everything. To clean-up the source tree as well, then use: .sp .in +.5i .nf % ./make clean .fi .in -.5i .sp at this point. Note that if you are planning on generating or installing FTAM or VT or QUIPU (described below), then you should not clean-up the source tree until after you are finished dealing with these. .PP If your system is configured for TCP/IP, and you are not already running an SNMP agent, then you are \fBURGED\fR to immediately install the SNMP agent distributed with the ISODE. Consult the \fBNETWORK MANAGEMENT\fR section below. .PP Finally, if you are interested in discussing the ISODE with others running the software, drop a note to the Internet mailbox \*(lqISODE\-Request@NIC.DDN.MIL\*(rq, and ask to be added to the \*(lqISODE@NIC.DDN.MIL\*(rq list. .SH TAILORING If you create a file called \fB$(ETCDIR)isotailor\fR, then you can customize the behavior of the programs which use the ISODE when they start. Consult the \fBsupport/isotailor.5\fR file for further information. .SH "USER PROGRAMS" By default, two services are installed. .PP The first service, having programs \fIisoc\fR and \fIisod\fR, is used to test out the installation of the ISODE on your system: .sp .in +.5i .nf % ./make test .fi .in -.5i .sp which runs the \fIisode\-test\fR script. .PP The second service, having programs \fIimisc\fR and \fIros.imisc\fR, is a small demo service supporting things like \fIfinger\fR, \fIwho\fR and so forth. .PP There are additional programs in the \fBothers/\fR directory. These aren't integral parts of the system and assume that the ISODE is already installed. Use at your own discretion. .SH "REGISTERING OSI APPLICATION SERVICES" .PP Earlier releases of the ISODE relied on static tables to keep track of the OSI application services offered on an end-system. This is a problematic exercise in keeping local and remote tables synchronized. In this release of the ISODE, the OSI Directory can be used to manage this information, thereby automating the synchronization process. .SS "Preparation" .PP Once you have installed the ISODE, you must bring up a DSA. The procedures for doing this varies, depending on your location; consult the section "Setting up an Initial DSA" in Volume 5 of the \fIUser's Manual\fR. .PP Once your DSA is running, you should build the DMD for your organization. Underneath the entry for your organization, you should select an area where your end-system's application entities will reside in the DIT. For example, the OSI application services available in PSI's Santa Clara office reside somewhere under: .sp .in +.5i .nf c=US @o=Performance Systems International @ou=Research and Development @ou=Santa Clara .fi .in -.5i .sp Note that this area may very well be different than the value of the \*(lqlocal_DIT\*(rq in your dsaptailor file. In general, all the end-systems at a site will have the same "local_DIT" value, but each of those end-systems offering OSI application services will place those services at a different portion in the DIT (usually somewhere underneath the \*(lqlocal_DIT\*(rq value). .PP By convention, all the OSI application services offered by a given end-system are placed in the same location in the DIT, under an applicationProcess entry with the short name of the end-system, e.g., \*(lqcn=cheetah\*(rq. So, using the example above, the entry .sp .in +.5i .nf c=US @o=Performance Systems International @ou=Research and Development @ou=Santa Clara @cn=cheetah .fi .in -.5i .sp would contain all the entries of interest. .SS "Once-only Installation" .PP The \fIbootsvc\fR script will generate a shell script that will create an applicationProcess entry and then an entry for each of the OSI services provided by the ISODE. So, you must first select the RDN for the applicationProcess entry. .PP Run \fIbootsvc\fR to create a script: .sp .in +.5i .nf % support/bootsvc <<aP-name>> > run.sh .fi .in -.5i .sp e.g., .sp .in +.5i .nf % support/bootsvc cheetah > run.sh .fi .in -.5i .PP Note that the first line of this script is used to define the network address where \fIiaed\fR listens for incoming connections. By default, only the address for the Internet community (RFC1006) is set. If the end-system is configured for other OSI communities, then this line should be changed accordingly, e.g., .sp .in +.5i .nf A="Internet=`hostname`|NS+aabbcc" .fi .in -.5i .PP Next, start \fIdish\fR in the background, bound as the manager, move to the location in the DIT where the services are to be registered and run the script, e.g., .sp .in +.5i .nf % setenv DISHPROC "127.0.0.1 `expr $$ + 32768`" % bind -u <<DN of DSA Manager>> % moveto "ou=Research and Development@ou=Santa Clara" % sh run.sh .fi .in -.5i .sp .PP Following this, you need to arrange for \fIiaed\fR rather than \fItsapd\fR to run when the machine goes multi\-user. On Berkeley UNIX systems, replace these lines to the \fB/etc/rc.local\fR file: .sp .in +.5i .nf if [ \-f $(SBINDIR)tsapd ]; then $(SBINDIR)tsapd & (echo \-n ' tsap') > /dev/console fi .fi .in -.5i .sp with: .sp .in +.5i .nf if [ \-f $(SBINDIR)iaed ]; then $(SBINDIR)iaed -D 'ou=Research and ...@cn=services' & (echo \-n ' iae') > /dev/console fi .fi .in -.5i .sp On other systems, a similar procedure is followed. .PP When \fIiaed\fR starts, it will connect to the Directory, find the services contained therein, and start listening as appropriate. .PP Finally, when the Directory software was installed, this included a program called \fIdased\fR. If you have not already done so, edit the \fB$(ETCDIR)isotailor\fR file to have these two lines: .sp .in +.5i .nf ns_enable: on ns_address: Internet=domain-name+17006 .fi .in -.5i .sp where \*(lqdomain-name\*(rq is the DNS name or IP-address of the machine which is running \fIdased\fR. This can be a different machine than the one running the DSA, but it's probably best to have the local DSA and \fIdased\fR running on the same machine. .PP Next, arrange for \fIdased\fR to be started when the machine goes multi-user. On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file: .sp .in +.5i .nf if [ \-f $(SBINDIR)dased ]; then $(SBINDIR)dased & (echo \-n ' dase') > /dev/console fi .fi .in -.5i .sp On other systems, a similar procedure is followed. .PP When \fIdased\fR starts, it will listen for incoming connections from initiator ISODE programs. (By default, the initiator programs aren't loaded with the user-friendly nameservice and the DAP, owing to the code size--instead, they talk to \fIdased\fR.) .PP For your other systems, edit the \fB$(ETCDIR)isotailor\fR file to have these two lines: .sp .in +.5i .nf ns_enable: on ns_address: Internet=domain-name+17006 .fi .in -.5i .sp where \*(lqdomain-name\*(rq is the DNS name or IP-address of the machine which is running \fIdased\fR. .PP To test the system: .sp .in +.5i .nf % isode-test -iaed .fi .in -.5i .sp If all goes well, users should be able to type things such as .sp .in +.5i .nf % ftam cheetah,sc,psi,us .fi .in -.5i .sp and \*(lqthe right thing\*(rq will happen (i.e., local users can access remote services, even if they have not been entered into the entities database). .SS "Adding New Services" .PP The installation procedures need be performed only once. If you decide to disable a service, simply remove the corresponding entry from the Directory. To add a new service, see the Section \*(lqDefining New Services\*(rq in the \fIUser's Manual\fR. .SH "FTAM/FTP gateway" .PP Because the FTAM/FTP gateway is meant to appear as an FTAM entity, the entry for this service must be placed in a different portion of the DIT than the regular FTAM service. As such, the \fIbootsvc\fR script will not install this service. .PP Hence, if you wish to run such a service, you will have to install it manually. The entry might be something like this: .sp .in +.5i .nf objectClass= top & quipuObject &\ applicationEntity & iSODEApplicationEntity cn= <<whatever you want>> presentationAddress= <<unique transport selector>>/<<end-system's NSAP>> supportedApplicationContext= iso ftam acl= execVector= iso.ftam-ftp .fi .in -.5i .sp Look in your part of the Directory to see some examples of what these entries look like. .SH "FILE TRANSER, ACCESS AND MANAGEMENT" In addition, if you are running the ISODE on a Berkeley or AT&T System V UNIX system, then there is also an implementation of the ISO FTAM. FTAM, which stands for File Transfer, Access and Management, is the OSI file service. The implementation provided is fairly complete in the context of the particular file services it offers. It is a minimal implementation in as much as it offers only four core services: transfer of text files, transfer of binary files, directory listings, and file management. .PP To generate FTAM, go to the \fB\*(VD\fR directory and type: .sp .in +.5i .nf % ./make all-ftam .fi .in -.5i .sp .PP This will cause a complete generation of the FTAM libraries and programs. If all goes well, proceed with the installation. If not, complain as there \*(lqshould be no problems\*(rq at this step. .PP You will need to be the super-user to install FTAM: .sp .in +.5i .nf # ./make install\-ftam .fi .in -.5i .sp That's about it. This will install everything and then clean\-up the source tree. Note that if you are planning on generating or installing the FTAM/FTP gateway (described below), then you should not clean-up the source tree until after you are finished dealing with the gateway. In this case, or if you just want an installation and no clean\-up, then use: .sp .in +.5i .nf # ./make inst\-ftam .fi .in -.5i .sp instead. .SH "FTAM/FTP GATEWAY" In addition, if you are running the ISODE on a Berkeley or AT&T System V UNIX system, there is also an implementation of an FTAM/FTP application gateway. The gateway is actually two programs: one which acts as an ftam responder and an ftp client, and the other which acts as an ftp server and an ftam initiator. Note that the gateway currently resides at a different location than the standard FTAM responder and FTP server. (This may be corrected in a future release.) Read the manual entries for \fIftamd-ftp\fR\0(8c) and \fIftpd-ftam\fR\0(8c) for the details. .PP To generate the FTAM/FTAP gateway, go to the \fB\*(VD\fR directory and type: .sp .in +.5i .nf % ./make all-ftam-ftp .fi .in -.5i .sp .PP This will cause a complete generation of the gateway. If all goes well, proceed with the installation. If not, complain as there \*(lqshould be no problems\*(rq at this step. .PP You will need to be the super-user to install the FTAM/FTP gateway: .sp .in +.5i .nf # ./make install\-ftam-ftp .fi .in -.5i .sp This will install everything and then clean\-up the source tree. If you just want an installation and no clean\-up, then use: .sp .in +.5i .nf # ./make inst\-ftam-ftp .fi .in -.5i .sp instead. .PP Regardless of the command you use, on 4.2BSD-derived systems, add this line to your \fB/etc/servers\fR file: .sp .in +.5i .nf ftp-ftam\0\0tcp\0\0$(SBINDIR)in.ftpd-ftam .fi .in -.5i .sp On 4.3BSD-derived systems, add this line to your \fB/etc/inetd.conf\fR file: .sp .in +.5i .nf ftp-ftam\0\0stream\0\0tcp\0\0nowait\0\0root\0\0$(SBINDIR)in.ftpd-ftam\0\0in.ftpd-ftam .fi .in -.5i .sp .PP Finally, add this line to your \fB/etc/services\fR file: .sp .in +.5i .nf ftp-ftam 531/tcp .fi .in -.5i .SH "VIRTUAL TERMINAL" In addition, if you are running the ISODE on a Berkeley UNIX system, there is also an implementation of the ISO VT. VT is the OSI terminal service. The implementation provided is roughly comparable to an average telnet implementation. .PP To generate the VT system, go to the \fB\*(VD\fR directory and type: .sp .in +.5i .nf % ./make all-vt .fi .in -.5i .sp .PP This will cause a complete generation of the VT initiator and responder programs. If all goes well, proceed with the installation. If not, complain as there \*(lqshould be no problems\*(rq at this step. .PP You will need to be the super-user to install VT: .sp .in +.5i .nf # ./make install\-vt .fi .in -.5i .sp That's about it. This will install everything and then clean\-up the source tree. If you just want an installation and no clean\-up, then use: .sp .in +.5i .nf # ./make inst\-vt .fi .in -.5i .sp instead. .SH "DIRECTORY SERVICES" In addition, if you are running the ISODE on a Berkeley UNIX or AT&T System V UNIX system, there is also an implementation of the OSI Directory, called QUIPU. If you're not interested in running a Directory, skip this text and go to the section entitled \fBGENERATING DOCUMENTATION\fR. .PP Each host using the OSI directory implicitly runs a Directory User Agent (DUA). Additionally, you may wish to run a Directory System Agent (DSA) on some hosts. As such, the instructions which follow indicate which activities are necessary in both instances, as appropriate. .SS "QUIPU GENERATION" To generate QUIPU, go to the \fB\*(VD\fR directory and type: .sp .in +.5i .nf % ./make all-quipu .fi .in -.5i .sp .PP This will cause a complete generation of the DSAP library and the DSA. If all goes well, proceed with the installation. If not, complain as there \*(lqshould be no problems\*(rq at this step. .SS "QUIPU INSTALLATION" You will need to be the super-user to install QUIPU: .sp .in +.5i .nf # ./make install\-quipu .fi .in -.5i .sp This will install everything and then clean\-up the source tree. If you just want an installation and no clean\-up, then use: .sp .in +.5i .nf # ./make inst\-quipu .fi .in -.5i .sp instead. After either command, there is one once-only activity. .PP The QUIPU DSA is a \*(lqstatic responder\*(rq. This means that it accepts new associations and managing old ones as necessary. Hence, if you intend to run a local DSA, it is necessary to start the \fIros.quipu\fR daemon when the machine goes multi-user. On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file: .sp .in +.5i .nf if [ \-f $(SBINDIR)ros.quipu ]; then (cd /usr/etc/quipu-db; $(SBINDIR)ros.quipu) & (echo \-n ' quipu') > /dev/console fi .fi .in -.5i .sp (This assumes your database is in the directory \fB/usr/etc/quipu-db\fR - it need not be) On other systems, a similar procedure is followed. .SS "QUIPU DATABASE" If you intend to run a local DSA, then you will need to build a Directory database. (If you are already running QUIPU 5.0 or later, then you've done this before and so you can skip to the next section on \fBQUIPU TAILORING\fR.) The database directory, by default, lives in the ETCDIR area (usually \fB/usr/etc/\fR) under the name of \fBquipu-db/\fR. Three prototype databases can be found in the directory \fBothers/quipu/quipu-db/\fR. These database files should be protected as they contain Directory passwords and other sensitive information. The DSA needs to be able to read this information, and so performs a setuid on execution to the UID of the owner of the database directory. .PP Now customize the chosen prototype database under \fB/usr/etc/quipu-db/\fR. The details of this database are explained in Volume 5 of the users manual. However you should be able to derive a minimal database by following the example structure defined for University College London in the GB branch of the Directory tree. Then delete the example structure for O=University College London. .SS "QUIPU TAILORING" If you choose to run a local DSA, now configure it. The DSA tailors itself at runtime by reading the file \fB$(ETCDIR)quiputailor\fR. A prototype of this file will be installed during the normal ISODE installation process. Only one entry in the file usually needs to be changed: .sp .in +.5i .nf mydsaname CN=toucan .fi .in -.5i .sp Substitute the name of the DSA as it occurs in the Directory for \*(lqCN=toucan\*(rq. See \fIquiputailor\fR\0(5) for a description of the full range of tailoring options in the \fB$(ETCDIR)quiputailor\fR file. .PP Now configure the various DUA programs. These tailor themselves at runtime by reading the file \fB$(ETCDIR)dsaptailor\fR. A prototype of this file will be installed during the normal ISODE installation process. Only one entry in the file usually needs to be changed: .sp .in +.5i .nf dsa_address toucan localHost=17003 .fi .in -.5i .sp Substitute the name of your \*(lqprimary\*(rq DSA for \*(lqtoucan\*(rq and its corresponding presentation address for the \*(lq'0101'H/Internet+...\*(rq string. This information can be found in the Directory on the host which is running the DSA. .PP Do not confuse the \fIdsa_address\fR used in this file with the \fIns_address\fR used in the \fB$(ETCDIR)isotailor\fR file. These are separate services and must live at different addresses. See \fIquiputailor\fR\0(5) for a description of the full range of tailoring options in the \fB$(ETCDIR)dsaptailor\fR file. .SS "QUIPU ONCE-ONLY" Having tailored QUIPU, you can now start the DSA. However, if you are already running QUIPU, then you will need to kill and restart the QUIPU DSA. .PP Start the DSA now. From the \fICShell\fR, the command might be: .sp .in +.5i .nf # $(SBINDIR)ros.quipu >& /dev/null .fi .in -.5i .sp The daemon will automatically detach. If you do not redirect the daemon's standard\-error, then it will not detach, instead printing messages as to what actions it is taking. .SH "NETWORK MANAGEMENT" In addition, if you are running the ISODE on a Berkeley UNIX system, there is also an implementation of the SNMP. Although this is not the OSI network management service, Inasmuch as the continued survival of the Internet hinges on all nodes becoming network manageable, this package was developed using the ISODE and is being freely distributed with releases of Berkeley UNIX. .PP It must be stressed that this package is not a complete network management system. In particular, whilst \fIsnmpd\fR provides a minimal agent functionality, there are no Network Operation Center (NOC) tools--\fIsnmpi\fR is a debugging aid only. .PP To generate the SNMP system, go to the \fB\*(VD\fR directory and type: .sp .in +.5i .nf % ./make all-snmp .fi .in -.5i .sp .PP This will cause a complete generation of the SNMP agent and the minimal SNMP initiator program. If all goes well, proceed with the installation. If not, complain as there \*(lqshould be no problems\*(rq at this step. .PP There are two once\-only activities which must be performed prior to installation. First, check your \fB/etc/services\fR file, and verify that these three lines are present: .sp .in +.5i .nf snmp 161/udp snmp-trap 162/udp smux 199/tcp .fi .in -.5i .sp If not, add them. .PP Second, add these lines to the \fB/etc/rc.local\fR file: .sp .in +.5i .nf if [ \-f $(SBINDIR)snmpd ]; then $(SBINDIR)snmpd & (echo \-n ' snmp') > /dev/console fi if [ \-f $(SBINDIR)smux.unixd \-a \-f $(SBINDIR)snmpd ]; then $(SBINDIR)smux.unixd & (echo \-n ' smux-unix') > /dev/console fi .fi .in -.5i .sp .PP You will need to be the super-user to install SNMP: .sp .in +.5i .nf # ./make install\-snmp .fi .in -.5i .sp This will install everything and then clean\-up the source tree. If you just want an installation and no clean\-up, then use: .sp .in +.5i .nf # ./make inst\-snmp .fi .in -.5i .sp instead. .PP Regardless of the command you use, read the comments in the \fB$(ETCDIR)snmpd.rc\fR file which will tell you how to tailor the agent for your installation. .PP Finally, if you are already running the SNMP, then you will need to kill and restart the \fIsnmpd\fR\0(8c) and SMUX UNIX daemons. (It is best to kill \fIsmux.unixd\fR first, and then \fIsnmpd\fR.) Otherwise, start the daemons now. From the \fICShell\fR, the command might be: .sp .in +.5i .nf # $(SBINDIR)snmpd >& /dev/null # $(SBINDIR)smux.unixd >& /dev/null .fi .in -.5i .sp The daemon will automatically detach. If you do not redirect the daemon's standard\-error, then it will not detach, instead printing messages as to what actions it is taking. .SH "LIGHTWEIGHT PRESENTATION PROTOCOL" In addition, if you are running the ISODE on a Berkeley UNIX system, there is also an implementation of RFC1085, the lightweight presentation protocol for TCP/IP-based internets. .PP To generate the LPP system, go to the \fB\*(VD\fR directory and type: .sp .in +.5i .nf % ./make all\-lpp .fi .in -.5i .sp .PP This will cause a complete generation of the LPP library and support programs. If all goes well, proceed with the installation. If not, complain as there \*(lqshould be no problems\*(rq at this step. .PP You will need to be the super-user to install the LPP system. There are two kinds of activities: once\-only activities that you perform the first time the software is installed; and each\-time activities that you perform every time the software is installed. .PP The first once\-only activity is to verify that the \fIlppd\fR daemon will be run when the machine goes multi\-user. On Berkeley UNIX systems, add these lines to the \fB/etc/rc.local\fR file: .sp .in +.5i .nf if [ \-f $(SBINDIR)lppd ]; then $(SBINDIR)lppd & (echo \-n ' lpp') > /dev/console fi .fi .in -.5i .sp On other systems, a similar procedure is followed. .PP The next once\-only activity is to verify that systems with a native \fB/etc/services\fR file contain an entry for the miscellany service. This is used when the ISODE miscellaneous services is run using the LPP. If not, add the line: .sp .in +.5i .nf miscellany 17002/lpp .fi .in -.5i .sp to the \fB/etc/services\fR file. If your system does not have such a file, the software automatically compensates for this. .PP There are two each\-time activities: .sp .in +.5i .nf # ./make install\-lpp .fi .in -.5i .sp This will install everything and then clean\-up the source tree. If you just want an installation and no clean\-up, then use: .sp .in +.5i .nf # ./make inst\-lpp .fi .in -.5i .sp instead. .PP Regardless of the command you use, the second each\-time activity, is that if you are already running the LPP system, then you will need to kill and restart the \fIlppd\fR\0(8c) daemon, otherwise incoming connections will not be initialized correctly. Otherwise, start the daemon now. From the \fICShell\fR, the command might be: .sp .in +.5i .nf # $(SBINDIR)lppd >& /dev/null .fi .in -.5i .sp The daemon will automatically detach. If you do not redirect the daemon's standard\-error, then it will not detach, instead printing messages as to what actions it is taking. .PP That's about it. .SH "GENERATING DOCUMENTATION" The directory \fBdoc/\fR contains the documentation set for this release. Consult the file \fBdoc/READ\-ME\fR for a description of each document. The directory \fBdoc/ps/\fR contains PostScript versions of each document. Usually it is easier to print the files in this directory than generate the documentation from scratch as the sources to these documents are in either LaTeX (for papers) or SLiTeX (for presentations). .PP If you received this distribution from the network, then the directory \fBdoc/ps/\fR does not contain any PostScript files. There should be a separate compressed \fItar\fR file, containing only PostScript files, available on the machine where you retrieved this distribution. .SH FILES Too numerous to mention. Honest. .SH "SEE ALSO" \fIThe ISO Development Environment: User's Manual\fR .SH AUTHOR Marshall T. Rose .br with assistance from a cast of thousands (read the \fBPreface\fR in the \fIUser's Manual\fR)