callrpc - Linux
Overview
callrpc is a user-space utility that provides a convenient way to invoke remote procedure calls (RPCs) to an RPC server. It enables communication with NFS on non-Unix platforms and serves as a primary tool for NFS debugging and testing.
Syntax
callrpc [-d level] [-p program] [-n host] [-t timeout] [-e] [-v [level]] service.procedure arg1 arg2 ...
Options/Flags
- -d level: Set the debug level (default: 0)
- -p program: Specify the RPC program number (default: 100005)
- -n host: Specify the RPC server host (default: localhost)
- -t timeout: Set the RPC timeout in seconds (default: 30)
- -e: Print detailed error messages
- -v level: Set verbose mode (0: errors, 1: warnings, 2: all)
Examples
Simple request:
callrpc localhost NFS 123 abc
Complex request with options:
callrpc -d 3 -t 60 -v 2 localhost NFS 123 abc
Common Issues
- Permission denied error: Verify the RPC server’s security settings and ensure that the user has sufficient permissions.
- RPC timeout: Increase the timeout limit using the
-t
option. - No such file or directory error: Check that the RPC server is running and the specified service is registered.
Integration
NFS debugging: callrpc can be used to manually invoke RPCs for diagnosing and resolving NFS issues.
Testing RPC servers: It enables testing the functionality and performance of RPC servers by sending manual requests.
Related Commands
- rpcinfo
- nfsstat