srv, srvtls, 9fs – start network file service


srv [ -abcCemnNq ] [ -s seconds ] [net!]system\c [!service] [ srvname [ mtpt ] ]

srvtls [ -abcCnq ] [ -k keyspec ] [net!]system\c [!service] [ srvname [ mtpt ] ]

9fs [net!]system [mountpoint]


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

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.

Srvtls is an rc(1) command that uses tlsclient (see tlssrv(8)) to establish an mutual authenticated and encrypted 9P connection to the t9fs service which by default listens on tcp port 17020.


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


9fs kremvax
9fs hhgttg /n/deepthought



ports to file systems and servers posted by srv and 9fs  




bind(1), auth(2), dial(2), srv(3), tlssrv(8), exportfs(4).


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