UiPath Documentation
test-cloud
latest
false
Guía de administración de Test Cloud
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Implementar el cliente de Relay en Linux

Implementa el cliente de Relay como servicio de systemd en Linux para establecer un túnel saliente entre tu red y Test Cloud.

Esta página cubre los detalles de configuración de producción específicos para Linux. Para conocer los requisitos previos multiplataforma y los requisitos de red, consulta Implementar el cliente de Relay.

Requisitos del sistema operativo​

El cliente de Relay requiere systemd 229 o posterior. Para verificar: systemctl --version.

DistribuciónVersión mínima
Ubuntu20.04 LTS (focal)
Debian10 (Buster)
Red Hat Enterprise Linux8
Amazon Linux2023
SUSE Linux Enterprise Server15
Oracle Linux8

Se espera que funcione cualquier distribución de Linux con systemd 229+. Para entornos sin systemd, el cliente de Relay puede ejecutarse en modo de primer plano (--detach=false), pero usted es responsable de la gestión de procesos, el inicio automático y la recuperación.

Privilegios necesarios: se necesita acceso sudo (raíz) para instalar los servicios de systemd (/etc/systemd/system/), crear directorios de datos y registros predeterminados y copiar el binario en /usr/local/bin/. Para instalaciones sin raíz, consulta Modo de usuario.

Requisitos previos​

System​

  • Distribución de Linux compatible con systemd 229+
  • Acceso sudo (raíz) o planea utilizar --user-mode
  • 200 MB de espacio libre en disco como mínimo
  • Si utilizas una conexión basada en TCP compatible que requiere el ejecutor local:

Red​

  • Para el cliente de Relay 26.4.2 o posterior, se permite el HTTPS saliente (puerto 443) a cloud.uipath.com, incluidas las actualizaciones de WebSocket
  • Para las versiones de cliente de Relay anteriores a 26.4.2, se permite el TLS saliente (puerto 443) a <region>-relay.uipath.com y se configura el paso de TLS
  • El host de Relay puede resolver y conectarse a cada punto final HTTP o HTTPS registrado, y al host y puerto de cada punto final basado en TCP compatible

Seguridad​

  • Exclusiones de SELinux/AppArmor/fapolicyd configuradas (si corresponde) (consulta Marcos de seguridad)
  • Si utilizas el ejecutor local: un directorio de dependencias propiedad del administrador y una instalación de Java que ninguna cuenta sin privilegios puede escribir. El ejecutor carga el código de ambos, con los privilegios de la cuenta de servicio de Relay

Configuración​

Validar requisitos previos​

Ejecuta los siguientes comandos:

# Check systemd version (must be 229+)
systemctl --version

# Verify sudo access
sudo -v

# Check available disk space
df -h /var/lib

# On-prem executor only: Java 21+ on PATH, or pass --onprem-executor-java-home
java -version
# Check systemd version (must be 229+)
systemctl --version

# Verify sudo access
sudo -v

# Check available disk space
df -h /var/lib

# On-prem executor only: Java 21+ on PATH, or pass --onprem-executor-java-home
java -version

Instalar​

1. Descargar y extraer​

Descargue el archivo del cliente de Relay para su arquitectura (x86_64 o ARM64) desde el Customer Portal de UiPath.

unzip relay_linux_amd64.zip && chmod +x relay
unzip relay_linux_amd64.zip && chmod +x relay

A partir del cliente de Relay 26.4.3, el archivo también contiene onprem-executor.jar. Déjalo junto al binario relay en el directorio extraído y ejecuta los comandos de instalación o actualización desde ese directorio.

2. Iniciar​

Puedes proporcionar la cadena de configuración del cliente (generada en Administración de UiPath, como se describe en Configurar un grupo de Relay) de dos maneras:

Opción A: en línea. Pasa la cadena de configuración directamente. No hay ningún archivo para crear o limpiar:

sudo ./relay start --config "<your-config>" --accept-license-agreement
sudo ./relay start --config "<your-config>" --accept-license-agreement

Opción B: Archivo. Guarda la configuración en un archivo y luego haz referencia a ella. Esta es la opción recomendada porque mantiene el secreto fuera del historial del shell:

sudo ./relay start --config-file /path/to/config.txt --accept-license-agreement
sudo ./relay start --config-file /path/to/config.txt --accept-license-agreement

Para una conexión basada en TCP compatible que requiera el ejecutor local, prepara primero las bibliotecas del conector, como se describe en Añadir dependencias del conector y luego inicia el cliente con un solo comando.

Añadir dependencias del conector​

Algunos conectores requieren bibliotecas de terceros que no se incluyen con el cliente de Relay. Obténgalos del proveedor del conector y colóquelos en un directorio dedicado en el host de Relay. El cliente de Relay almacena la ruta del directorio, pero no copia las bibliotecas.

Importante:

El ejecutor local carga y ejecuta estas bibliotecas con los permisos de la cuenta de servicio de Relay. Mantén el directorio, sus elementos principales y todos los archivos en él propiedad y escritura solo de root, con acceso de lectura para la cuenta de servicio. Cualquiera que pueda modificar su contenido puede ejecutar código con esos permisos.

Para instalaciones sin acceso a la raíz, consulta Ejecutor local en modo de usuario.

Para SAP BAPI, obtén las bibliotecas de SAP JCo 3 de SAP y coloca estos archivos en el directorio de dependencias:

Archivo obligatorioPropósito
sapjco3.jarBiblioteca SAP JCo Java
sapidoc3.jarBiblioteca Java de SAP IDOC
libsapjco3.soBiblioteca nativa de SAP JCo Linux que coincide con la arquitectura de runtime de Java

Para otro conector compatible, coloca las bibliotecas de proveedores enumeradas en la documentación de ese conector en el mismo directorio.

Comenzar con el ejecutor local​

Crea el directorio de dependencias, copia las bibliotecas en él e inicia el cliente de Relay con el ejecutor habilitado. Apunta --onprem-executor-java-home a un runtime de Java 21 o posterior, utilizando una ruta absoluta, para que el ejecutor utilice el runtime que deseas:

sudo ./relay start --config-file /path/to/config.txt \
  --accept-license-agreement \
  --enable-onprem-executor \
  --onprem-executor-java-home /usr/lib/jvm/java-21-openjdk \
  --onprem-executor-dep-dir /opt/uipath/relay/executor-deps
sudo ./relay start --config-file /path/to/config.txt \
  --accept-license-agreement \
  --enable-onprem-executor \
  --onprem-executor-java-home /usr/lib/jvm/java-21-openjdk \
  --onprem-executor-dep-dir /opt/uipath/relay/executor-deps
Nota:

Los marcadores --config y --config-file son mutuamente excluyentes. Para ejecutarse en primer plano en lugar de como un servicio en segundo plano (útil para la depuración), pasa --detach=false.

El cliente de Relay valida la conectividad, se autentica con OAuth, se registra con Test Cloud, descarga la configuración del proxy, cifra las credenciales e instala un servicio systemd, todo en un solo comando.

Salida esperada:

Running prerequisite checks...
  ✓ Directory permissions: OK
  ✓ Cloud portal connectivity: OK
✓ All prerequisite checks passed
Waiting for service to start...
  ✓ Service is running

✓ Relay is now running in the background.
Check status: systemctl status relay-<id>
Running prerequisite checks...
  ✓ Directory permissions: OK
  ✓ Cloud portal connectivity: OK
✓ All prerequisite checks passed
Waiting for service to start...
  ✓ Service is running

✓ Relay is now running in the background.
Check status: systemctl status relay-<id>
Nota:

Durante el inicio, el cliente de Relay copia automáticamente el binario en /usr/local/bin/relay. Todos los grupos de Relay en la máquina comparten este único binario. Anula el directorio de instalación con --bin-dir.

3. Verificar​

relay list
relay list

Un cliente en buen estado muestra ● running en la columna ESTADO. El valor ID que se muestra se utiliza en todos los comandos posteriores (relay stop <id>, relay logs <id>, etc.). También puedes encontrarlo en Administración de UiPath en la página de detalles del grupo de Relay.

Confirma que el túnel está establecido comprobando los registros de login to server success:

sudo relay logs <id> -f
sudo relay logs <id> -f

Si el ejecutor local está habilitado, confirma su configuración:

sudo relay describe <id>
sudo relay describe <id>

La sección Ejecutor local informa Enabled: true con el puerto de escucha, la versión del runtime, la ruta del runtime, el inicio de Java y el directorio de dependencias que está utilizando. Comprueba que el directorio de inicio de Java y las dependencias son los deseados.

A continuación, confirma que el ejecutor se ha iniciado. Su registro contiene una entrada Started OnPremRuntimeApplication una vez que está listo:

sudo grep "Started OnPremRuntimeApplication" /var/log/uipath-relay/logs/<id>/onprem-executor.log
sudo tail -n 20 /var/log/uipath-relay/logs/<id>/onprem-executor.log
sudo grep "Started OnPremRuntimeApplication" /var/log/uipath-relay/logs/<id>/onprem-executor.log
sudo tail -n 20 /var/log/uipath-relay/logs/<id>/onprem-executor.log

Si configuraste un directorio de registro personalizado, utiliza su ruta onprem-executor.log en su lugar. A continuación, ejecuta una llamada de prueba desde el conector que utiliza este punto final, para confirmar que la ruta completa funciona.

Administrar​

Lista​

Muestra todos los grupos de Relay instalados en esta máquina con el estado, la versión y el nombre del grupo cuando esté disponible. No requiere sudo.

relay list
relay list --json
relay list
relay list --json

Describir​

Nota:

Disponible con el cliente de Relay 26.4.2 y posterior. Ejecuta relay version para comprobar tu versión instalada.

Muestra información detallada para un grupo de Relay, incluida la configuración del servicio, las rutas configuradas, el estado, la versión y el nombre del grupo cuando esté disponible. No requiere sudo. Para un servicio del sistema con el ejecutor local habilitado, ejecútalo con sudo para incluir la versión del ejecutor, que se lee desde el onprem-executor.jarpropiedad de la raíz.

relay describe <id>
relay describe <id> --json
relay describe <id>
relay describe <id> --json

Detener​

Detiene el servicio de Relay. La configuración y los registros se conservan. El repetidor puede reiniciarse más tarde.

sudo relay stop <id>
sudo relay stop <id>

Reiniciar y actualizar​

Reinicia el servicio de Relay y obtiene la configuración más reciente del proxy de Test Cloud.

sudo relay restart <id>
sudo relay restart <id>

Actualizar: extrae el nuevo archivo del cliente de Relay. Mantén juntos el nuevo relay binario y onprem-executor.jar coincidente y, a continuación, ejecuta sudo ./relay restart <id> desde el directorio extraído. El comando de reinicio actualiza el binario instalado y, cuando el ejecutor está habilitado, su JAR.

Para habilitar el ejecutor en un servicio que ya está instalado, ejecuta sudo ./relay restart <id> --enable-onprem-executor desde el directorio de archivo extraído, para que el onprem-executor.jar correspondiente esté disponible.

EscenarioComando
Puntos finales añadidos o eliminados en Test Cloudsudo relay restart <id>
Rotación de secretos de cliente (en línea)sudo relay restart --config "<new-config>"
Rotación de secreto de cliente (archivo)sudo relay restart --config-file /path/to/new-config.txt
Cambio de nivel de registrosudo relay restart <id> --log-level debug
Cambio de directorio o retención de registrossudo relay restart <id> --logs-dir /opt/mycompany --log-retention-days 30
Habilitar el ejecutor localsudo ./relay restart <id> --enable-onprem-executor
Deshabilitar el ejecutor localsudo relay restart <id> --disable-onprem-executor
Actualización del cliente de RelayExtrae el nuevo archivo y ejecuta sudo ./relay restart <id>
Nota:

Cuando se proporciona --config o --config-file, el argumento <id> es opcional. Se extrae de la configuración.

Eliminar​

Detiene el servicio, anula el registro de Test Cloud y elimina todos los archivos de configuración y de registro locales.

sudo relay delete <id>
sudo relay delete <id>

Para forzar la limpieza local sin cancelar el registro en la nube, por ejemplo, si se pierden las credenciales o el grupo de Relay en la nube ya se ha eliminado:

sudo relay delete <id> --force
sudo relay delete <id> --force

Versión​

relay version
relay version
Nota:

No hay actualización automática. Extrae el nuevo archivo y ejecuta sudo ./relay restart <id> desde su directorio para cada grupo.

Estructura del directorio​

Todos los directorios se crean automáticamente en la primera ejecución.

/usr/local/bin/
  relay                                      # Shared binary (755)

/var/lib/uipath-relay/                       # Data root (755)
  groups/<id>/
    client_config                            # OAuth credentials (encrypted, 600)
    metadata.json                            # State, PID, install timestamps (644)
    .credentials.key                         # AES-256-GCM encryption key (600)
    onprem-executor.jar                      # Executor runtime when enabled (600)

/var/log/uipath-relay/                       # Logs root (755)
  logs/<id>/
    relay.log                                # Current log (644)
    relay.YYYYMMDD-HHMMSS.log                # Rotated logs (644)
    onprem-executor.log                      # Executor log when enabled

/etc/systemd/system/
  relay-<id>.service                         # Systemd unit file
/usr/local/bin/
  relay                                      # Shared binary (755)

/var/lib/uipath-relay/                       # Data root (755)
  groups/<id>/
    client_config                            # OAuth credentials (encrypted, 600)
    metadata.json                            # State, PID, install timestamps (644)
    .credentials.key                         # AES-256-GCM encryption key (600)
    onprem-executor.jar                      # Executor runtime when enabled (600)

/var/log/uipath-relay/                       # Logs root (755)
  logs/<id>/
    relay.log                                # Current log (644)
    relay.YYYYMMDD-HHMMSS.log                # Rotated logs (644)
    onprem-executor.log                      # Executor log when enabled

/etc/systemd/system/
  relay-<id>.service                         # Systemd unit file

Permisos de archivo​

RutaModeRazón
Directorios755Acceso de lectura/escritura de Relay
client_config600Contiene credenciales OAuth cifradas
.credentials.key600Clave de cifrado AES-256-GCM
metadata.json644Metadatos del servicio (estado, PID, marcas de tiempo de instalación)
onprem-executor.jar600Runtime del ejecutor copiado en el almacenamiento de servicio protegido
relay.log644Legible para la solución de problemas
Binario755Ejecutable por systemd
Directorio de dependencias (solo ejecutor)755, propiedad de rootTú lo creas; el ejecutor carga archivos JAR y bibliotecas nativas como código
Archivos en el directorio de dependencias644, propiedad de rootEl acceso de escritura a cualquiera de ellos es la ejecución de código como la cuenta de servicio

El cliente de Relay crea y mantiene todas las rutas de esta tabla excepto el directorio de dependencias. Es tuyo para crearlo y mantenerlo: mantenlo, y todo lo que contiene, propiedad de root y solo puede escribirlo root.

Rutas personalizadas​

Anule los directorios predeterminados al instalar el cliente de Relay.

sudo ./relay start --config-file /path/to/config.txt \
  --accept-license-agreement \
  --bin-dir /opt/mycompany/bin \
  --data-dir /opt/mycompany \
  --logs-dir /opt/mycompany
sudo ./relay start --config-file /path/to/config.txt \
  --accept-license-agreement \
  --bin-dir /opt/mycompany/bin \
  --data-dir /opt/mycompany \
  --logs-dir /opt/mycompany
MarcaPredeterminadoDescripción
--bin-dir/usr/local/binDirectorio para el binario compartido
--data-dir/var/libRaíz para datos de configuración
--logs-dir/var/logRaíz para archivos de registro; se puede cambiar con restart

El cliente de Relay anexa uipath-relay/ en los datos personalizados y las raíces de registro:

--bin-dir  /opt/mycompany/bin  =>  /opt/mycompany/bin/relay
--data-dir /opt/mycompany      =>  /opt/mycompany/uipath-relay/groups/<id>/
--logs-dir /opt/mycompany      =>  /opt/mycompany/uipath-relay/logs/<id>/
--bin-dir  /opt/mycompany/bin  =>  /opt/mycompany/bin/relay
--data-dir /opt/mycompany      =>  /opt/mycompany/uipath-relay/groups/<id>/
--logs-dir /opt/mycompany      =>  /opt/mycompany/uipath-relay/logs/<id>/
Nota:

--bin-dir y --data-dir solo son aceptados por el comando start. --logs-dir es aceptado por start y restart. Otros comandos (stop, delete, list) derivan rutas automáticamente de la configuración del servicio instalado.

Configuración de proxy​

Si tu red enruta el tráfico saliente a través de un proxy, exporta las variables de entorno del proxy antes de ejecutar relay start. Usa sudo -E para preservar el entorno al elevar:

export HTTPS_PROXY="http://proxy.corp.example.com:8080"
export NO_PROXY="localhost,127.0.0.1,.corp.example.com"
sudo -E ./relay start --config "<your-config>" --accept-license-agreement
export HTTPS_PROXY="http://proxy.corp.example.com:8080"
export NO_PROXY="localhost,127.0.0.1,.corp.example.com"
sudo -E ./relay start --config "<your-config>" --accept-license-agreement

Sin -E, sudo restablece el entorno y se pierde la configuración del proxy.

El cliente de Relay escribe las variables de proxy capturadas como directivas Environment= en el archivo de unidad systemd, por lo que el servicio en segundo plano las utiliza, no en todo el sistema /etc/environment.

Para actualizar el proxy después de la instalación: exporta los nuevos valores y ejecuta sudo -E relay restart <id>.

Para eliminar el proxy: unset HTTPS_PROXY HTTP_PROXY NO_PROXY y luego sudo relay restart <id>.

Para verificar lo que utiliza el servicio: systemctl cat relay-<id> | grep -i environment.

Para ver los esquemas de proxy y la autenticación compatibles, consulta la sección de proxy en Implementar el cliente de Relay.

Marcos de seguridad​

Si su entorno utiliza SELinux, AppArmor o fapolicyd, asegúrese de que el binario del cliente de Relay y sus directorios de datos estén permitidos.

Si habilitas el ejecutor local, el servicio de Relay también ejecuta el ejecutable de Java y carga las bibliotecas nativas desde el directorio de dependencias. Permite ambos, o el ejecutor no se inicia o no puede cargar sus bibliotecas de conectores.

SELinux​

# Check enforcement mode
getenforce

# Relabel the binary if a custom policy blocks it
sudo semanage fcontext -a -t bin_t '/usr/local/bin/relay'
sudo restorecon -v /usr/local/bin/relay
# Check enforcement mode
getenforce

# Relabel the binary if a custom policy blocks it
sudo semanage fcontext -a -t bin_t '/usr/local/bin/relay'
sudo restorecon -v /usr/local/bin/relay

Cuando el ejecutor local está habilitado, el servicio de Relay también ejecuta el ejecutable de Java y carga las bibliotecas nativas desde el directorio de dependencias. Etiqueta solo las rutas que generan denegaciones. Comprueba primero si hay denegaciones.

sudo ausearch -m AVC -ts recent | grep -i -e relay -e java
sudo ausearch -m AVC -ts recent | grep -i -e relay -e java

Si las denegaciones muestran que el proceso Java rechazó el acceso de lectura o asignación al directorio de dependencias, etiqueta las bibliotecas nativas como bibliotecas compartidas.

sudo semanage fcontext -a -t lib_t '/opt/uipath/relay/executor-deps(/.*\.so(\..*)?)?'
sudo restorecon -Rv /opt/uipath/relay/executor-deps
sudo semanage fcontext -a -t lib_t '/opt/uipath/relay/executor-deps(/.*\.so(\..*)?)?'
sudo restorecon -Rv /opt/uipath/relay/executor-deps

Para cualquier denegación restante, crea un módulo de política en lugar de deshabilitar la aplicación.

sudo ausearch -m AVC -ts recent | audit2allow -M uipath-relay-executor
sudo semodule -i uipath-relay-executor.pp
sudo ausearch -m AVC -ts recent | audit2allow -M uipath-relay-executor
sudo semodule -i uipath-relay-executor.pp

AppArmor​

Asegúrate de que ningún perfil restrinja a /usr/local/bin/relay el acceso a la red o la escritura de archivos a /var/lib/uipath-relay/ y /var/log/uipath-relay/. Si utiliza rutas personalizadas, sustitúyalas en consecuencia.

Si su organización limita los servicios locales con sus propios perfiles de AppArmor y el ejecutor local está habilitado, el perfil que cubre el binario de Relay también debe permitirle ejecutar el tiempo de ejecución de Java y permitir que el proceso de Java lea y asigne las bibliotecas del conector en el directorio de dependencias. Compruebe si hay denegaciones con sudo journalctl -k | grep -i apparmor.

fapolicyd​

sudo fapolicyd-cli --file add /usr/local/bin/relay
sudo fapolicyd-cli --update
sudo fapolicyd-cli --file add /usr/local/bin/relay
sudo fapolicyd-cli --update

Cuando el ejecutor local está habilitado, fapolicyd también debe confiar en el ejecutable de Java, el JAR del runtime del ejecutor y cada biblioteca de conectores. Un runtime de Java instalado desde un archivo en lugar de un paquete de distribución no está en la base de datos del paquete y no es de confianza de forma predeterminada; un tiempo de ejecución empaquetado como java-21-openjdk no necesita ninguna entrada.

Confiar en cada archivo de forma individual.

sudo fapolicyd-cli --file add <java-home>/bin/java
sudo fapolicyd-cli --file add /var/lib/uipath-relay/groups/<id>/onprem-executor.jar
sudo fapolicyd-cli --file add /opt/uipath/relay/executor-deps/sapjco3.jar
sudo fapolicyd-cli --file add /opt/uipath/relay/executor-deps/sapidoc3.jar
sudo fapolicyd-cli --file add /opt/uipath/relay/executor-deps/libsapjco3.so
sudo fapolicyd-cli --update
sudo fapolicyd-cli --file add <java-home>/bin/java
sudo fapolicyd-cli --file add /var/lib/uipath-relay/groups/<id>/onprem-executor.jar
sudo fapolicyd-cli --file add /opt/uipath/relay/executor-deps/sapjco3.jar
sudo fapolicyd-cli --file add /opt/uipath/relay/executor-deps/sapidoc3.jar
sudo fapolicyd-cli --file add /opt/uipath/relay/executor-deps/libsapjco3.so
sudo fapolicyd-cli --update

Vuelve a ejecutar fapolicyd-cli --file update <path> y fapolicyd-cli --update después de cualquier actualización que reemplace un archivo de confianza: una actualización de cliente de Relay, que reemplaza a onprem-executor.jar, una actualización de Java o una nueva versión de la biblioteca del conector. Las entradas de confianza registran el tamaño y el hash de cada archivo, por lo que dejan de coincidir una vez que cambia un archivo. Si el ejecutor no se inicia en un host que ejecuta fapolicyd, marca sudo journalctl -u fapolicyd -n 50.

Rutas para permitir​

TipoRuta predeterminada
Binario/usr/local/bin/relay
Datos/var/lib/uipath-relay/
Registros/var/log/uipath-relay/
Ejecutable de Java (solo ejecutor local)La ruta java resuelta desde PATH, o <java-home>/bin/java
Bibliotecas de conectores (solo ejecutor local)El directorio pasado a --onprem-executor-dep-dir

Si utilizaste --bin-dir, --data-dir o --logs-dir, permite esas rutas personalizadas en su lugar.

Modo de usuario​

El modo de usuario (--user-mode) instala el cliente de Relay como un servicio de usuario de systemd en lugar de un servicio del sistema, lo que le permite ejecutarse sin sudo. Esto es adecuado para máquinas compartidas y entornos restringidos donde el acceso a la raíz no está disponible.

Requisitos​

RequisitosDetalles
systemd 229+Verificar: systemctl --version
Directorio de inicioDebe existir y ser propiedad del usuario de destino
sesión de usuario de systemdVerificar: systemctl --user is-system-running devuelve running o degraded
Inicio de sesión SSHObligatorio. su / sudo su no proporcionan la sesión de D-Bus que necesitan los servicios de usuario
loginctl lingerObligatorio para que el servicio persista después de cerrar la sesión e iniciarse en el arranque

Habilitar persistencia (una vez, requiere administrador):

sudo loginctl enable-linger <username>
sudo loginctl enable-linger <username>

Sin linger, los servicios de usuario se detienen al cerrar la sesión y no se inician al arrancar.

Iniciar en modo de usuario​

./relay start --user-mode --config-file /path/to/config.txt --accept-license-agreement
./relay start --user-mode --config-file /path/to/config.txt --accept-license-agreement

Ejecutor local en modo de usuario​

En modo de usuario, el ejecutor se ejecuta como tu cuenta de usuario en lugar de root, y se aplican los mismos indicadores de ejecutor:

./relay start --user-mode --config-file /path/to/config.txt \
  --accept-license-agreement \
  --enable-onprem-executor \
  --onprem-executor-java-home <java-home> \
  --onprem-executor-dep-dir <dep-dir>
./relay start --user-mode --config-file /path/to/config.txt \
  --accept-license-agreement \
  --enable-onprem-executor \
  --onprem-executor-java-home <java-home> \
  --onprem-executor-dep-dir <dep-dir>

El directorio de dependencias no debe ser de escritura grupal o universal. Si hay un administrador disponible, haz que lo cree propiedad de root con acceso de lectura para tu cuenta, para que ninguna cuenta sin privilegios pueda cambiar lo que carga el ejecutor. De lo contrario, créalo tú mismo con chmod 0755 en el directorio y 0644 en los archivos.

Diseño del directorio en modo de usuario​

~/.local/bin/
  relay                                      # Shared binary (755)

~/.local/share/uipath-relay/
  groups/<id>/
    client_config                            # OAuth credentials (encrypted, 600)
    metadata.json                            # Service metadata (644)
    .credentials.key                         # Encryption key (600)
    onprem-executor.jar                      # Executor runtime when enabled (600)
  logs/<id>/
    relay.log
    relay.YYYYMMDD-HHMMSS.log
    onprem-executor.log                      # Executor log when enabled

~/.config/systemd/user/
  relay-<id>.service                         # Systemd user unit file
~/.local/bin/
  relay                                      # Shared binary (755)

~/.local/share/uipath-relay/
  groups/<id>/
    client_config                            # OAuth credentials (encrypted, 600)
    metadata.json                            # Service metadata (644)
    .credentials.key                         # Encryption key (600)
    onprem-executor.jar                      # Executor runtime when enabled (600)
  logs/<id>/
    relay.log
    relay.YYYYMMDD-HHMMSS.log
    onprem-executor.log                      # Executor log when enabled

~/.config/systemd/user/
  relay-<id>.service                         # Systemd user unit file

La ruta ~/.config/systemd/user/ no se puede anular. Las rutas binarias, de datos y de registro se pueden personalizar con --bin-dir, --data-dir y --logs-dir.

Comandos de gestión en modo de usuario​

Todos los comandos funcionan sin sudo:

relay list
relay stop <id>
relay restart <id>
relay delete <id>
relay logs <id> -f
relay list
relay stop <id>
relay restart <id>
relay delete <id>
relay logs <id> -f

Cuándo utilizar el modo de usuario​

EscenarioRecomendado
Servidor de producción con acceso raízModo de sistema (predeterminado)
Máquina compartida, sin acceso a la raízModo de usuario
Desarrollo o pruebasModo de usuario
Entornos sensibles a la seguridadModo de sistema (ruta binaria a prueba de manipulaciones)

Desinstalar​

  1. Elimine todos los clientes de Relay (use relay list para ver los grupos instalados):

    sudo relay delete <id>
    sudo relay delete <id>
    
  2. Eliminar el binario compartido:

    sudo rm /usr/local/bin/relay
    sudo rm /usr/local/bin/relay
    
  3. Eliminar los directorios de datos y registro restantes:

    sudo rm -rf /var/lib/uipath-relay /var/log/uipath-relay
    sudo rm -rf /var/lib/uipath-relay /var/log/uipath-relay
    

Para el modo de usuario, reemplaza los comandos por los equivalentes en modo de usuario (sin sudo) y elimina ~/.local/bin/relay y ~/.local/share/uipath-relay.

Solución de problemas​

SíntomaCausaResolución
El servicio no se iniciaPermisos insuficientesEjecutar con sudo
permission deniedNo se pueden crear directoriosVerifique el acceso sudo o utilice rutas personalizadas a una ubicación de escritura
systemctl: command not foundsystemd no instaladoUtilice el modo en primer plano (--detach=false) o instale systemd
El servicio se inicia y se detiene inmediatamenteError de configuración o de redCompruebe relay.log si hay errores de inicio
Servicio en ejecución pero túnel no establecidoProblema de red o autenticaciónCompruebe relay.log para ver si hay login to server errores; verificar la conectividad a cloud.uipath.com; para versiones de cliente de Relay anteriores a 26.4.2, verifique el paso de TLS al nombre de host de Relay regional
Ejecución de bloqueo de SELinux o AppArmorPolítica de marco de seguridadConsulta Marcos de seguridad
XDG_RUNTIME_DIR not found (modo de usuario)No ha iniciado sesión a través de SSHInicie sesión a través de SSH o habilite la persistencia
D-Bus session bus unreachable (modo de usuario)No ha iniciado sesión a través de SSHInicie sesión a través de SSH o habilite la persistencia
Proxy no utilizado por el servicioVariable no capturada al inicioVuelva a ejecutar con sudo -E o verifique con systemctl cat relay-<id> | grep -i environment
CPU o memoria altasNivel de registro establecido en trace o debugEstablezca el nivel de registro en info o superior

Comandos de diagnóstico​

# Real-time logs
sudo relay logs <id> -f

# Systemd journal
journalctl -u relay-<id> -f

# Service status
systemctl status relay-<id>

# Connectivity test
nc -zv cloud.uipath.com 443

# Required only for Relay client versions earlier than 26.4.2
nc -zv <region>-relay.uipath.com 443

# Check if binary is blocked by SELinux
sudo ausearch -m AVC -ts recent

# Check AppArmor status
sudo aa-status
# Real-time logs
sudo relay logs <id> -f

# Systemd journal
journalctl -u relay-<id> -f

# Service status
systemctl status relay-<id>

# Connectivity test
nc -zv cloud.uipath.com 443

# Required only for Relay client versions earlier than 26.4.2
nc -zv <region>-relay.uipath.com 443

# Check if binary is blocked by SELinux
sudo ausearch -m AVC -ts recent

# Check AppArmor status
sudo aa-status

Para errores de autenticación y conectividad compartidos entre plataformas, consulta Resolución de problemas.

Referencia rápida​

AcciónComando
Iniciarsudo relay start --config-file config.txt --accept-license-agreement
Detenersudo relay stop <id>
Reiniciar/actualizarsudo relay restart <id>
Eliminarsudo relay delete <id>
Eliminar (forzar)sudo relay delete <id> --force
Listarelay list
Describirrelay describe <id>
Registrosrelay logs <id> -f
Estado del serviciosystemctl status relay-<id>
Diario de Systemdjournalctl -u relay-<id> -f

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado