Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (4) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bind(1)

dial(2)

srv(3)

ftpfs(4)

u9fs(4)

SRV(4)

NAME

srv, srvold9p, 9fs, srvssh − start network file service

SYNOPSIS

­srv [ ­-abceCmq ] [ ­-s ­seconds ] [net!]system [!service] [ ­srvname [ ­mtpt ] ]

­srvssh [ ­-r ] [ ­-R ] [ ­-s ] [ ­-u ­u9fspath ] ­system [ ­srvname [ ­mtpt ] ]

­9fs [net!]system [mountpoint]

­srvold9p [ ­-abcCd ] [ ­-u ­user ] [ ­-s | [ ­-m ­mountpoint ] ] [ ­-x ­command | ­-n ­network-addr | ­-f ­file ] [ ­-F ] [ ­-p ­servicename ]

DESCRIPTION

­Srv dials the given machine and initializes the connection to serve the 9P protocol.  It then creates in ­/srv a file named srvname. Users can then ­mount (see bind(1)) the service, typically on a name in /n, to access the files provided by the remote machine.  If ­srvname is omitted, the first argument to ­srv is used.  Option ­m directs ­srv to mount the service on /n/system or onto ­mtpt if it is given.  Option ­q suppresses complaints if the ­/srv file already exists.  The a, b, c, and ­C flags are used to control the mount flag as in bind(1). The ­e flag causes ­srv to treat ­system as a shell command to be executed rather than an address to be dialed.  The ­s flag causes ­srv to sleep for the specified number of seconds after establishing the connection before posting and mounting it.  This is sometimes needed by srvssh.

The specified ­service must serve 9P.  Usually ­service can be omitted; when calling some non-Plan 9 systems, a ­service such as ­u9fs must be mentioned explicitly. 

The ­9fs command does the ­srv and the ­mount necessary to make available the files of ­system on network net. The files are mounted on mountpoint, if given; otherwise they are mounted on /n/system.  If ­system contains ­/ characters, only the last element of ­system is used in the ­/n name. 

­9fs recognizes some special names, such as ­dump to make the dump file system available on /n/dump.  ­9fs is an rc(1) script; examine it to see what local conventions apply.

­Srvssh is an rc(1) connects to a remote Unix system via ssh(1) and starts u9fs(4). The ­-u option specifies the path to the ­u9fs binary on the remote system.  (By default, an unrooted path of ­u9fs is used; if the binary is in the path of the remote SSH server, you don’t need the ­-u option.)  For information about the other options, see the introductory comment in /rc/bin/srvssh.  The arguments are the same as srv.

­Srvold9p is a compatibilty hack to allow Fourth Edition Plan 9 systems to connect to older 9P servers.  It functions as a variant of ­srv that performs a version translation on the 9P messages on the underlying connection.  Some of its options are the same as those of srv; the special ones are:

­-d Enable debugging

-u user
When connecting to the remote server, log in as user. Since ­srvold9p does no authentication, and since new kernels cannot authenticate to old services, the likeliest value of ­user is none. 

-x command
Run ­command and use its standard input and output as the 9P service connection.  If the ­command string contains blanks, it should be quoted. 

-n network-addr
Dial ­network-addr to establish the connection. 

-f file
Use ­file (typically an existing srv(3) file) as the connection.

­-F Insert a special (internal) filter process to the connection to maintain message boundaries; usually only needed on TCP connections. 

-p servicename
Post the service under srv(3) as /srv/servicename. 

­Srvold9p is run automatically when a cpu(1) call is received on the service port for the old protocol.

EXAMPLES

To see kremvax’s and deepthought’s files in ­/n/kremvax and /n/deepthought:

9fs kremvax
9fs hhgttg /n/deepthought

To mount as user ­none a connection to an older server kgbsun:

srvold9p -u none -m /n/kgbsun -p kgbsun -n il!kgbsun

Other windows may then mount the connection directly:

mount /srv/kgbsun /n/kgbsun

To connect to an instance of the Unix server u9fs(4) started via ssh(1):

srvssh unix

NOTE

The TCP port used for 9P is 564. 

FILES

­/srv/∗ ports to file systems and servers posted by ­srv and ­9fs

SOURCE

­/sys/src/cmd/srv.c
­/rc/bin/9fs
­/rc/bin/srvssh

SEE ALSO

bind(1), dial(2), srv(3), ftpfs(4), u9fs(4)

Plan 9  —  February 14, 2003

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026