понедельник, 25 августа 2008 г.

Ускорение загрузки Linux: отключение неиспользуемых сервисов в Linux

Ускорение загрузки Linux: отключение неиспользуемых сервисов в Linux - Записки дебианщика

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

Итак, после того, как загрузчик
Linux найдёт и загрузит ваше ядро, в дело вступает запуск сервисов. Запускается Samba, которая делает ваши директории видимыми по сети (в том числе для пользователей альтернативных систем), CUPS - чтобы вы могли печатать на принтеры, SSHd - чтобы можно было принимать удалённое управление. В общем, всё то, что обеспечивает нам удобную работу, не отвлекая нас от более важных дел.

Однако у дистростроителей представления о том, какие сервисы вам нужны, могут несколько отличаться от ваших. Например, если вы не администратор сети, вам скорее всего не нужны почтовые агенты и службы точного времени. И тем не менее в системе сконфигурированной по умолчанию они продолжают запускаться. Сейчас мы это быстро поправим.

ПРЕДУПРЕЖДЕНИЕ!!!
СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ВСЕГО КАТАЛОГА /ETC НА ВСЯКИЙ СЛУЧАЙ!!! В СЛУЧАЕ НЕУДАЧИ ВЫ МОЖЕТЕ ПОЛУЧИТЬ СИСТЕМУ, КОТОРАЯ НЕ ЗАГРУЖАЕТСЯ!!!


И ещё одно предупреждение
Здесь главное не перестараться и отключать только те сервисы в Linux, назначение которых вы знаете и точно уверены, что они вам не потребуются в ближайшем обозримом будущем. Скорее всего, вам всё-таки потребуются такие сервисы, как login и cron, так что будьте аккуратны.


Управление сервисами
Для того, чтобы долго не елозить напильником по конфигурационным файлам, ставим графический конфигуратор. Поискав по несметным сокровищницам репозиториев Debian GNU/Linux, находим:
# apt-cache search boot up manager
bum - graphical runlevel editor
Собственно, программа маленькая, ставим:
aptitude install bum
Программа при запуске ожидаемо требует рутовых привилегий:
sudo bum
Появится красивая и удобная графическая оболочка, по умолчанию в "простом" варианте:



Удобно, что о каждом сервисе сказано, что он делает. Так же показано текущее состояние сервиса - работает, неактивен или информация о его состоянии недоступна. Включаем или выключаем соответствующие сервисы, и нажимаем "Применить" - изменения вступят в силу после перезагрузки или сразу же.



В "продвинутом" варианте вы получаете не только управление сервисами, но и включением \ отключением самих скриптов конфигурирования отдельных сервисов. Как и прежде, будьте аккуратны - я не несу ответственности за порушенные "ынтырпрайзы" и отказывающиеся загружаться "продакшны" :-)

Если руки тянутся к напильнику...
На всякий случай напомню, что в Debian стартовые скприты аккуратно сложены в директории /etc/init.d/ а в каталогах
/etc/rc0.d
......
/etc/rc6.d

содержатся ссылки на соответствующие скрипты в /etc/init.d/
Соответственно, в Debian GNU/
Linux номера runlevels распределены следующим образом:

  • 0 System Halt
  • 1 Single user
  • 2 Full multi-user mode (по умолчанию)
  • 3-5 То же что и 2
  • 6 System Reboot

И наконец несколько слов об асинхронной загрузке
Linux. Это технически можно сделать, поправив конфиг /etc/init.d/rc до такого состояния:
# Specify method used to enable concurrent init.d scripts.
# Valid options are 'none', 'shell' and 'startpar'
CONCURRENCY=shell
Конкретно в моём случае ускорение составило около 2-3 секунд, что в общем меньше ожидаемого. А вариант "startpar" вообще привёл к тому, что система отказалась загружаться. Имея под рукой Knoppix Linux я, конечно, всё быстро поправил, но тем не менее.

Есть и более радикальные методы ускорения загрузки, такие как initNG. Но об этом в другой раз.

Ссылки
Как всегда, по теме очень толково пишут аксакалы из IBM здесь. А так же в генту-вики очень хорошее руководство тут (пользуясь случаем, в очередной раз зеленею от зависти к гентушным вики). Описание сервисов на примере Fedora 8 приведено здесь (Tigro, спасибо за ссылку!).
Копируете статью - поставьте ссылку на оригинал!

Написал virens

Метки: , ,

Добавить пост в закладки:  # # # # # # # # # # #
Оставайтесь на нашей RSS-волне!

6 комментариев:

Анонимный комментирует...

sysvconfig ?

25.08.2008 6:24:00
Warderer комментирует...

rcconf для тех, кто не в иксах.

25.08.2008 8:04:00
Tigro комментирует...

Не, вот тут доступнее всего написано что и зачем, правда с уклоном на Fedora, но в Lenny они явно будут очень похожи.

Когда поедем на Линукс-Поинт?

25.08.2008 8:10:00
Evgen комментирует...

insserv ?
кстате давненько им пользуюсь, пока особых нареканий нет.

25.08.2008 10:28:00
Programmaster комментирует...

Спасибо за статью! Недавно начал задумываться об ускорении системы, почитал в интернете и выяснилось, что для этого надо отключать сервисы и пересобирать ядро. Сервисы я отключать побоялся, т.к. не знаю, какие за что отвечают (за исключением login, cron и ещё парочки, назначение которых я уже откуда-то знаю), а ядро пересобирать... Вобщем-то, не так уж и страшно (уже пробовал, кстати - но оно не загрузилось) - просто считаю себя не готовым к этому, т.к. в железе своём (да и в не своём тоже :) ) ничего не смыслю, и боюсь отключить в ядре поддержку чего-то важного.

Но Ваша статья, virens, воодушевила меня на оптимизацию! Есть у меня какой-то кнопикс, сейчас выясню, как им пользоваться (а то валяется без толку), забекаплю etc и - в бой! :)

Комментариев нет: