Назад | Перейти на главную страницу

Выполнение двоичного файла linux

Что ж, сегодня я наткнулся на очень странную вещь, и я не знаю, связано ли это с моей ОС или виртуализацией. Я запускал двоичные файлы игрового сервера, и они всегда работали. Простые параметры ./binary + отлично справляются со своей задачей, но сегодня я хотел скопировать все это на недавно купленный VPS. Все было так же, как и раньше, Debian (XEN). Итак, на новом VPS, когда я использую ./binary без каких-либо разрешений, он говорит, что в разрешении отказано. Это в значительной степени логично, потому что мне нужно выполнить команду «chmod a + x» для файла, чтобы это сработало, но даже после того, как это будет сделано, он говорит «Файл отсутствует», хотя он отлично работает на другой машине. Что могло быть не так?

Если двоичный файл зависит от какой-либо загружаемой библиотеки, которая отсутствует на вашем новом сервере, обычно это говорит так:

error while loading shared libraries: libfoobar.so.42: cannot open shared object file: No such file or directory

но я не уверен, что это общее / стандартизованное сообщение.

Вы можете проверить динамическое связывание с помощью ldd(1) tool и найдите неразрешенные библиотеки (обычно они отмечены "=> not found" )

С другой стороны, возможно, ваш двоичный файл загружается и запускается без каких-либо проблем, и он просто проверяет некоторые файлы, которые он хочет, и не находит их, и это ваш двоичный файл (а не динамический загрузчик библиотеки) выводит это сообщение . Если вы не получаете никакого другого сообщения, кроме «File Missing», я подозреваю, что это именно то, что происходит с вами, и вам следует поискать свою двоичную документацию (если она есть).