Ускорение загрузки системы

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

Перейти к: навигация, поиск
Вернуться в раздел советов

Содержание

[править] Введение

Одно из достоинств Gentoo Linux - это возможность настроить и оптимизировать буквально ВСЮ систему, в том числе и её загрузку. Данное направление оптимизации практически неисчерпаемо. При желании (но и при большом риске убить систему) загрузку можно довести и до нескольких секунд. Здесь же мы рассмотрим некоторые наиболее простые и безопасные методы ускорения загрузки.

[править] Параллельный запуск

Первое, что может дать заметный прирост скорости загрузки, это распараллеливание запуска системных сервисов. В файле /etc/conf.d/rc замените NO на YES в переменной RC_PARALLEL_STARTUP.

Файл: /etc/conf.d/rc

...
RC_PARALLEL_STARTUP="YES"
...


Примечание: Начиная с версии sys-apps/baselayout-1.12.20_pre3-r2, переменная RC_PARALLEL_STARTUP заменена на RC_PARALLEL.


Если у вас нет такой переменной, обновите пакет baselayout emerge -u baselayout


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


Значительно был улучшен механизм параллельного запуска в новых (нестабильных) версиях baselayout echo "sys-apps/baselayout ~x86" >> /etc/portage/package.keywords emerge sync && emerge sys-apps/baselayout -u.


Для совсем реактивного запуска используйте initng emerge sys-apps/initng

Примечание: версии baselayout>2.0 полностью переработаны, скорость загрузки при их использовании сравнима с initng, но на данный момент данные версии hard masked.

[править] Локальная сеть

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

emerge -n ifplugd

теперь добавляем ifplugd в список запускаемых сервисов:

rc-update add ifplugd boot

Замечание: начиная с ifplugd-0.28-r7 нет нужды в добавлении в процесс загрузки - baselayout получил встроенную поддержку ifplugd и запускает автоматически при поднятии сетевого интерфейса. Теперь надо добавить строку в файл /etc/conf.d/net:

Файл: /etc/conf.d/net

modules = ( "!plug" )

[править] Обновление зависимостей и переменных окружения

Каждый раз при загрузке Gentoo обновляет зависимости модулей и переменные окружения, разумеется, что это имеет смысл лишь тогда, когда вы действительно внесли изменения в вашу систему. Чтобы это осуществить, сделаем следующие изменения.

Меняем:

Файл: /etc/init.d/modules - оригинал

...
ebegin "Calculating module dependencies"
    /sbin/modules-update &>/dev/null
    eend $? "Failed to calculate dependencies"
...
 
 
 
 
 
 

Файл: /etc/init.d/modules - замена

...
if [ /etc/modules.d -nt /etc/modules.conf ]
    then
        ebegin "Calculating module dependencies"
        /sbin/modules-update &>/dev/null
        eend $? "Failed to calculate dependencies"
    else
        einfo "Module dependencies are up-to-date"
fi
...


Меняем:

Файл: /etc/init.d/bootmisc - оригинал

...
if [ -x /sbin/env-update.sh ]
    then
        ebegin "Updating environment"
        /sbin/env-update.sh >/dev/null
        eend 0
fi
...
 
 
 
 
 

Файл: /etc/init.d/bootmisc - замена

...
if [ -x /sbin/env-update.sh ]
  then
    if [ /etc/env.d -nt /etc/profile.env ]
      then
        ebegin "Updating environment"
        /sbin/env-update.sh >/dev/null
        eend 0
      else
        einfo "Environment up-to-date"
    fi
fi
...

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

[править] Монтирование локальных файловых систем

Можно подправить сервис localmount, чтобы он монтировал локальные файловые системы не одну за другой, а все сразу.

Замените:

Файл: /etc/init.d/localmount - оригинал

...
mount -at ... >/dev/null
...

Файл: /etc/init.d/localmount - замена

...
mount -aFt ... >/dev/null
...



Посоветовать или спросить,
пожаловаться или поблагодарить
можно на странице обсуждений.
Обсуди эту статью на форуме Gentoo.ru

Личные инструменты