У меня есть задача, которая включает в себя создание серии библиотек из исходников с использованием configure; make; make install
. Сгенерированные библиотеки и другие файлы будут помещены во встроенную систему, совместимую со средой сборки.
У меня вопрос: как мне узнать, какие файлы были установлены и где, чтобы я мог их взять и переместить во встроенную среду?
Журнал создается путем запуска make install
? Или я просто использую вывод make install
в файл?
Предложения, подсказки и подсказки будут очень благодарны.
Это причина №1 для использования системы упаковки, такой как RPM (Red Hat) или deb (Debian).
Для встроенных систем Linux обычная система управления пакетами opkg, преемник ipkg, который основан на формате deb и обычно легко адаптируется из инструкций по сборке пакетов Debian.
Ты можешь использовать make -n install
чтобы увидеть, что сделает make install. Обратите внимание, что иногда одна из команд, которые он запускает, является другой. make
в дочернем каталоге; make -n
не рекурсивный.
Если программное обеспечение использует стандартный сценарий настройки gnu autoconf, вы сможете:
./configure --prefix=/my/directory/for/embedded/system [...]
и тогда все будет установлено под этим префиксом.
Вы можете попробовать скопировать его в «стандартные» места во встроенной системе, но программное обеспечение может работать или работать некорректно.
По крайней мере, вы можете использовать это как способ инвентаризации того, что устанавливает программное обеспечение.
Еще одна хитрость - попробуйте изменить Makefile, чтобы переопределить команду, устанавливающую файлы (часто «install» или «install.sh»). Замените его своей версией, которая записывает свои действия в файл журнала.
Если вам нужно более легкое решение, которое поможет справиться с этим (по сравнению с RPM или dpkg), взгляните на GNU Stow.