В деле настройки своей системы под себя бывает желание уменьшить время загрузки. Для этого есть много разных средств, но одно из самых доступных и простых - отключение неиспользуемых сервисов в Linux. И для этого совсем не нужно часами править конфиги, ибо есть и графические конфигураторы. Главное - не навредить, как завещал отец медицины.
Итак, после того, как загрузчик Linux найдёт и загрузит ваше ядро, в дело вступает запуск сервисов. Запускается Samba, которая делает ваши директории видимыми по сети (в том числе для пользователей альтернативных систем), CUPS - чтобы вы могли печатать на принтеры, SSHd - чтобы можно было принимать удалённое управление. В общем, всё то, что обеспечивает нам удобную работу, не отвлекая нас от более важных дел.
Однако у дистростроителей представления о том, какие сервисы вам нужны, могут несколько отличаться от ваших. Например, если вы не администратор сети, вам скорее всего не нужны почтовые агенты и службы точного времени. И тем не менее в системе сконфигурированной по умолчанию они продолжают запускаться. Сейчас мы это быстро поправим.
СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ВСЕГО КАТАЛОГА /ETC НА ВСЯКИЙ СЛУЧАЙ!!! В СЛУЧАЕ НЕУДАЧИ ВЫ МОЖЕТЕ ПОЛУЧИТЬ СИСТЕМУ, КОТОРАЯ НЕ ЗАГРУЖАЕТСЯ!!!
И ещё одно предупреждение
Здесь главное не перестараться и отключать только те сервисы в Linux, назначение которых вы знаете и точно уверены, что они вам не потребуются в ближайшем обозримом будущем. Скорее всего, вам всё-таки потребуются такие сервисы, как login и cron, так что будьте аккуратны.
Управление сервисами
Для того, чтобы долго не елозить напильником по конфигурационным файлам, ставим графический конфигуратор. Поискав по несметным сокровищницам репозиториев Debian GNU/Linux, находим:
# apt-cache search boot up manager
Собственно, программа маленькая, ставим:
bum - graphical runlevel editoraptitude 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.Конкретно в моём случае ускорение составило около 2-3 секунд, что в общем меньше ожидаемого. А вариант "startpar" вообще привёл к тому, что система отказалась загружаться. Имея под рукой Knoppix Linux я, конечно, всё быстро поправил, но тем не менее.
# Valid options are 'none', 'shell' and 'startpar'
CONCURRENCY=shell
Есть и более радикальные методы ускорения загрузки, такие как initNG. Но об этом в другой раз.
Ссылки
Как всегда, по теме очень толково пишут аксакалы из IBM здесь. А так же в генту-вики очень хорошее руководство тут (пользуясь случаем, в очередной раз зеленею от зависти к гентушным вики). Описание сервисов на примере Fedora 8 приведено здесь (Tigro, спасибо за ссылку!).
Копируете статью - поставьте ссылку на оригинал!
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 и - в бой! :)
Комментариев нет:
Отправить комментарий