Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (4) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bind(1)

auth(2)

dial(2)

srv(3)

exportfs(4)

import(4)

ftpfs(4)

u9fs(4)

SRV(4)

NAME

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

SYNOPSIS

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

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

­9fs [net!]system [mountpoint]

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

DESCRIPTION

­Srv dials the given machine and initializes the connection to serve the 9P protocol.  By default, it connects to the ­9fs (9P) service, which for TCP is port 564.  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, C, and ­n options are used to control the mount flags as in ­mount (see bind(1)). The ­e option causes ­srv to treat ­system as a shell command to be executed rather than an address to be dialed.  The ­s option 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) command that 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. 

­-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. 

-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.

­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

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
­/sys/src/cmd/srvold9p

SEE ALSO

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

BUGS

­Srv does not explicitly report failures of ­auth_proxy (see auth(2)); ­mount (see bind(1)) does.

Plan 9  —  December 02, 2007

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