Использование prelink для загружаемых вручную библиотек? (например, родные библиотеки Java)

Насколько я могу судить, prelink может работать только с динамическими библиотеками, которые исполняемый файл объявляет во время компиляции (библиотеки, которые можно найти с помощью ldd ). Он, похоже, не включает динамические библиотеки, которые вручную загружаются исполняемым файлом, например плагины или (в моем конкретном случае) родные библиотеки Java. Есть ли способ заставить prelink для покрытия таких библиотек?

  • Возможно ли получить информацию для дерева устройств с помощью / sys работающего ядра?
  • Почему mv не может иметь дело с существованием каталога с одним именем в месте назначения?
  • chcon: не может применять частичный контекст к немеченому файлу при установке nagios с SELinux
  • Какова связь между «доменами» драйверов устройств Linux?
  • Нужна помощь при переразметке
  • Как драйвер wifi подвергается воздействию пользовательского пространства?
  • Разница между «chmod 775» и «chmod 2755»
  • Использование файлов / etc / sysconfig / network-scripts / ifcfg-eth *
  • Как правильно настроить setfont и loadkeys?
  • Как установить Ruby GEM_HOME и GEM_PATH
  • Узнайте, какие процессы записываются на жесткий диск
  • Почему uname -m сообщает по-разному в среде chroot и schroot?
  • One Solution collect form web for “Использование prelink для загружаемых вручную библиотек? (например, родные библиотеки Java)”

    Когда вы запускаете prelink на двоичном prelink ELF, он будет проверять только сам бинарный файл и его зависимости (как указано в .dynamic ELF .dynamic и .dynstr ).

    Вы должны иметь возможность использовать:

     prelink --libs-only libone.so libtwo.so [...] 

    Если одна библиотека зависит от другой, вам может потребоваться указать их вместе в одной и той же командной строке (то есть, если они не находятся в обычном линкере).

    Однако важной частью предварительной привязки является возможность определить наилучшее место для загрузки каждой библиотеки для процесса, возможно, вы не будете в полной мере использовать предварительную привязку, делая изолированные библиотеки. Это не должно происходить так долго, что оба они верны:

    • вы используете общий кэш ( /etc/prelink.cache ), чтобы все библиотеки получили уникальную базу
    • вы не используете -m (сохраняете память) при предварительной привязке

    Подтвердите, что операция прошла успешно

     prelink --print-cache 
    Linux и Unix - лучшая ОС в мире.