p4 - у меня нет такого файла или каталога - когда на самом деле он существует

Я установил на сервере клиент командной строки p4, и случилось нечто странное. Он существует, имеет права на выполнение, но я не могу выполнить его, потому что получил сообщение, что его не существует.

Я добавлю терминальные команды и вывод для описания всей ситуации:

user@host:~$ echo $PATH 
/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

user@host:~$ which p4
/opt/bin/p4

user@host:~$ ls -l /opt/bin/p4
-rwxr-xr-x 1 root root 748840 2010-03-16 00:24 /opt/bin/p4

user@host:~$ file /opt/bin/p4
/opt/bin/p4: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped

user@host:~$ ldd /opt/bin/p4
        not a dynamic executable

user@host:~$ p4
-bash: /opt/bin/p4: No such file or directory

user@host:~$ /opt/bin/p4
-bash: /opt/bin/p4: No such file or directory

user@host:~$ strace /opt/bin/p4
execve("/opt/bin/p4", ["/opt/bin/p4"], [/* 19 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f58db339000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3)                                = 0
munmap(0x7f58db339000, 4096)            = 0
exit_group(1)                           = ?

2 ответа

Решение

Я нашел причину, почему он не хочет работать.

Это было приложение, созданное для 32-битной системы, и у меня была 64-битная.

Какова ваша структура объема? Является ли /opt частью корневой файловой системы, или отдельной файловой системой, или символической ссылкой на другую файловую систему?

Другие вопросы по тегам