Depends.exe для GNU / Linux - PullRequest
       5

Depends.exe для GNU / Linux

4 голосов
/ 27 июля 2010

Мне нужно распространять бинарный файл для GNU / Linux ...

В Windows я мог бы запустить утилиту с именем "depenin.exe", которая проверила бы все зависимости, которые есть у файла, поэтому я быбыть в состоянии знать, что отправить с файлом, как я делаю то же самое с GNU / Linux?

Пояснение: я не имел в виду буквально распространять его (если только это не какая-то определенная библиотека, которая никогда не генерирует проблемы, например.. libThatOnlyMySoftwareUseVersion0.00042895.08421 это не похоже на то, чтобы понять, что пользователям потребуется ...)

Ответы [ 3 ]

9 голосов
/ 27 июля 2010

Утилита, которую вы ищете в Linux, называется ldd.Однако, сделайте одолжение своим пользователям и не думайте о распространении библиотек с вашей программой.Требуйте от своих пользователей установки необходимых компонентов по соответствующим каналам.Или, что еще лучше, упакуйте свое программное обеспечение, используя соответствующую систему установки, такую ​​как RPM, apt или portage (я предполагаю, что вы не можете использовать распространение исходного кода и автоинструменты);Это позволяет системе управления пакетами автоматически разрешать зависимости путем добавления любых необходимых библиотек.

Распространение версий библиотек с использованием специальных схем будет вызывать проблемы только у конечных пользователей (что-то похожее на ад DLL в Windows).Они могут привести к конфликтам, сбоям и, возможно, дырам в безопасности.

Вы можете использовать ldd, чтобы выяснить, от каких библиотек зависит ваш двоичный файл, чтобы вы могли установить надлежащие зависимости при создании пакетов (некоторые упаковщики, например RPM, действительно делают это для вас).

1 голос
/ 27 июля 2010

обычно вы собираете бинарный файл linux для конкретного дистрибутива linux и просто предоставляете свой собственный бинарный файл, а пользователям требуется установить другие компоненты.Если вы используете систему, в которой используются пакеты rpm, вы хотите узнать, как создавать RPM, если вы используете вариант Debian, то хотите посмотреть, как создаются apt бинарные пакеты.

Если вы хотите вручную проверить, с какими библиотеками связывает ваш двоичный файл, то:

    ldd /whereever/is/your/binary

предоставит вам список связанных библиотек для динамически связанного двоичного файла.но вы НЕ хотите распространять большинство из них, поскольку это похоже на попытку перераспределения system32.dll или windows.dll плохая плохая идея: ^)

1 голос
/ 27 июля 2010

В Linux вы можете попробовать ldd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...