Щоб розібратися, що відбувається при прелінкінге, потрібно згадати про те, що переважна більшість Linux-додатків не містить в собі весь необхідний для їх роботи код, а використовує т.зв. колективні бібліотеки. І зазвичай програми при складанні зв'язуються з такими бібліотеками динамічно, тобто необхідні функції викликаються з них в ході завантаження програми. В одних випадках це відбувається швидко, в інших - дратівливо медленно.І боротися з цим перекомпиляцией і оптимізацією майже марно - виграш в швидкості не перевищує декількох відсотків.
Однак операція динамічного зв'язування програми з опорними бібліотеками завжди відбувається однаково. І тому виникає припущення - а чи не можна виконати його раз і назавжди? Можна, і саме в цьому - в збереженні бібліотечних зв'язків в виконуваному файлі програми, - і полягає прелінкінг (його не слід змішувати зі статичної складанням програм).
в більшості, якщо не у всіх, дистрибутивах ставиться стандартним менеджером пакетів
опції доступні в хелпе
в результаті софт запускається швидше.
працює система стабільно і спритно, але в разі виникнення проблем
скасування попереднього зв'язування
Запускати кожен раз після установки / оновлення / перевстановлення софта, щоб всі програми були попередньо пов'язані
P.S. Є приємний «побічний» ефект - зменшує апетити софта щодо пам'яті
13 Responses to "Prelink"
А які є мінуси?
мінуси ... особисто я не стикався
та й в тирнета не зустрічав проблем з ним
так там тільки проблеми самого прелінка + пара дуже рідкісних випадків
KDE's loading time can be greatly reduced after prelinking. If you inform KDE that it has been prelinked it will disable the loading of kdeinit (as it is not required anymore) which speeds up KDE even more.
Set KDE_IS_PRELINKED = 1 in /etc/env.d/*kdepaths* to inform KDE about the prelinking.
А навіщо прапор -f? Адже нам не потрібно при кожному оновленні пов'язувати вже пов'язані програми. Досить зробити це тільки для нових або змінених.
2vurdalak, шкоди не буде.
З мінусів: одного разу запуск прелінк вбив мені Убунту.
glibc-2.13?
інших варіантів немає
в 2.13-r1 вже пофіксити
Не повіриш, але prelink розвантажив пам'ять моєї свіжовстановленому Генті майже в 2 рази. А я вже матом почав лаятися.