Как узнать, построен ли бинарный файл git против openssl или gnutls, если git-http-fetch не установлен?
Мне нужно проверить, установлена ли установленная версия git на нескольких системах против gnutls или openssl. Метод для этого можно найти здесь, но полагается на наличие установленного двоичного git-http-fetch, для которого можно запустить "ldd git-http-fetch". Например, я вижу это на Ubuntu 16.04 с git 2.7.4. Я могу предоставить аргумент http-fetch для git для доступа к той же функции, но это не помогает, так как я хочу использовать ldd для проверки того, какие общие объекты будут связаны. Я мог бы просто выполнить git-транзакцию с помощью strace, а затем grep для фактически загруженных библиотек, но это требует конечной точки теста и кажется громоздким.
Как я могу установить этот дополнительный бинарный файл? Кроме того, как я могу адаптировать инструкции из предыдущего вопроса в отсутствие этого двоичного файла?
1 ответ
Первый - поиск пакета, который в Ubuntu предоставляет git-http-fetch
В некотором смысле, к моему удивлению, ответ - это пакет git, но файл похоронен в / usr / lib / git-core / git-http-fetch, а / usr / lib / git-core отсутствует в моем PATH.
Поэтому следующая команда решает мою проблему.
ldd / usr / lib / git-core / git-http-fetch | грецкие орехи
Обратите внимание, что в Ubuntu 16.04 и более ранних версиях нужно следить за проблемами с пакетом git-all, которые, как я ошибочно предположил, могут помочь. Существует ошибка, которая означает, что она не будет установлена правильно. См. https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164