Выполнение бинарного файла Linux
Ну, сегодня я столкнулся с очень странной вещью, и я не знаю, связано ли это с моей ОС или виртуализацией. Я запускал двоичные файлы игрового сервера, и они всегда работали. Простые параметры./binary + хорошо справляются с этой задачей, но сегодня я хотел скопировать все данные на недавно купленный VPS. Это было так же, как и раньше, Debian ( XEN). Так что на новом VPS, когда я делаю./binary без каких-либо разрешений, было бы сказано, что разрешение отклонено. Теперь это в значительной степени логично, потому что мне нужно сделать "chmod a+x" для файла, чтобы это работало, но даже после того, как это сделано, он говорит "File Missing", хотя он отлично работает на другой машине. Что может быть не так?
1 ответ
Если двоичный файл зависит от какой-либо загружаемой библиотеки, отсутствующей на вашем новом сервере, он обычно говорит так:
error while loading shared libraries: libfoobar.so.42: cannot open shared object file: No such file or directory
но я не уверен, что это общее / стандартизированное сообщение.
Вы можете проверить динамическое связывание с ldd(1)
инструмент и искать неразрешенных библиотек (они обычно отмечены "=> not found"
)
С другой стороны, возможно, ваш бинарный файл загружается и запускается без каких-либо проблем, и он просто проверяет, какие файлы он хочет и не находит их, и именно ваш бинарный файл (не динамический загрузчик lib) печатает это сообщение., Если вы не получили никакого другого сообщения, кроме "File Missing", я подозреваю, что это то, что происходит с вами, и вы должны посмотреть вашу двоичную документацию (если она есть).