\documentstyle[a4,12pt]{article} \begin{document} \author{APM Manual pages} \title{Communications within CS} \maketitle \parskip .1 in \setcounter{secnumdepth}{10} \parindent 0in \section{Preamble} Communications within the CS department \hspace{ 0.3 in} 10/11/87 v 1.6 This HELP section covers all aspects of communications, file transfer and access to remote printers etc. within the CS department (not just the APMs). You can obtain a hard copy by PRINTing VIEW:FTNOTE \section{Overview} These tables give an overview of what file transfers are possible and brief details of the commands involved. These are described in later sections of this note. \subsection{File transfer - initiated by SENDER} These commands are invoked on the "Snd" (sender) machine to write a file to the "Rec" (recipient) machine. \small\tt \begin{verbatim}Snd\Rec> ECSVAX MALTS APM/FS Unix/* tardis EMAS Micros ITSPNA v------------------------------------------------------------------------------ ECSVAX | Copy tofs - - ftp Kermit/3 ftp MALTS | cp uucp? uucp? APM/FS | eftp eftp - - - Kermit - Unix/* | - uucp? - cp - - - rcp/9 tardis | - - - rcp cp - kermit rcp EMAS | Transfer - - Transfer Transfer Kermit Transfer Micros | Kermit/3 - - - Kermit Kermit/3 Various Kermit ITSPNA | hhcp uucp? tofs/11 rcp/9 rcp hhcp Kermit cp \end{verbatim}\rm \normalsize "/n" refers to Overview note n. ECSVAX and ECUVAX are generally equivalent. \subsection{File transfer - initiated by RECIPIENT} These commands are invoked from the "Rec" (recipient) machine to read a file in from the "Snd" (sender) machine \small\tt \begin{verbatim}Snd\Rec> ECSVAX MALTS APM/FS Unix/* tardis EMAS Micros ITSPNA v---------------------------------------------------------------------------- ECSVAX | Copy eftp tftp tftp Transfer Kermit/3 hhcp/1 MALTS | cp uucp? uucp? APM/FS | fromfs fromfs eftp - - - - fromfs/11 Unix/* | unixget/8 uucp? - (r)cp rcp - - rcp/9 tardis | unixget/8 - - - cp transfer ? rcp EMAS | ftp - - - - transfer Kermit/3 hhcp Micros | Kermit/3 - - - kermit Kermit/3 Various Kermit ITSPNA | ftp/2 uucp? - rcp/9 rcp transfer Kermit cp \end{verbatim}\rm \normalsize "/n" refers to Overview note n \subsection{Notes} \small\tt \begin{verbatim}/* Unix hosts include Cheops, Suns and Orion. The other Unix systems (ITSPNA, GEC 63s) are special cases for one reaon or another. /1 Tftp is an alternative to hhcp /2 Unixget is an alternative to ftp. See /8 /3 Xtalk is an alternative to Kermit. See HELP KERMIT. /8 RUN ECS_SYS:UNIXGET /9 Don't forget to set up a .rhosts file on each participating machine. This should contain one line per host giving host name and your id. /10 On ITSPNA tofs, fromfs are ~gdmr/fs/tofs and ~gdmr/fs/fromfs respectively. /11 Use tofs/fromfs to send to filestore 'B', toC/fromC to send to 'C' \end{verbatim}\rm \normalsize \section{File transfer utilities talking to APM Filestores} This note describes how to communicate with the Computer Science Department's Filestores B and C from itspna, and from ECSVAX to all filestores. \subsection{General notes on UNIX file transfer commands} Transfers take place over a serial link (RS232 @ 4800 baud), so don't expect miracles of speed. The serial line is not shareable, and the utilities run setuid and employ advisory locks to enforce this. This is the source of the (somewhat unhelpful) error message "operation would block", which means that someone else is using the line and you'll have to back off and retry later. Shell metacharacters, including wildcards, are interpreted/expanded (by the shell) in the usual way. \subsection{To and from ITSPNA} These utilities are in the directory in ~gdmr/fs -- you can either quote the whole path or include the directory in your search list. Note that UNIX command names are case-sensitive, and that the 'C' in "toC" is an UPPER-case C. Note that files can be sent to the M.Sc room, Block O/P and Machine Halls printers using the standard lpr utility. The queues are csmsc, csop and csmh respectively. \subsubsection{UNIX to Filestore (tofs/toC)} To transfer files from the UNIX host to filestore B or C use the command: \hspace*{ 0.5 in} tofs [-u filestore-user] [-p password] file file file ..... \hspace{ 0.2 in} (FS 'B') \\ \hspace*{ 0.2 in} or toC [-u filestore-user] [-p password] file file file ..... \hspace{ 0.2 in} (FS 'C') The parts in "[..]" are optional. If -u is specified the next item in the argument list will be used as the filestore username; otherwise the filestore username will be taken to be the same as the UNIX username. If -p is specified the next item in the argument list will be used as the filestore password; otherwise the user will be prompted. Note that these arguments must be specified before any of the filenames, and apply for all the files to be transferred. In other words, you can't, in the same invocation of the tofs/toC command, transfer files to several different filestore directories. One or more files can be transferred using this command. The filenames at the UNIX and filestore ends are the same. They must, of course, be valid filestore names (12 or fewer of alphabetic, numeric, '\$', '.', '\_'). hence they are likely to be valid itspna names too. Case is not preserved by filestores B and C. \subsubsection{Filestore to UNIX (fromfs/fromC)} To transfer files from filestore B or C to the UNIX host, use the command: \hspace*{ 0.5 in} fromfs [-u filestore-user] [-p password] file \hspace{ 0.6 in} FS 'B' \\ \hspace*{ 0.2 in} or fromC [-u filestore-user] [-p password] file \hspace{ 0.6 in} FS 'C' with the parts in "[..]" being as for tofs/toC. One file can be transferred per invocation of the utility. Filename case is ignored by the filestore, with the case of the itspna filename being as specified in the command line. \subsection{To and from ECSVAX (Initiated on ECSVAX)} \subsubsection{ECSVAX to Filestore (TOFS)} This command sends files to the Filestore over the ethernet. The user can select which filestore is to be used, and the user number on the filestore where the file is to be put. The file inherits the same name as it had to VAX. Format: \hspace{ 0.3 in} TOFS filespec[,filespec[,...]] Parameters are a list of one or more filenames, separated by commas (',') or plus signs ('+'). Wildcards are accepted. Qualifiers may be applied to the command verb in which case they apply to all the files, or to an individual filespec in which case they apply only to that filespec overriding any global qualifiers e.g. /FS. \subsubsection{/FS} /FS = filestore \hspace*{ 0.2 in} /FS=A \\ \hspace*{ 0.2 in} /FS=B \hspace{ 0.3 in} (default) \\ \hspace*{ 0.2 in} /FS=C \\ \hspace*{ 0.2 in} /FS=P \hspace*{ 0.2 in} This is used to select which filestore is to be used. \subsubsection{/USER} /USER = username \hspace*{ 0.2 in} /USER=JGH \hspace*{ 0.2 in} This parameter chooses the filestore directory which is to receive the file. If it is omitted, then it defaults to the same directory as the VAX username. \hspace{ 0.2 in} The TOFS program always prompts for the associated password, which is not echoed. \subsubsection{Filestore to ECSVAX (FROMFS)} This command fetches files from the Filestore over the ethernet. The user can select which filestore is to be used, and the user number (directory) on the filestore where the file is to be fetched from. Format: \hspace{ 0.3 in} FROMFS filespec The parameter is the name of the file on VAX which is to be created. Qualifiers may be applied to the command verb to control the operation of the FROMFS program. \subsubsection{/FS} /FS = filestore \hspace*{ 0.2 in} /FS=A \\ \hspace*{ 0.2 in} /FS=B \hspace{ 0.3 in} (default) \\ \hspace*{ 0.2 in} /FS=C \\ \hspace*{ 0.2 in} /FS=P \hspace*{ 0.2 in} This is used to select which filestore is to be used. \subsubsection{/USER} /USER = username \hspace*{ 0.2 in} /USER=JGH \hspace*{ 0.2 in} This parameter chooses the filestore directory where the file is to be fetched from. \hspace{ 0.2 in} If it is omitted, then it defaults to the same directory as the VAX username. \hspace{ 0.2 in} The FROMFS program always prompts for the associated password, which is not echoed. \subsubsection{/FILE} /FILE = fsname \hspace*{ 0.2 in} /FILE=\$TEMP \hspace*{ 0.2 in} This parameter allows the user to fetch files which have a different name on the filestore from the name that they are required to have on the VAX. This parameter chooses the filestore filename to be used. \subsection{EFTP: To and from ECSVAX (Initiated on APMs) and between APM filestores} The EFTP program is used for inter-filestore transfer of files residing on the various filestores, including the departmental Vax, connected to the Ethernet. \subsubsection{Additional information} All commands may be abbreviated. Where a command takes several parameters, these are separated by spaces. File names conform to the following rules: If a name begins with `::`, then the part immediately following, up to but excluding the next `:`, which is discarded, denotes the NODE, i.e. the file server on which the file resides. The following node names are accepted (and may be abbreviated). Node names not found in the list are interpreted (in hex) directly as ethernet addresses. \hspace*{ 0.2 in} VAX \hspace{ 0.5 in} ECSVAX \hspace{ 2.7 in} (72) \\ \hspace*{ 0.2 in} ALPHA \hspace{ 0.3 in} 160-megabyte new-style filestore \hspace{ 0.9 in} (14) \\ \hspace*{ 0.2 in} BRAVO \hspace{ 0.3 in} 320-megabyte (mainly) staff filestore \hspace{ 0.6 in} (15) \\ \hspace*{ 0.2 in} CHARLIE \hspace{ 0.2 in} 320-megabyte (mainly) undergraduate filestore (1B) \\ \hspace*{ 0.2 in} DEMO \hspace{ 0.4 in} 30 -megabyte demo and project filestore \hspace{ 0.5 in} (35) \\ \hspace*{ 0.2 in} MET \hspace{ 0.5 in} 160-megabyte Meteorology filestore \hspace{ 0.8 in} (44) The remainder of the filename is subject to system-dependent interpretation. It may or may not contain a (directory) pathname part. Wildcards are allowed in filenames, but not in pathnames or nodenames. \hspace*{ 0.2 in} Examples: \hspace*{ 0.2 in} ::vax:dra1:[bloggs.project]test.pas \\ \hspace*{ 0.2 in} (Node=vax, directory=dra1:[bloggs.project], file=test.pas) \\ \hspace*{ 0.2 in} ::1B:fmacs:frame \\ \hspace*{ 0.2 in} \{Node=1B, directory=fmacs, file=frame) \subsubsection{EFTP: \hspace{ 0.5 in} LOGIN} The Login command takes a single parameter, namely the username, which will usually be prefixed by a nodename. The password, if not supplied as an optional second parameter, is requested separately on the next line. It is only necessary to log in where public authority is insufficient to access the files you want. \hspace*{ 0.2 in} Examples: \hspace*{ 0.2 in} Login ::vax:cs4test \\ \hspace*{ 0.2 in} Login ::1B:pub lic \subsubsection{EFTP: \hspace{ 0.5 in} TRANSFER} The Transfer command takes two parameters, being the source and destination filenames. If a filename contains a node prefix but omits the directory part, the default directory will be determined by the file server on the basis of the username, if any, under which you have previously logged on, if at all, to that server. If the filename part is omitted in the destination, the same name as in the source is assumed. If the name part is omitted in the source, `*` is assumed. \hspace*{ 0.2 in} Examples: \hspace*{ 0.2 in} Transfer ::vax:opsys.asm ::m \\ \hspace*{ 0.2 in} Transfer ::c:guest:xyz* ::vax:[xyz.test]* \subsubsection{EFTP: \hspace{ 0.5 in} COMPARE} The Compare command takes two parameters, being the names of two files to be compared. Default rules are as for Transfer. No details of differences are reported. Use this only to yield yes/no results. \subsubsection{EFTP: \hspace{ 0.5 in} BACKUP} The Backup command is like the Transfer command (qv), but takes an additional parameter, which is a date (form: DD/MM/YY HH.MM). It transfers only those source files younger than the specified date to the destination. Wildcards are mandatory. \subsubsection{EFTP: \hspace{ 0.5 in} EXIT} The Exit command terminates the EFTP session, after logging you off and disconnecting you from all machines involved during the session, except the machine to which you were connected and logged on before running EFTP. \subsubsection{EFTP: \hspace{ 0.5 in} FILES} The Files command takes a wildcard file name parameter, and prints a list of all file names which match the parameter. \subsubsection{EFTP: \hspace{ 0.5 in} SOURCE, DESTINATION} The Source and Destination commands each take one parameter, which is used to fill in defaults for the Node, Directory, and File fields of filenames typed to all the other commands. \section{Unix file transfer utilities} These sections have been taken directly from Unix "man" sections on ITSPNA and Cheops and there may be slight differences between machines. Consult "man" on the appropriate machine for definitive information. \subsection{Unix command rcp - Remote File Copy (BSD)} \small\tt \begin{verbatim}SYNTAX rcp file1 file2 rcp [-r] file ... directory file or directory is either a remote file name of the form "rhost:path", or a local file name (containing no : characters, or a / before any :s). If path is not a full pathname, it is interpreted relative to the login directory on rhost. A path on a remote host may be quoted (using \, ", or ') so the metacharacters are interpreted remotely. OPTIONS -r copies each subtree (when any of the source files is a directory) rooted at that name; in this case the destination must be a directory. \end{verbatim}\rm \normalsize DESCRIPTION \hspace*{ 0.2 in} Rcp copies files between machines. \hspace*{ 0.2 in} Rcp does not prompt for passwords; the current local user name \\ \hspace*{ 0.2 in} must exist on rhost and allow remote command execution via \\ \hspace*{ 0.2 in} rsh(1C). \hspace*{ 0.2 in} Rcp handles third party copies, where neither source nor \\ \hspace*{ 0.2 in} target files are on the current machine, though the source and \\ \hspace*{ 0.2 in} target machines must be on the same network. \hspace{ 0.2 in} Hostnames may \\ \hspace*{ 0.2 in} also take the form "rhost.rname" to use rname rather than the \\ \hspace*{ 0.2 in} current user name on the remote host. EXAMPLES \hspace*{ 0.2 in} If user1 (the user on the local system) needs to copy a file \\ \hspace*{ 0.2 in} from sys2 (the remote system) and he has a login on sys2, then \\ \hspace*{ 0.2 in} he does the following: \\ \hspace*{ 0.5 in} \$ rcp sys2:path/filename1 sys1:path/filename2 \hspace*{ 0.2 in} If user1 (the user on the local system) needs to copy a file \\ \hspace*{ 0.2 in} from sys2 (the remote system) and he is listed in a .rhost \\ \hspace*{ 0.2 in} file on sys2, (i.e., sys1 user1, (sys1 is the local system)), \\ \hspace*{ 0.2 in} then he must do the following: \\ \hspace*{ 0.5 in} \$ rcp sys2.user2:path/filename1 sys1:path/filename2 \hspace*{ 0.2 in} The .rhosts file is located in either user2's HOME directory \\ \hspace*{ 0.2 in} (on sys2), or the root directory on sys2. SPECIAL CONSIDERATIONS \hspace*{ 0.3 in} o Rcp does not always detect the fact that a target of a \\ \hspace*{ 0.5 in} copy might be a file in cases where only a directory \\ \hspace*{ 0.5 in} should be legal. \hspace*{ 0.3 in} o The user cannot be root. \hspace*{ 0.3 in} o Rcp can be confused by any output generated by commands in \\ \hspace*{ 0.5 in} a .login, .profile, or .cshrc file on the remote host. \\ \hspace*{ 0.5 in} For example, the "Where are you?" message is produced \\ \hspace*{ 0.5 in} because the .cshrc contains a biff. SEE ALSO \hspace*{ 0.2 in} ftp(1C), rsh(1C), rlogin(1C) \subsection{Unix command hhcp - host to host file transfer} SYNOPSIS \hspace{ 0.4 in} hhcp [ -ACFLORS:abcfilmoqrstx ] [ Special\_Options ] transmit\_file receive\_file DESCRIPTION \hspace{ 0.4 in} Hhcp copies transmit\_file into receive\_file using NIFTP 80 Protocol. Either transmit\_file or receive\_file should be on a remote machine, in which case it should appear in the form \hspace*{ 0.7 in} ftp\_entity\_name[!|:]pathname ie \hspace{ 0.7 in} "!" or ":" can be used to separate the host from the path Ftp\_entity\_name is the name of the NIFTP 80 entity on the remote machine. This must either appear in the network directory, or else be the Transport Service address of the entity (or the X25 address of the remote host if the TS address is the standard name "FTP"). \hspace*{ 0.2 in} eg \\ \hspace*{ 0.7 in} hhcp /usr/keith/SEND kl!RECEIVE[1045,3307] \\ \hspace*{ 0.2 in} or \\ \hspace*{ 0.7 in} hhcp kl!SEND[1045,3307] /usr/keith/RECEIVE \\ \hspace*{ 0.2 in} or \\ \hspace*{ 0.7 in} hhcp SEND 6000000/FTP!RECEIVE[1045,3307] \\ \hspace*{ 0.2 in} or \\ \hspace*{ 0.7 in} hhcp 6000000!SEND[1045,3307] RECEIVE Input may be piped into hhcp, in which case transmit\_file should be absent. \hspace*{ 0.7 in} pr file | hhcp [options] receive\_file \hspace*{ 0.2 in} eg \\ \hspace*{ 0.7 in} nroff doc.n | hhcp -L rlda!/usr/bill/doc An FTP connexion may require calls to be set up across several networks. If hhcp recognizes from the structure of the Transport Service address (see netdir(5)) mapped from a given name that authorization is required at one or more gateways between net- works, then the user is prompted for appropriate authorization fields (see getgwauth(3)). If the filename on the local machine is not a complete pathname it is prefixed with the current directory. If the remote machine is another unix, and receive\_file is a pathname preceded by ~user, then ~user is ultimately replaced by that user's login directory on the remote system. \hspace*{ 0.2 in} eg \\ \hspace*{ 0.3 in} hhcp file rlda!~bill/file The pathname part of ftp\_entity\_name!pathname must be in a form intelligible to the remote machine. If this pathname includes shell metacharacters, the pathname must be escaped using double quotes \hspace*{ 0.2 in} eg \\ \hspace*{ 0.3 in} hhcp file other\_sys!"path$>$name" The user must always supply access authorization, in the form of a name and a password. This information should be as required by the remote NIFTP 80 entity, so that the password may be either a login password or a special file transfer password. These authorization strings are transmitted to the remote FTP as User- name and Username Password attributes. Other attributes may be selected by use of the command line options. Selected attributes are input by hhcp either by prompting the user, or by searching an attribute storage file for a list of attributes pertaining to the remote NIFTP entity. If such a list (see hhstore(1)) is present, selected attributes are always taken from the storage file unless the -t option is used. The command options are: \small\tt \begin{verbatim} A select Account and Account password attributes L Generate a transfer log (see hhlog (1)) C encrypt file before transmission (inter-Unix transfers only). F Use NIFTP-80 text format mode (hex) 0080. This implies NO text formatting by imbedded characters in the file and NO formatting actions on end of transfer record. The default (no flag) uses text format mode (hex) 0001 where end of record implies new line action. No actions are implied by embedded characters. o select Output device type and Output device type qualifier attributes. A remote pathname is not necessary eg hhcp -o file rlpb a select a non-default (= make or replace) mode of access attribute. The supplied attribute must be a character string and one of "replace","append","read and remove","append or make" and "make". b select a binary word size attribute for binary transfers. This option is not necessary if the file to be transferred is in a.out(5) format. Such files are recognized as binary, and are transmitted using a default Binary Word Size (16 on PDP-11 and LSI-11, 32 on VAX). A user-supplied value must be a multiple of 8 bits. f select a File password attribute s select a Special Options attribute. If prompted, the user should prefix a numerical character string response with a '#' if this parameter is to be transmitted as a 16 bit value rather than a character string. eg special options: #123 Use of this option cancels file encryption if the -C option is also present. x The transferred file is to be submitted for execution on the remote host. This forces mode of access "take job input"; it supercedes any mode of access requested via the -a option. c Print the queue entry (username and username password attributes are encrypted) l Send a local transmit_file to line-printer (LPR) on the remote machine. A remote pathname is not required. eg hhcp -l text_file kl O prompt for an Action Message attribute. The response should be a character string, terminated with EOF. i prompt for an Information Message attribute. The response should be a character string, terminated with EOF. S "Special_Options" The next argument on the command line is taken as a string representing the Special Options attribute. If the first character of the string is a '#', then the remainder (which must be numeric) is converted into and transmitted as a 16 bit integer value. Otherwise, the string is transmitted without modification. eg hhcp -lS "/unit:daisy" document kl hhcp -S #123 file ykda!rfile The use of the -S option overrides the use of the -s option. R make the call reverse charge if over a chargeable network (eg PSS). t select nominated attributes by prompting; do not search attribute storage file q queue the file only: do NOT invoke hhP daemon. \end{verbatim}\rm \normalsize \hspace*{ 0.3 in} For each file, hhcp reports a Transfer Identifier. \\ \hspace*{ 0.3 in} This is useful for subsequent calls on hhq, hhrm, and hhlog. \hspace*{ 0.3 in} SEE ALSO \hspace{ 0.3 in} nac(1). Authorise users for network access \\ \hspace*{ 0.3 in} nd(1) Interrogate network directory \\ \hspace*{ 0.3 in} hhq(1) Display transfer queue \\ \hspace*{ 0.3 in} hhrm(1) Remove items from the transfer queue hhstore(1) \\ \hspace*{ 0.3 in} create entries in attribute storage file \\ \hspace*{ 0.3 in} hhlog(1) Print the transfer log netdir(5) directory entry \\ \hspace*{ 0.3 in} structure \hspace*{ 0.3 in} FILES \hspace{ 0.4 in} /usr/lib/x25/directory for the network directory \\ \hspace*{ 0.3 in} file \\ \hspace*{ 0.3 in} /usr/lib/x25/accounts/* for authorization \\ \hspace*{ 0.3 in} /usr/lib/x25/hhstore/* for attribute storage files \\ \hspace*{ 0.3 in} /dev/net? for access to network \\ \hspace*{ 0.3 in} /usr/lib/x25/hhP for NIFTP P process \\ \hspace*{ 0.3 in} /usr/lib/x25/hhQ for NIFTP Q process \\ \hspace*{ 0.3 in} /usr/spool/hhcp/* for HHCP spool files \subsection{Unix command tftp - user interface to the DARPA TFTP protocol} ORIGIN \\ \hspace*{ 0.3 in} 4.2BSD SYNOPSIS \\ \hspace*{ 0.3 in} tftp [ host [ port ] ] DESCRIPTION \\ \hspace*{ 0.3 in} Tftp is the user interface to the ARPANET standard Trivial \\ \hspace*{ 0.3 in} File Transfer Protocol. The program allows a user to \\ \hspace*{ 0.3 in} transfer files to and from a remote network site. \hspace*{ 0.3 in} The client host with which tftp is to communicate may be \\ \hspace*{ 0.3 in} specified on the command line. If this is done, tftp will \\ \hspace*{ 0.3 in} immediately attempt to establish a connection to a TFTP \\ \hspace*{ 0.3 in} server on that host. Otherwise, tftp will enter its command \\ \hspace*{ 0.3 in} interpreter and await instructions from the user. When tftp \\ \hspace*{ 0.3 in} is awaiting commands from the user, the prompt \hspace*{ 0.7 in} tftp$>$ \hspace*{ 0.3 in} appears. The following commands are recognized by tftp: \hspace*{ 0.3 in} connect \\ \hspace*{ 0.7 in} connect to remote tftp \hspace*{ 0.3 in} mode set file to transfer mode \hspace*{ 0.3 in} put send file \hspace*{ 0.3 in} get receive file \hspace*{ 0.3 in} quit exit tftp \hspace*{ 0.3 in} verbose \\ \hspace*{ 0.7 in} toggle verbose mode \hspace*{ 0.3 in} trace \\ \hspace*{ 0.7 in} toggle packet tracing \hspace*{ 0.3 in} status \\ \hspace*{ 0.7 in} show current status \hspace*{ 0.3 in} rexmt \\ \hspace*{ 0.7 in} set total retransmission \hspace*{ 0.3 in} ? \hspace{ 0.3 in} print help information \hspace*{ 0.3 in} timeout \\ \hspace*{ 0.7 in} set total retransmission timeout \hspace*{ 0.3 in} The use of tftp does not require an account or password on \\ \hspace*{ 0.3 in} the remote system. Due to the lack of authentication infor- \\ \hspace*{ 0.3 in} mation, tftp will allow only publicly readable files to be \\ \hspace*{ 0.3 in} accessed. BUGS \\ \hspace*{ 0.3 in} The search permissions of the directories leading to the \\ \hspace*{ 0.3 in} files accessed are not checked. \section{ECSVAX command FTP: File transfer to the X25 network} Allows file transfer between Vax and other computer systems using the 'Blue Book` protocol. The commands DEVICE, USER and ACCOUNT specify information relevant to the remote computer system. The SEND and FETCH commands are used to transfer files. The QUEUE command monitors progress of transfers, and the REMOVE command can be used to cancel requests. \subsection{ACCOUNT} \hspace*{ 0.3 in} Used to select an account and account password on the remote computer \\ \hspace*{ 0.3 in} system. Format is : \hspace*{ 0.6 in} ACCOUNT $<$account name$>$ $<$account password$>$ \hspace*{ 0.3 in} If desired, $<$account password$>$ may be typed on the line following the \\ \hspace*{ 0.3 in} command, in which case it is not echoed. \hspace*{ 0.3 in} If the logical name FTP\$ACCOUNT is assigned on entry to FTP, it is \\ \hspace*{ 0.3 in} translated as giving a account name, optionally separated by spaces \\ \hspace*{ 0.3 in} from an account password. \subsection{DEVICE} \hspace*{ 0.3 in} Used to select the remote computer system. Format is : \hspace*{ 0.6 in} DEVICE $<$remote name$>$ [$<$device name$>$ [$<$device qualifier$>$]] \hspace*{ 0.3 in} $<$remote name$>$ is a mnemonic for the remote site \\ \hspace*{ 0.3 in} $<$device name$>$ is an optional output device name at the site \\ \hspace*{ 0.3 in} $<$device qualifier$>$ is an optional output device qualifier at the site \hspace*{ 0.3 in} If the logical name FTP\$DEVICE is assigned on entry to FTP, it is \\ \hspace*{ 0.3 in} translated as giving a remote name, optionally separated by spaces from \\ \hspace*{ 0.3 in} a device name and a device qualifier. \hspace*{ 0.3 in} Type HELP PLACES for a list of current remote site mnemonics. \subsection{EXIT} \hspace*{ 0.3 in} Causes the FTP program to terminate and a return to Vax command level. \\ \hspace*{ 0.3 in} Format is : \hspace*{ 0.6 in} EXIT \hspace*{ 0.3 in} An equivalent effect may be obtained by typing ctrl-z at any time. \subsection{FETCH} \hspace*{ 0.3 in} Used to send a file to Vax from the currently selected remote computer \\ \hspace*{ 0.3 in} system. Format is : \hspace*{ 0.6 in} FETCH [/FAILMAIL] [/NOMAIL] [/$<$code name$>$] \\ \hspace*{ 1.0 in} $<$Vax filename$>$ [/$<$new mode$>$] \\ \hspace*{ 1.0 in} $<$Remote filename$>$ [/$<$old mode$>$] [/PASSWORD [$<$file password$>$]] \hspace*{ 0.3 in} By default, the user is sent mail when the file transfer request has been \\ \hspace*{ 0.3 in} dealt with. If the /FAILMAIL qualifier is used, mail is only sent in the \\ \hspace*{ 0.3 in} event of failure. If /NOMAIL is used, no mail is sent in any event. \hspace*{ 0.3 in} The $<$code name$>$ qualifier specifies the format that the file is to have \\ \hspace*{ 0.3 in} on Vax. It should be used when the remote computer does not know that \\ \hspace*{ 0.3 in} the file is to be created in a format other than the default, which is \\ \hspace*{ 0.3 in} text in records with automatic newline at end of record. Specifiable \\ \hspace*{ 0.3 in} formats are: \\ \hspace*{ 0.5 in} /VMS \hspace{ 0.6 in} : \hspace{ 0.3 in} Any format file from a remote VAX/VMS computer \\ \hspace*{ 0.5 in} /BINARY \hspace{ 0.4 in} : \hspace{ 0.3 in} Undefined format file (e.g. Imp -b file) \\ \hspace*{ 0.5 in} /FTN \hspace{ 0.6 in} : \hspace{ 0.3 in} Fortran file with column one controls \\ \hspace*{ 0.5 in} /NOCR \hspace{ 0.5 in} : \hspace{ 0.3 in} Text file with no automatic newline at end of record \hspace*{ 0.3 in} The $<$new mode$>$ qualifier specifies the action to be taken on Vax when the \\ \hspace*{ 0.3 in} file arrives. If it is omitted, the file is simply created. Specifiable \\ \hspace*{ 0.3 in} actions are: \\ \hspace*{ 0.5 in} /REPLACE \hspace{ 0.3 in} : \hspace{ 0.3 in} A previous version of the file must be replaced \\ \hspace*{ 0.5 in} /?REPLACE \hspace{ 0.3 in} : \hspace{ 0.3 in} A previous version of the file should be \\ \hspace*{ 1.7 in} replaced if it exists \\ \hspace*{ 0.5 in} /APPEND \hspace{ 0.4 in} : \hspace{ 0.3 in} This file must be appended to a previous version \\ \hspace*{ 0.5 in} /?APPEND \hspace{ 0.3 in} : \hspace{ 0.3 in} This file should be appended to a previous version \\ \hspace*{ 1.7 in} if it exists \\ \hspace*{ 0.5 in} /JOB \hspace{ 0.6 in} : \hspace{ 0.3 in} This file should be sent to the system batch queue \\ \hspace*{ 0.5 in} /PRINT \hspace{ 0.5 in} : \hspace{ 0.3 in} This file should be sent to the system printer \hspace*{ 0.3 in} The $<$old mode$>$ qualifier specifies the action to be taken on the remote \\ \hspace*{ 0.3 in} computer system. If it is omitted, $<$Remote filename$>$ is a file, which \\ \hspace*{ 0.3 in} is preserved after transmission. Specifiable actions are: \\ \hspace*{ 0.5 in} /DELETE \hspace{ 0.4 in} : \hspace{ 0.3 in} File is deleted after transmission \\ \hspace*{ 0.5 in} /DESTROY \hspace{ 0.3 in} : \hspace{ 0.3 in} File is deleted as it is transmitted \\ \hspace*{ 0.5 in} /JOB \hspace{ 0.6 in} : \hspace{ 0.3 in} File to be taken from a batch queue \\ \hspace*{ 0.5 in} /PRINT \hspace{ 0.5 in} : \hspace{ 0.3 in} File to be taken from an output queue \hspace*{ 0.3 in} If the /PASSWORD qualifier is specified, then a remote file password may \\ \hspace*{ 0.3 in} be typed unechoed on the following line. If echoing is not important, \\ \hspace*{ 0.3 in} it may be given as $<$file password$>$. \hspace*{ 0.3 in} If a filename contains the characters newline, space, tab, /, or ", \\ \hspace*{ 0.3 in} the offending character(s) (doubled in the case of ") may be enclosed \\ \hspace*{ 0.3 in} within string quotes, e.g. "/usr/crap", "fred jim", fred" "jim. \subsection{HELP} \hspace*{ 0.3 in} Allows file transfer between Vax and other computer systems using \\ \hspace*{ 0.3 in} the 'Blue Book` protocol. Type HELP PLACES for a list of known sites. \hspace*{ 0.3 in} The commands DEVICE, USER, and ACCOUNT specify information relevant to \\ \hspace*{ 0.3 in} the remote computer system. The SEND and FETCH commands are used to \\ \hspace*{ 0.3 in} transfer files. The QUEUE command monitors progress of transfers, and \\ \hspace*{ 0.3 in} the REMOVE command can be used to cancel requests. For further information, \\ \hspace*{ 0.3 in} type HELP $<$command$>$. \hspace*{ 0.3 in} Additional information available: \hspace*{ 0.3 in} ACCOUNT \hspace{ 0.3 in} DEVICE \hspace{ 0.3 in} EXIT \hspace{ 0.5 in} FETCH \hspace{ 0.4 in} HELP \hspace{ 0.5 in} PLACES \hspace{ 0.3 in} QUEUE \\ \hspace*{ 0.3 in} REMOVE \hspace{ 0.3 in} SEND \hspace{ 0.5 in} USER \subsection{QUEUE} \hspace*{ 0.3 in} Displays one or more FTP queues. Format is : \hspace*{ 0.6 in} QUEUE [$<$remote name$>$] \hspace*{ 0.3 in} If $<$remote name$>$ is omitted, then all queues are displayed. \subsection{REMOVE} \hspace*{ 0.3 in} Used to remove a file transfer request from a queue. Format is : \hspace*{ 0.6 in} REMOVE $<$request identifier$>$ \hspace*{ 0.3 in} $<$request identifer$>$ is obtained by using the QUEUE command to locate \\ \hspace*{ 0.3 in} the relevant request. \subsection{SEND} \hspace*{ 0.3 in} Used to send a file from Vax to the currently selected remote computer \\ \hspace*{ 0.3 in} system. Format is : \hspace*{ 0.6 in} SEND [/FAILMAIL] [/NOMAIL] [/VMS] \\ \hspace*{ 0.9 in} $<$Vax filename$>$ [/DELETE] \\ \hspace*{ 0.9 in} $<$Remote filename$>$ [/$<$new mode$>$] [/PASSWORD [$<$file password$>$]] \hspace*{ 0.3 in} By default, the user is sent mail when the file transfer request has been \\ \hspace*{ 0.3 in} dealt with. If the /FAILMAIL qualifier is used, mail is only sent in the \\ \hspace*{ 0.3 in} event of failure. If /NOMAIL is used, no mail is sent in any event. \hspace*{ 0.3 in} If the /VMS qualifier is used, the remote computer is assumed to be a VAX \\ \hspace*{ 0.3 in} running VMS, and so any format of file may be sent with the guarantee that \\ \hspace*{ 0.3 in} all of its VMS file attributes will be preserved in the new file. \hspace*{ 0.3 in} If the /DELETE qualifier is used, the file is deleted after transmission. \hspace*{ 0.3 in} The $<$new mode$>$ qualifier specifies the action to be taken on the remote \\ \hspace*{ 0.3 in} computer system. If it is omitted, the file is simply created (but note \\ \hspace*{ 0.3 in} that some systems may demand that a file with the same name does not \\ \hspace*{ 0.3 in} already exist). Specifiable actions are: \\ \hspace*{ 0.5 in} /REPLACE \hspace{ 0.3 in} : \hspace{ 0.3 in} A previous version of the file must be replaced \\ \hspace*{ 0.5 in} /?REPLACE \hspace{ 0.3 in} : \hspace{ 0.3 in} A previous version of the file should be \\ \hspace*{ 1.7 in} replaced if it exists \\ \hspace*{ 0.5 in} /APPEND \hspace{ 0.4 in} : \hspace{ 0.3 in} This file must be appended to a previous version \\ \hspace*{ 0.5 in} /?APPEND \hspace{ 0.3 in} : \hspace{ 0.3 in} This file should be appended to a previous version \\ \hspace*{ 1.7 in} if it exists \\ \hspace*{ 0.5 in} /JOB \hspace{ 0.6 in} : \hspace{ 0.3 in} This file should be sent to a batch job queue \\ \hspace*{ 0.5 in} /PRINT \hspace{ 0.5 in} : \hspace{ 0.3 in} This file should be sent to an output queue \hspace*{ 0.3 in} If the /PASSWORD qualifier is specified, then a remote file password may \\ \hspace*{ 0.3 in} be typed unechoed on the following line. If echoing is not important, \\ \hspace*{ 0.3 in} it may be given as $<$file password$>$. \hspace*{ 0.3 in} If a filename contains the characters newline, space, tab, /, or ", \\ \hspace*{ 0.3 in} the offending character(s) (doubled in the case of ") may be enclosed \\ \hspace*{ 0.3 in} within string quotes, e.g. "/usr/crap", "fred jim", fred" "jim. \subsection{USER} \hspace*{ 0.3 in} Used to select a username and password on the remote computer system. \\ \hspace*{ 0.3 in} Format is : \hspace*{ 0.6 in} USER $<$username$>$ $<$password$>$ \hspace*{ 0.3 in} If desired, $<$password$>$ may be typed on the line following the command, \\ \hspace*{ 0.3 in} in which case it is not echoed. \hspace*{ 0.3 in} If the logical name FTP\$USER is assigned on entry to FTP, it is \\ \hspace*{ 0.3 in} translated as giving a username, optionally separated by spaces \\ \hspace*{ 0.3 in} from a password. \section{Document printing} \small\tt \begin{verbatim}Printer> mc hall 2501 6301 2419 3421 1417 1619 EdNet Orion1 Sender | c.itoh PTronix Toshiba Laser Laser Laser Laser Var. ? v----------------------------------------------------------------------------- ECSVAX | Print/1 Print/1 Print/1 Print/1 Print/1 Print/1 Print/1 netprint - MALTS | - APM/FS | P - ? laser laser - - - - Unix(*)| lpr/14 lpr/14 lpr/14 lpr/14 lpr/14 lpr/14 lpr/14 - lpr/13 GEC 63s| ? ? ? ? ? ? ? ? ? EMAS | - - ? - - - - list - ITSPNA | lpr/2 lpr/16 lpr/7 - - - - hhprint lpr/13 Orion1 | lpr/17 lpr/17 lpr/17 lpr/17 lpr/17 lpr/17 lpr/17 - lpr/17 /1 mc hall: print/que=print$lp 2501: print/que=print$block_op 2419: print/que=print$lp1 3421: print/que=print$lp2 1417: print/que=print$lw14 1619: print/que=print$lw16 6301: print/que=print$msc_room /2 lpr -Pcsmh /7 lpr -Pcsmsc /13 Cheops: lpr -Porlp /14 mc hall: lpr {Not all these queues will necessarily 2501: lpr -Plpop {have been set up on each host, though 2419: lpr -Plp1 {this will only have been because of lack 3421: lpr -Plp2 {of demand. If in doubt consult your 1417: lpr -Plw14 {system manager. 1619: lpr -Plw16 6301: lpr -Plpmsc Note that you should specify the -D flag to the lpr command if you are printing DVI files to tell the daemon to run the correct output filter. Other filters can be invoked similarly. The VAX symbionts decide on the basis of the file's "type". /16 lpr -Pcsop \end{verbatim}\rm \normalsize See also overview note /10 \subsection{Whereabouts and general description of printers} In the machine halls... There is the C.Itoh 600 attached to Filestore B (one of the QSART ports) and driven by it. Accessed by PRINT from APMs. PRINT from ECSVAX, lpr from Unix systems. In the copier room (2417)... There is the original prototype APM/Laser printer attached to the 2Mb Ethernet. This prints LAYOUT 1.5 script and TeX DVI and is accessed by LASER command from APM and PRINT from the VAXen. Authorisation is required to use this. There is an Apple LaserWriter NTX-2, accessible directly from the Departmental Appletalk and from the LFCS Appletalk network via the gateways. In the Sun Lounge (14xx)... There is a LaserWriter attached to Skye. This is accessible as LW14 from all Unix BSD systems. In Sidney's outer office (3421) ... There is a CLAN laser printer driven from an APM. This despools from B::LP2: and prints LAYOUT 2.0 script. \hspace{ 0.2 in} Commands unknown. In the LFCS copier room (1619)... There is an Apple LaserWriter attached to coll, and thus accessible from all the BSD-equivalent hosts. It prints DVI and text (no LAYOUT) and appears as LW16. There is a new Agfa 400 dpi laser printer, access mechanisms unknown. There is an Apple LaserWriter accessible from the LFCS half of the Appletalk network (directly) and from the Departmental half through the gateways. In the block O/P terminal room (2501)... There is an OTC 850 matrix printer directly attached to the Vaxen. At the microlab, Appleton Tower level 4... There's a LaserWriter driven by the Macs, and an HP LaserJet attached to EMAS and despooling its .LPIS1 queue. At the CS1 Sun lab, Appleton Tower level 3... There's an OTC 850 matrix printerattached to BANFF but only accessible locally. ECSVAX can send stuff to the printers spooled by Filestore B (c.itoh and PC-room laser printer). These printers are also accessible from itspna via RS232 links to Filestore B (two more qsart ports). Other UNIX hosts spool files via ECSVAX. The large HP plotter is attached directly to ECSVAX, as is one of the small plotters. The other plotters are attached to a APM. \subsection{APM command PRINT} See HELP PRINT for full description. Summary: Command is \hspace{ 0.2 in} P $<$file$>$ -$<$optional printer$>$ -$<$optional params$>$ printers are: -mh (m/c halls printer) only params are: \hspace{ 0.2 in} -c $<$characters per inch$>$ \\ \hspace*{ 0.9 in} -l $<$lines per inch$>$ \\ \hspace*{ 0.9 in} -dp $<$document print quality$>$ \subsection{Unix command lpr - Off Line Print (BSD)} \small\tt \begin{verbatim}SYNTAX lpr [-Pprinter] [-#num] [-C class] [-J job] [-T title] [-i [numcols]] [-w#] [-plrmhs] [name ...] OPTIONS -C class specifies a classification for use on the burst page. -f uses a filter that interprets the first character of each line as a standard FORTRAN carriage control character. -h suppresses the printing of the burst page. -i [numcols] indents the output. If the next argument is numeric, it is used as the number of blanks to be printed before each line; otherwise, 8 characters are printed. -J job specifies the job name to print on the burst page. Normally, the first file name is used. -l uses a filter allowing control characters to be printed and supresses page breaks. -m sends mail upon completion. -p causes pr(1) to format the files (equivalent to print). -Pprinter forces output to a specific printer. Normally, the default printer is used (site dependent), or the value of the environment variable PRINTER is used. -r removes the file upon completion of spooling (with the -s option). -s uses symbolic links. Usually files are copied to the spool directory. The -s option uses symlink(2) to link data files rather than trying to copy them so large files can be printed. The files should not be modified or removed until they have been printed. -T title specifies the title used by pr(1) instead of the file name. -wn specifies the page width for pr. -#num specifies multiple copies of output, where num is the number of copies desired of each file named. \end{verbatim}\rm \normalsize DESCRIPTION \hspace*{ 0.2 in} Lpr uses a spooling daemon to print the named files when \\ \hspace*{ 0.2 in} facilities become available. If file names do not appear, the \\ \hspace*{ 0.2 in} standard input is used. EXAMPLES \hspace*{ 0.3 in} \$ lpr -C "Lincoln Labs" foo.c \\ \hspace*{ 0.3 in} \$ \hspace*{ 0.2 in} lpr -C causes the system name to be replaced on the burst page \\ \hspace*{ 0.2 in} by Lincoln Labs, and the file foo.c to be printed. \hspace*{ 0.3 in} \$ lpr -\#3 foo.c bar.c more.c \\ \hspace*{ 0.3 in} \$ \hspace*{ 0.2 in} lpr -\#3 prints three copies of the files foo.c, bar.c, and \\ \hspace*{ 0.2 in} more.c. \hspace*{ 0.3 in} \$ cat foo.c bar.c more.c | lpr -\#3 \\ \hspace*{ 0.3 in} \$ \hspace*{ 0.2 in} This example prints three copies of the concatenation of the \\ \hspace*{ 0.2 in} files. SPECIAL CONSIDERATIONS \hspace*{ 0.3 in} o Large files may be truncated. \hspace*{ 0.3 in} o Various other filters and associated options are built \\ \hspace*{ 0.5 in} into this command for use with devices not currently \\ \hspace*{ 0.5 in} supported in UTX/32 (e.g., the Benson Varian raster \\ \hspace*{ 0.5 in} printer). \hspace{ 0.2 in} To use any of these, the proper definitions \\ \hspace*{ 0.5 in} must be placed in /etc/printcap. \hspace{ 0.2 in} Refer to printcap(4). \\ \hspace*{ 0.5 in} To \hspace{ 0.2 in} use \hspace{ 0.2 in} -f, \hspace{ 0.2 in} there should be an entry similar to \\ \hspace*{ 0.5 in} rf=/usr/bin/asa in the system printcap file. FILES \hspace*{ 0.2 in} /etc/passwd \hspace{ 0.8 in} personal identification \\ \hspace*{ 0.2 in} /etc/printcap \hspace{ 0.7 in} printer capabilities data base \\ \hspace*{ 0.2 in} /usr/lib/lpd* \hspace{ 0.7 in} line printer daemons \\ \hspace*{ 0.2 in} /usr/spool/* \hspace{ 0.7 in} directories used for spooling \\ \hspace*{ 0.2 in} /usr/spool/*/cf* \hspace{ 0.5 in} daemon control files \\ \hspace*{ 0.2 in} /usr/spool/*/df* \hspace{ 0.5 in} data files specified in "cf" files \\ \hspace*{ 0.2 in} /usr/spool/*/tf* \hspace{ 0.5 in} temporary copies of "cf" files \\ \hspace*{ 0.2 in} /usr/lib/lpf \hspace{ 0.7 in} standard filter (various filters are specified in /etc/printcap) DIAGNOSTICS \hspace*{ 0.3 in} o Lpr objects to printing binary files. \hspace*{ 0.3 in} o Lpd(8) may print diagnostics in the daemon's \hspace{ 0.2 in} log file \\ \hspace*{ 0.5 in} regarding missing spool files. \hspace*{ 0.3 in} o If a user other than root prints a file and spooling is \\ \hspace*{ 0.5 in} disabled, lpr prints a message and does not put jobs in \\ \hspace*{ 0.5 in} the queue. \hspace*{ 0.3 in} o If a connection to lpd on the local machine cannot be \\ \hspace*{ 0.5 in} made, lpr prints a message stating the daemon cannot be \\ \hspace*{ 0.5 in} started. SEE ALSO \hspace*{ 0.2 in} lpq(1), lprm(1), pr(1), symlink(2), printcap(4), lpd(8) \section{Remote Log-on} \small\tt \begin{verbatim} Host > ECSVAX Unix APM/FS CHEOPS EdNet ITS63A Gandalf Pad | ECUVAX ITSPNA Suns ITS63B v----------------------------------------------------------------------- ECSVAX | set host rlogin - rlogin host host * ITSPNA | rlogin/4 rlogin - rlogin pad pad * APM/FS | - - - - - - * CHEOPS/Suns | rlogin rlogin - rlogin - ? * GEC 63s | pad ? - rlogin - ? * EdNet | /5 /5 /5 /5 * /5 CS-GANDALF/5 /4 PAD provides an alternative route over the wide-area network. /5 CALLing command may depend on where you are CALLing from. CALL, PAD, HOST are worth trying. Mnemonics may also depend on where you are calling from. ITSPNA and the GEC63s (ITS63A/B) are generally accessible by CALLing the names above. ECSVAX is best accessed via the Gandalf. ECUVAX can ONLY be accessed via the Gandalf. Most CS hosts are accessible via the Gandalf. Call CS-GANDALF from a PAD then respond ECSVAX, CHEOPS or APM as appropriate. The other hosts are best accessed directly if possible. \end{verbatim}\rm \normalsize \subsection{Dial-up access} There are a number of ways in. Dial up EdNet on 667-1071 then call in as for EdNet PAD above. Dial up the CS Gandalf direct. There are only two lines in so ask about this service if you think you want to use it. EdNet is accessible from PSS via the PSSE gateway (NUA 2342-313-54354) but yout will require a PSSE account to use it. EdNet is also linked to Janet. The EdNet addresses are visible throughout JaNET \subsection{ECSVAX command HOST - Make an X25 XXX or ITP call} The HOST command allows Vax users to access other computers interactively, via the X25 network. The command has the form : \hspace*{ 0.5 in} HOST $<$host name$>$ [/NORISK] [/INPUT=$<$filename$>$] [/LOG [=$<$filename$>$]] A list of valid host names may be obtained by the command HOST HELP. If the /NORISK qualifier is used, the user will be asked for confirmation after typing control-y. If the /INPUT qualifier is used, input is taken from the file specified, rather than from the terminal. At end of file, the input stream reverts to the terminal. At any time terminal input is being requested, ctrl-f may be typed to select a new input file. If the /LOG qualifier is used, a record of all echoed input and output during the session is kept in the file. If no file name is specified, the default is CALL.LOG in the current directory. \section{EdNet addresses} EdNet is visible to the outside world as PSS NUA 2342-313-54354 (host PSSE). Host \hspace{ 0.3 in} Address \hspace{ 0.7 in} Comments ECSVAX: 000015000006 ECUVAX: Available via Gandalf only PSSE : 000015000040 CSCPAD: 000015001019 \hspace{ 0.4 in} Computer Science K.B. PAD \\ \hspace*{ 1.7 in} i.e. the CS Gandalf CSPAD1: 000016000010 \hspace{ 0.4 in} Computer Science Appleton Tower PAD 1 \\ \hspace*{ 1.7 in} i.e. MALTS and BANFF CSPAD2: 000016000011 \hspace{ 0.4 in} Computer Science Appleton Tower PAD 2 \\ \hspace*{ 1.7 in} i.e. MACDUFF and ARDBEG \vspace{.75in} view:ftnote printed on 16/02/89 at 10.36 \newpage \tableofcontents \end{document}