| 1 | This is a Python interface to Sun RPC, designed and implemented mostly
|
|---|
| 2 | by reading the Internet RFCs about the subject.
|
|---|
| 3 |
|
|---|
| 4 | *** NOTE: xdr.py has evolved into the standard module xdrlib.py ***
|
|---|
| 5 |
|
|---|
| 6 | There are two library modules, xdr.py and rpc.py, and several example
|
|---|
| 7 | clients: mountclient.py, nfsclient.py, and rnusersclient.py,
|
|---|
| 8 | implementing the NFS Mount protocol, (part of) the NFS protocol, and
|
|---|
| 9 | the "rnusers" protocol (used by rusers(1)), respectively. The latter
|
|---|
| 10 | demonstrates the use of broadcast via the Port mapper's CALLIT
|
|---|
| 11 | procedure.
|
|---|
| 12 |
|
|---|
| 13 | There is also a way to create servers in Python.
|
|---|
| 14 |
|
|---|
| 15 | To test the nfs client, run it from the shell with something like this:
|
|---|
| 16 |
|
|---|
| 17 | python -c 'import nfsclient; nfsclient.test()' [hostname [filesystemname]]
|
|---|
| 18 |
|
|---|
| 19 | When called without a filesystemname, it lists the filesystems at the
|
|---|
| 20 | host; default host is the local machine.
|
|---|
| 21 |
|
|---|
| 22 | Other clients are tested similarly.
|
|---|
| 23 |
|
|---|
| 24 | For hostname, use e.g. wuarchive.wustl.edu or gatekeeper.dec.com (two
|
|---|
| 25 | hosts that are known to export NFS filesystems with little restrictions).
|
|---|
| 26 |
|
|---|
| 27 | There are now two different RPC compilers:
|
|---|
| 28 |
|
|---|
| 29 | 1) Wim Lewis rpcgen.py found on http://www.omnigroup.com/~wiml/soft/stale-index.html#python.
|
|---|
| 30 |
|
|---|
| 31 | 2) Peter Åstrands rpcgen.py, which is part of "pynfs" (http://www.cendio.se/~peter/pynfs/).
|
|---|