Next: References Up: CSPACK Previous: CSPACK - User

CSPACK - Installation and Management Guide

Availability of CSPACK at CERN

The CSPACK PAM file is available on all central CERN systems in the normal place, e.g. on the CERNPAMS disk on CERNVM, in /cern/pro/pam on Unix systems and in CERN:<PRO.PAM> on VAX/VMS.

The CSPACK FORTRAN callable interface routines are installed in PACKLIB on all systems which have PACKLIB corresponding to CERN Computer News Letter 200 or above. The tools (ZFTP, ZSERV, PAWSERV, SYSREQ, TELNETG) are installed on all central systems with the following exceptions:



 -- -3 Suppress all log messages

 -- -2 Error messages
 -- -1 Terse logging
 -- 0 Normal

 -- 1 Log calls to XZ routines
 -- 2 Log to monitor XZ internals
 -- 3 Debug messages

Installing and using the CSPACK package

All of the routines and programs that compose CSPACK are installed used the standard CERNLIB installation tools. The general procedure is:



 1  TELNETG is available on Unix and VAX/VMS systems only

 2  SYSREQ requires Wollongong or Multinet TCP/IP (VAX/VMS systems). Note
    that SYSREQ is currently only used (in the context of CSPACK) for
    remote access to the CERN TMS system. On VM/CMS systems, IUCREQ
    (SRQSRV) should be used.

More information on the CERNLIB installation procedures can be found on the INSTALL PAM in the deck UGUIDE for the relevant machine. For example, on Unix systems, the deck is in PATCH=DUNIX,D=UGUIDE, for VAX systems, the deck is in PATCH=DVAX,D=UGUIDE etc.

The link procedure for the generation of user-developed client-server programs should be based on that of ZFTP and ZSERV for the relevant machines. In all cases, the CERNLIB installation procedure should be followed.

Configuration for use with TCPAW

To use the CSPACK tools with TCPAW as the network layer, files on both the client and server side must be correctly configured. Firstly, the TCP port numbers and associated services must be defined. Secondly, in the case that incoming connections are allowed (and possible), the programs to be run for each known service must be defined. The following table lists the current values and names used at CERN. Note that these definitions must be made on both client and server and must match. On Unix these definitions are made by adding a line to the file /etc/services as follows:

pawserv  345/tcp   # Comment string, e.g. 'For distributed PAW'
For VAX/VMS and other systems, see the relevant system specific details.



 1  Generate PACKLIB (e.g. MAKEPACK -l PACKLIB)

 2  Generate the tools (e.g. MAKEPACK ZFTP, MAKEPACK ZSERV etc.)
 3  Configure the system files

These ports have been registered with the Internet Assigned Number Authority at ISI.

To permit incoming connections, a definition in the relevant services file must be made. This is typically in /etc/inetd.conf for Unix systems, although in the case of the Silicon Graphics the file is in /usr/etc/inetd.conf. The information to be added to this file consists of one line per service, specifying the service name and program to be run, e.g.

zserv stream tcp nowait root /cern/pro/bin/zserv zserv

Unix specific details

After modifying the /etc/inetd.conf file, the inetd must be told to re-read the file. This can be done by rebooting the system, or by sending a hangup signal.




          Table 13.1: Service names and TCP ports used by CSPACK

---------------------------------------------------------
  Service    TCP port    Description
---------------------------------------------------------
  pawserv    345         Distributed PAW

  zserv      346         Server for ZFTP, remote Zebra
  fatserv    347         Server for FATMEN
---------------------------------------------------------

AIX

On systems running AIX, it is recommended that the following line be added to the file /etc/environment. This sets the shell variable xrf_messages to no and thus prevents FORTRAN run-time messages being printed.

xrf_messages=no

These messages disturb the protocol used between the ZSERV or PAWSERV servers and the ZFTP or PAW clients.

VAX/VMS specific details

On VAX/VMS systems, three versions of TCP/IP are currently supported. The CERNLIB installation procedure automatically performs the correct link procedure but the configuration of the system files must be performed manually.

The VAX/VMS version of ZFTP and ZSERV also support connections via DECnet from other VAX/VMS systems. This is activated by the -d option, e.g.

$ZFTP VXCRNA -D

DECnet

No configuration is required for ZFTP. However, ZSERV must be defined as a known DECnet object, e.g.

MCR NCP
NCP>SET OBJECT ZSERV NUMBER 0 FILE CERN:[PRO.EXE]ZSERV
NCP>DEF OBJECT ZSERV NUMBER 0 FILE CERN:[PRO.EXE]ZSERV
NCP>EXIT

The ZSERV program automatically detects whether the incoming request is via DECnet or TCP/IP and acts accordingly.

DEC UCX version 3.0

To define the service PAWSERV for UCX version 3.0, issue the following command:

Defining PAWSERV for UCX 3.0

$ UCX SET SERVICE PAWSERV /PORT=345 
                              /FILE=CERN:[PRO.EXE]UCX$PAWSERV\_STARTUP
                              /PROCESS\_NAME=PAWSERV
                              /USER=SYSTEM

    $ UCX ENABLE SERVICE PAWSERV

    The default protocol is /PROTOCOL=TCP.

The command procedure UCX$PAWSERV_STARTUPlooks like:

UCX$PAWSERV_STARTUPcommand file

$ RUN CERN:[PRO.EXE]PAWSERV

DEC UCX prior to version 3.0

Versions of the DEC UCX product prior to 3.0 do not provide an Internet Daemon (inetd), hence incoming connections are not possible. Thus there is no equivalent to the /etc/inetd.conf file.

Furthermore, the library routine GETSERVBYNAME returns -1, indicating 'function not implemented'. Until this function is included in the UCX library, the routine GETSERVBYNAME from PATCH TCPAW in the CSPACK pam file may be used. This code is activated by selecting +USE,UCX in the PATCHY step of the installation procedure. An example configuration file for use with this routine is available in P=CONFIG,D=SERVICES.

Wollongong

In the case of Wollong the equivalent of /etc/services is TWG$TCP:<NETDIST.ETC>SERVICES. The file format is the same for Unix systems, thus an entry such as

zserv 346/tcp
should be made.

The equivalent to the /etc/inetd.conf is the file TWG$TCP:<NETDIST.ETC>SERVERS.DAT. An example entry is shown below.

service-name    Pawserv
program         CERN:<PRO.EXE>PAWSERV.EXE
socket-type	SOCK_STREAM
socket-options	SO_ACCEPTCONN | SO_KEEPALIVE
socket-address  AF_INET , 345
working-set     300
INIT		TCP_Init
LISTEN		TCP_Listen
CONNECTED	TCP_Connected
SERVICE         Run_Program

Multinet

On systems running MULTINET TCP/IP, the equivalent file to /etc/services is (somewhat confusingly) MULTINET:HOSTS.LOCAL. Entries should be added to this file in the format

SERVICE : TCP : 345 : PAWSERV :
After making changes to this file, it should be compiled using the command
MULTINET HOST_TABLE COMPILE
To activate these changes without restarting the system, type
@MULTINET:INSTALL_DATABASES
@MULTINET:START_SERVER

To define servers to Multinet, use the command

MULTINET CONFIGURE /SERVERS
An example dialogue is given below:
SERVER-CONFIG>add zserv
Protocol: [TCP] tcp
TCP Port number: 346
Program to run: CERN:[PRO.EXE]ZSERV.EXE
SERVER-CONFIG>RESTART

More details on configuration MULTINET may be found in the Multinet System Administrator's Guide, including how to restrict access to certain services etc.

VM/CMS specific details

On VM/CMS systems, two versions of TCPAW exist. The recommended version is the same as used on other systems, but requires the IBM SAA C compiler and IBM's TCP/IP version 2 or higher. When using this version, which is activated by selecting the PATCHY flag TCPSOCK (performed by default in the CERN Program Library installation cradles), the file ETC SERVICES, which resides on the TCP/IP installation disk, must be modified to include definitions of the required services (ZSERV, PAWSERV) as for Unix systems.

If TCPSOCK is de-selected, e.g. +USE,TCPSOCK,T=INHIBIT, then the older PASCAL version of TCPAW is activated. This version has the definitions of zserv and pawserv hard-coded (to ports 346 and 345 respectively).

There are some limitations with the PASCAL version, the most significant of which is the fact that connections between two VM systems is not currently possible.

Other limitations that currently exist for VM/CMS systems include:




     Table 13.2: Signalling inetd to reread the /etc/inetd.conf file

-----------------------------------------------
  System       Command
-----------------------------------------------
  AIX          refresh -s inetd

  HP/UX        inetd -l
  Alpha/OSF    /sbin/init.d/inetd stop|start

  Others       kill -1 pid
-----------------------------------------------

CSPACK overview



 1  Servers are started using a different technique to other systems. It

    is for this reason that the remote system must know that it is talking
    to a VM system. Use the option -V on the open command, e.g. ZFTP
    vmnode -V in such cases.
 2  Due to limitations of VM/CMS, the username specified when starting a
    server on VM systems must not be currently in use ('logged on').




                          Table 14.1: ZFTP commands
+--------------+-------------------------+-----------------------------------+
|              |                         |                                   |
+-Command------+-Function----------------+-Description-----------------------+
| OPEN         | Open connection         | Establish connection to           |
|              |                         | specified host                    |
|              |                         |                                   |
| CLOSE        | Close connection        | Close connection with current     |
|              |                         | host                              |
|              |                         |                                   |
| GETA/PUTA    | Text file transfer      | Text file transfer, e.g.          |
|              |                         | scripts, EXECs, CARD pams etc.    |
|              |                         |                                   |
| GETB/PUTB    | Binary file transfer    | Binary file transfer (fixed       |
|              |                         | length records only) e.g. ZEBRA   |
|              |                         | FZ binary exchange format, EPIO,  |
|              |                         | CETA files                        |
|              |                         |                                   |
| GETD/PUTD    | Direct-access file      | Direct-access file transfer e.g.  |
|              | transfer                | ZEBRA RZ file between like        |
|              |                         | machines.                         |
|              |                         |                                   |
| GETRZ/PUTRZ  | ZEBRA RZ file transfer  | RZ file transfer with automatic   |
|              |                         | conversion between different      |
|              |                         | data representations, e.g. HBOOK  |
|              |                         |                                   |
|              |                         | histogram or ntuple files, CMZ    |
|              |                         | files.                            |
| GETFZ/PUTFZ  | ZEBRA FZ file transfer  | FZ file transfer with automatic   |
|              |                         |                                   |
|              |                         | conversion between different      |
|              |                         | data representations (currently   |
|              |                         | in preparation)                   |
|              |                         |                                   |
| GETP/PUTP    | Compact binary PAM      | Transfer a compact binary PAM     |
|              | transfer                | file (not yet to Cray)            |
|              |                         |                                   |
| CD           | Change working          | Set working directory on remote   |
|              | directory               | node                              |
| LCD          | Change working          | Set working directory on local    |
|              |                         |                                   |
|              | directory               | node                              |
| LS           | Remote LS command       | Make remote directory listing     |
|              |                         |                                   |
| LLS          | Local LS command        | Make local directory listing      |
|              |                         |                                   |
| MPUT         | Put multiple files      | Send all files matching the       |
|              |                         | specified pattern to the remote   |
|              |                         | machine. The mode of transfer is  |
|              |                         | determined by the file type:      |
|              |                         | .CET, .CETA = PUTB, .CMZ =        |
|              |                         | PUTRZ, other = PUTA               |
+--------------+-------------------------+-----------------------------------+

appendix



Next: References Up: CSPACK Previous: CSPACK - User


goossens@cern.ch