Как ни странно, начитавшись статей типа Ускорение openSUSE: prelink и Сокращение времени загрузки Fedora 17 c 15 до 3 секунд можно обнаружить, что запускать prelink постоянно вручную довольно "не кошерно". Этак надо у себя прививать новую привычку (можно, например, даже напоминание на мобильнике устанавливать).
Мейнтейнеры некоторых дистрибутивов это осознали и начали добавлять в пакеты специальный скрипт для планировщика задач cron и для значительного упрощения своей участи пользователи prelink могут этот скрипт коварно позаимствовать. С поисками далеко идти не нужно - достаточно взять файл prelink.cron из prelink-0.4.5-4.fc17.src.rpm и немного исправить.
Пошагово:
Для ежедневного выполнения prelink, данный файл нужно скопировать в /etc/cron.daily/ и дать права на выполнение:
Отредактировать скрипт, чтобы он использовал переменные из файла /etc/sysconfig/prelink специфичные для openSUSE. Содержимое его при этом становится таким:
Убедитесь, что cron запущен, чтобы не было недоразумений:
Согласно данным из /etc/sysconfig/cron, prelink.cron будет выполняться через 15 минут после загрузки системы, а в следующий раз через 24 часа и так далее.
Дополнительно к этому можно выставить параметру USE_PRELINK в файле /etc/sysconfig/prelink значение "yes", чтобы prelink автоматически запускался после каждого выполнения SuSEconfig, который выполняется, например, после обновления многих системных пакетов, да и вообще после операций с пакетами в YaST2. Сделать это можно как с помощью любимого текстового редактора, так и модуля YaST2 "редактор /etc/sysconfig".
Мейнтейнеры некоторых дистрибутивов это осознали и начали добавлять в пакеты специальный скрипт для планировщика задач cron и для значительного упрощения своей участи пользователи prelink могут этот скрипт коварно позаимствовать. С поисками далеко идти не нужно - достаточно взять файл prelink.cron из prelink-0.4.5-4.fc17.src.rpm и немного исправить.
Пошагово:
Для ежедневного выполнения prelink, данный файл нужно скопировать в /etc/cron.daily/ и дать права на выполнение:
chmod +x /etc/cron.daily/prelink.cron
Отредактировать скрипт, чтобы он использовал переменные из файла /etc/sysconfig/prelink специфичные для openSUSE. Содержимое его при этом становится таким:
#!/bin/sh
. /etc/sysconfig/prelink
renice +19 -p $$ >/dev/null 2>&1
if [ "$USE_PRELINK" != yes ]; then
if [ -f /etc/prelink.cache ]; then
/usr/sbin/prelink -ua 2>&1
rm -f /etc/prelink.cache
# Restart init if needed
[ -n "$(find `ldd /sbin/init | awk 'NF == 4 { print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
fi
exit 0
fi
if [ ! -f /etc/prelink.cache -o -f /var/lib/prelink/force ] \
|| grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then
# If cache does not exist or is from older prelink versions or
# if we were asked to explicitely, force full prelinking
rm -f /etc/prelink.cache /var/lib/prelink/force
PRELINK_OPTS="$PRELINK_OPTS -f"
/usr/sbin/prelink -a 2>&1
# Restart init if needed
[ -n "$(find `ldd /sbin/init | awk 'NF == 4 { print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
fi
exit 0
Убедитесь, что cron запущен, чтобы не было недоразумений:
systemctl status cron.service
Согласно данным из /etc/sysconfig/cron, prelink.cron будет выполняться через 15 минут после загрузки системы, а в следующий раз через 24 часа и так далее.
Дополнительно к этому можно выставить параметру USE_PRELINK в файле /etc/sysconfig/prelink значение "yes", чтобы prelink автоматически запускался после каждого выполнения SuSEconfig, который выполняется, например, после обновления многих системных пакетов, да и вообще после операций с пакетами в YaST2. Сделать это можно как с помощью любимого текстового редактора, так и модуля YaST2 "редактор /etc/sysconfig".