noticiero - desdeparaguay canal 4
Error al intentar ejecutar un programa RPC simple (5)
Compruebe si el servicio se está ejecutando utilizando rpcinfo
. Esto es lo que obtengo.
$ rpcinfo
program version netid address service owner
100000 4 tcp6 ::.0.111 portmapper superuser
100000 3 tcp6 ::.0.111 portmapper superuser
100000 4 udp6 ::.0.111 portmapper superuser
100000 3 udp6 ::.0.111 portmapper superuser
100000 4 tcp 0.0.0.0.0.111 portmapper superuser
100000 3 tcp 0.0.0.0.0.111 portmapper superuser
100000 2 tcp 0.0.0.0.0.111 portmapper superuser
100000 4 udp 0.0.0.0.0.111 portmapper superuser
100000 3 udp 0.0.0.0.0.111 portmapper superuser
100000 2 udp 0.0.0.0.0.111 portmapper superuser
100000 4 local /run/rpcbind.sock portmapper superuser
100000 3 local /run/rpcbind.sock portmapper superuser
24 5 udp 0.0.0.0.3.99 - superuser
24 5 tcp 0.0.0.0.3.100 - superuser
Si el servicio no se está ejecutando, debe iniciarlo con rpcbind
. En Ubuntu necesitaba privilegios de root para ejecutar el servicio.
Estoy intentando ejecutar un programa RPC simple que he creado utilizando rpcgen. Es un programa factorial simple. Este es mi primer programa de RPC. La marca funciona bien. Los archivos ejecutables también se crean. Pero cuando intento ejecutar los ejecutables, recibo este error:
$sudo ./fact_server
Cannot register service: RPC: Unable to receive; errno = Connection refused
unable to register (FACTPROGRAM, FACTVERSION, udp).
Intenté ejecutar el mismo programa en otra PC con el mismo sistema operativo (ubuntu). Funciona perfecto allí.
El problema surge debido a la falta de disponibilidad de utilidades como "portmap" o "rpcbind".
- Instala ya sea portmap o rpcbind. Se solucionará el problema.
Hay un error / característica en las últimas versiones de Linux de rpcbind: ahora no está activo / ejecutándose después del inicio del sistema, pero de alguna manera debería estar "activado por socket" de acuerdo con la configuración del sistema rtlbind.service en / usr / lib / systemd / system / :
[Install]
Also=rpcbind.socket
Verifique este hilo en el mismo error / característica que causó problemas con Ubuntu ( https://bugs.launchpad.net/ubuntu/+source/rpcbind/+bug/1558196 ).
La respuesta corta a su problema (nuestro) con rpcbind es : para ejecutar el código del servidor RPC, haga esta enmienda a la configuración systemctrl de su sistema:
sudo systemctl add-wants multi-user.target rpcbind
Ahora, la forma prevista de establecer rpcbind en ejecución es acceder de alguna manera a /var/run/rpcbind.sock, le debo mucho a algún gurú de Unix / Linux que puede ilustrarme sobre qué código de aplicación del servidor RPC debe hacer para lograr este rpcbind Efecto "socket de activación".
Primero verifica que portmapper esté funcionando o no, use rpcinfo
para verificarlo. Si recibe algún error entonces instale portmap
Cómo instalar rpcgen
Escriba este comando en el terminal.
sudo apt-get install rpcbind
pero a veces el código anterior no te ayudará a instalar el rpcgen.
En ese momento, debe seguir estos pasos. Luego, puede instalarlo fácilmente. debes seguir este paso a paso
1) sudo apt-get update
2) sudo apt-cache search apache2 3) sudo apt-get install rpcbind
Finalmente puedes comprobarlo usando este comando rpcinfo