Esto está en Arch Linux. Mira esto:
[saint-llama@hubs bin]$ lsattr
--------------e----- ./install_fnp.sh
--------------e----- ./toolkitinstall.sh
--------------e----- ./FNPLicensingService
[saint-llama@hubs bin]$ file FNPLicensingService
FNPLicensingService: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-lsb-x86-64.so.3, for GNU/Linux 2.6.18, stripped
[saint-llama@hubs bin]$ ldd FNPLicensingService
linux-vdso.so.1 (0x00007ffcbafd8000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f870ce06000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f870cdfb000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f870cdd9000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f870cc93000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f870cc79000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f870cab2000)
/lib64/ld-lsb-x86-64.so.3 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f870ce60000)
[saint-llama@hubs bin]$ sudo ./FNPLicensingService
sudo: unable to execute ./FNPLicensingService: No such file or directory
Entonces existe con seguridad. Ldd muestra que todas las bibliotecas están vinculadas. El archivo muestra que es un elfo de 64 bits (y estoy en una instalación de 64 bits).
¿Lo que da? ¿Por qué aparece el mensaje "No existe tal archivo o directorio"?
Respuesta1
Este comando me solucionó el problema en Arch Linux permitiéndome ejecutar el binario elf:
sudo pacman -Syy ld-lsb lsb-release
Para otras versiones de Linux,
Deberías instalar elpaquete ld-lsb(o lsb-compat
cualquier paquete similar que contenga ld-lsb-x86-64.so.3
) o cree un script contenedor/ejecutable que inicie su programa a través del vinculador dinámico existente:
#! /bin/sh
/usr/lib64/ld-linux-x86-64.so.2 ./FNPLicensingService "$@"
¿Lo que da? ¿Por qué aparece el mensaje "No existe tal archivo o directorio"?
Esa es una verruga bien conocida. A pesar de mostrar la ruta del binario, el mensaje de error se refiere al enlazador dinámico/intérprete ELF requerido por el binario que no existe, no al binario en sí.
El resultado de ldd
NO le indica si el vinculador dinámico realmente existe; ldd
hoy en día utiliza un enlazador dinámico de una lista de "rutas seguras" en lugar del grabado en el binario, para evitar que los usuarios que ejecutan ldd
binarios aleatorios se dañen a sí mismos. Y su resultado también es confuso y engañoso en el caso de archivos binarios cuyo intérprete no existe. Ejemplo sencillo:
$ cp /bin/sh /tmp/sh
$ patchelf --set-interpreter /no/such/file /tmp/sh
$ /tmp/sh
bash: /tmp/sh: No such file or directory
$ ls /tmp/sh
/tmp/sh
$ file /tmp/sh
/tmp/sh: ELF 64-bit LSB ..., interpreter /no/such/file, ...
$ ldd /tmp/sh => /foo/bar => /lib64/ld-linux-x86-64.so.2
...
/no/such/file => /lib64/ld-linux-x86-64.so.2 (0x00007fc60d225000)
Respuesta2
Creo que el problema puede ser que sudo ejecuta solo comandos que existen en los directorios especificados en secure_path
o /etc/sudoers
si $PATH
no secure_path
está configurado. Aunque en este caso el mensaje de error habitual es command not found
.
Podrías intentar agregar el directorio con un ejecutable secure_path
y ver cómo funciona.
También asegúrese de que el archivo tenga un bit ejecutable configurado:chmod +x FNPLicensingService
Respuesta3
Después de Google, sospecho que este comando simplemente se niega a ejecutarse desde la línea de comandos y falsifica ese mensaje.
Pregunta Debido a que el servicio de licencias no es un "servicio" en una Mac (usamos install_fnp.sh para generar un binario setuid-root quees invocado por aplicaciones habilitadas para Flex a través de nuestras bibliotecas), esto plantea la pregunta: ¿cuánto tiempo normalmente permanece ejecutándose FNPLicensingService después de que se desconecta el último cliente?
También hay muchas advertencias de que a menudo se asocia malware con este software. Se recomienda precaución.