Динамический бинарник

Для запуска x86-приложений на e2karrow-up-right под бинарным трансляторомarrow-up-right необходимо подготовить окружение, достаточное для выполнения целевого приложения; в случае динамически скомпонованного исполняемого файла это обычно чрутarrow-up-right с нужными библиотеками

Для запуска нам нужен statifier

circle-info

Что такое statifier

Это утилита, которая превращает динамически слинкованные исполняемые файлы в статически слинкованные. То есть, она включает все необходимые библиотеки в один бинарник, который можно запускать без зависимости от системных библиотек.

Действия по упаковке:

# Установка утилиты для превращения динамических бинарников в статические
apt-get install -y statifier

# Монтируем /proc (нужно statifier'у для анализа зависимостей)
mount /proc

# Указываем путь к библиотекам megacli, если они не в стандартных директориях
export LD_LIBRARY_PATH="/usr/lib/megacli:$LD_LIBRARY_PATH"

# Создаём статически слинкованный бинарник megacli
statifier /usr/lib/megacli/megacli.real /root/megacli

# Отмонтируем /proc — очищаем после себя
umount /proc

# Проверяем, использует ли бинарник динамические библиотеки 
# должен показать "not a dynamic executable"
ldd /root/megacli

Полученный бинарник без внешних библиотечных зависимостей проверяем на функционирование: /root/megacli -h затем перепаковываем, как rtc-megacli

chevron-rightrtc-megacli.spechashtag

А после уже делаем вызов так же, будто это уже статика:

Last updated