glenda.party
term% ls -F
term% pwd
$home/manuals/9front/4/srv
term% cat index.txt
SRV(4)                     Kernel Interfaces Manual                     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 (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 omit‐
       ted, 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 sup‐
       presses 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  estab‐
       lishing  the  connection before posting and mounting it.  This is some‐
       times 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 mount‐
       point, 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  op‐
       tions,  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 spe‐
       cial ones are:

       -d     Enable debugging.

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

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

       -u user
              When connecting to the remote server, log in as user.  Since sr‐
              vold9p  does no authentication, and since new kernels cannot au‐
              thenticate to old services, the likeliest value of user is none.

       -x command
              Run command and use its standard input and output as the 9P ser‐
              vice  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.



                                                                        SRV(4)