| 
    Nfs translates between the Sun network file system protocol (NFS)
    and 9P, allowing 9P clients to mount file systems on NFS servers.
    NFS servers comprise two separate services: a mount service used
    to obtain the initial file handle, and a file service used to
    perform actual file system operations. The Sun port mapper
    service is typically used to find these two services. If one address
    is given, it is taken to be the address of a port mapper service;
    nfs queries the port mapper to find the addresses of the NFS mount
    service and file service. If two addresses are given, the port
    mapper is bypassed; addr1 is used as the address of the NFS
    mount service, and addr2 is used as the address of the file service.
      
    The options are: 
    –D    print all 9P messages. 
    –R    print all NFS messages. 
    –v    print verbose information about session startup. 
    –p perm 
    
      |   | 
        set the posted service file to have mode perm, which is assumed
        to be octal; the default is 600. 
        –
     |   
    s srvname 
    
     |   | 
        post the service as /srv/srvname; the default is /srv/addr1. 
        –
     |   
    u passwd group 
    
     |   | 
        translate user and group names using the passwd and group files,
        which are in the traditional Unix format. The translation is used
        to present names for user and group in stat(5) and wstat messages.
        The translation is also used to choose the user and group credentials
        to present for a user. Without this option,
        users and groups are presented as decimal numbers, and everyone
        attaches as uid –1 (nobody on most Unix systems).   
        
      |   
    Portmap and nfsmount are test programs to perform port mapper
    and NFS mount RPCs. They are useful mainly to help debug problems
    with starting nfs itself. The –R option causes them to print all
    RPC messages sent and received.  
    Portmap queries a Sun RPC portmap server, which maps integer (program,
    version, protocol) triples to port numbers. Program and version
    are Sun RPC defined, while protocol is typically TCP (6) or UDP
    (17). The commands are: 
    nulla no–op 
    dumpprint the entire map 
    set prog vers proto port 
    
      |   | 
        add an entry to (or replace an entry in) the map 
        
     |   
    unset prog vers proto port 
    
     |   | 
        remove an entry from the map 
        
     |   
    getport prog vers proto 
    
     |   | 
        look for an entry with prog, vers, proto in the map, and return
        the corresponding port The default command is dump. For running
        NFS over UDP, there must be an entry for the NFS v3 mount daemon
        (100005, 3, 17) and the NFS v3 server itself (100003, 3, 17).
          
        
      |   
    Nfsmount queries a Sun NFS mount server, which authenticates (ha!)
    connections and hands out file handles naming the root of an exported
    file system. This handle is used as the basis for a conversation
    with the NFS service daemon itself. The commands are: 
    nulla no–op 
    export 
    
     |   | 
        dump the export table; each line is a path followed by a list
        of machines or groups allowed to mount that path 
        
     |   
    mnt path 
    
     |   | 
        attempt to acquire a file handle for path. the request has user
        and group id 1001 and gnot as the system name. 
        
     |   
    umnt path 
    
     |   | 
        notify the mount daemon that a particular path is being unmounted
        by the requesting system 
        
     |   
    umntall 
    
     |   | 
        notify the mount daemon that all paths mounted by the requesting
        system are being unmounted 
        
     |   
    dumpshould also dump an export table, but typically does nothing 
    
 |