Prelink

Материал из ALT Linux Wiki

Большинство приложений в Linux используют динамически загружаемые библиотеки, которые содержат различные функции, необходимые для их работы. При каждом запуске приложения должны быть также загружены эти библиотеки. В случае тяжелых приложений, имеющих большое количество связей, этот процесс может занять определенное время. При этом выполняемые для связывания библиотек действия одинаковы, если сами библиотеки не меняются. Утилита prelink позволяет прописать связи с библиотеками непосредственно в исполняемый файл, что ускорит запуск приложения. Выполняется это без перекомпиляции приложений.

Устанавливаем Prelink

apt-get install prelink

Чтобы запускать команду без полного пути (программа устанавливается в sbin) сделаем символьную ссылку:

ln /usr/sbin/prelink /usr/bin/prelink

Запускаем команду:

prelink -avfmR
  • -a — All, применить предварительное связывание ко всем выполняемым файлам.
  • -m — Сохраняет пространство виртуальной памяти. Это требуется, если вы имеете много библиотек, которые необходимо связать.
  • -f — Вынуждает повторить предварительное связывание для файлов, которые уже подвергались ему. Это необходимо, т.к. программа prelink прекращает обработку существующих старых связанных файлов, зависимые библиотеки которых могли измениться.
  • -R — Random, выбирает случайный порядок адресов, это увеличивает безопасность против атак переполнений буферов.

Prelink необходимо запускать после каждого обновления библиотек и/или приложений.

Источники