Данная статья - вольный перевод англоязычной HowTo: Speed up ubuntu boot process - the way you can feel it с урезаниями, изменениями и добавлениями.

Эта инструкция предназначена для тех, кто считает скорость загрузки Ubuntu недостаточно быстрой, но не хочет устанавливать никакие приложения и утилиты для её ускорения. Метод, который я использую, не является исчерпывающим руководством, но он действительно работает и приводит к ощутимому результату. Всё описанное ниже происходит путём настройки процесса загрузки непосредственно, и из-за отличия разных компьютеров есть небольшой риск, что что-то может вывести вашу систему из строя. Вы берёте на себя всю ответственность за последствия использования данной инструкции. Также было бы неплохо перед изменениями всегда иметь резервную копию каталога /etc.

Эта инструкция предназначена для ноутбуков и рабочих станций, не для серверов.

Советы

  1. Я надеюсь, что вы чему-нибудь здесь научитесь, а не просто повторите действия. Поэтому, пожалуйста, НЕ делайте всё в точности как я. Читайте описания служб и решайте сами, какую из них оставить включённой, а какую выключить. Например, для себя я выключил GDM, чтобы загружаться прямо в консоль. Если вы в консоли работать не умеете или хотите загружаться в графику - оставьте службу GDM (или KDM) включённой.
  2. Если у вас возникли вопросы по загружаемой службе и вы не вполне уверены что она делает - оставьте вопрос в комментариях или найдите информацию в поисковиках. Разбирайтесь в том, что вы делаете, до того, как сделаете это. Если вы не понимаете для чего нужна та или иная служба - оставьте её значение по умолчанию, вместо того, чтобы выключать.
  3. Если у вас в списке есть служба, описания которой нет здесь - оставьте её имя и описание в комментариях, статья будет постоянно обновляться.

Подготовка

I. Устанавливаем утилиту sysv-rc-conf. Она написана на перле и нужна для управления службами при загрузке.

sudo apt-get install sysv-rc-conf

Она упростит настройку процесса загрузки и настройку уровней запуска служб.

II. Это всё, что нам нужно. Теперь запускаем утилиту

sudo sysv-rc-conf

и исследуем службы одну за другой. Некоторых служб, которые есть у меня, у вас может не быть - ну и хорошо. Если наоборот, у вас есть служба, которой нет здесь - разберитесь с ней самостоятельно или спросите в комментариях.

Уровни выполнения процессов

Немножко об уровнях выполнения, прежде чем мы начнём их править.

Скрипты запускаемых служб в Ubuntu Linux располагаются в каталогах /etc/rcN.d/, где N - уровень выполнения. Уровни выполнения - это варианты загрузки или выключения системы, в соответствии со следующей таблицей:

УровеньОписание
1Однопользовательский режим работы. Система инициализирует минимум служб и даёт единственному пользователю (как правило, суперпользователю) без проведения аутентификации командную строку. Как правило, этот режим используется для восстановления системы. Запускаются все процессы из /etc/rc1.d
2Многопользовательский режим. Пользователи могут работать на разных терминалах, вход в систему с процессом аутентификации
3Многопользовательский сетевой режим. В отличие от предыдущего уровня, осуществляется настройка сети и запускаются различные сетевые службы
4Не имеет стандартного толкования и практически не используется
5Запуск графической подсистемы. По сравнению с уровнем 3 производится также старт графической подсистемы X11. Вход в систему осуществляется уже в графическом режиме
6Перезагрузка системы. При включении этого режима останавливаются все запущенные программы и производится перезагрузка
0Остановка системы (halt). Работа системы должна быть прекращена
SПервый уровень в процессе загрузки. Будет запущен скрипт /etc/init.d/rcS и все процессы в /etc/rcS.d.

Ну что же, теперь мы готовы вернуться к использованию утилиты sysv-rc-conf.

Настройка

Цветовая дифференциация: включенные службы; выключенные службы.

  1. acpi-support - Лучше оставить уровень по умолчанию. То есть: 2,3,4,5.
  2. acpid - Демон acpi. Этот и предыдущий процессы отвечают за управление питанием и очень важны и для ноутбуков, и для рабочих станций, так что лучше оставить их включенными. По умолчанию: 2,3,4,5.
  3. adjtimex - Инструмент для тонкой подстройки часов в ядре. Обычно в списке загрузки его нет. В исключительных случаях, если он всё же находится в этом списке, значит тому были веские причины и лучше оставить его включенным.
  4. alsa - Если используется звуковая подсистема alsa, то да, запуск надо оставить. Но если у вас есть служба alsa-utils, то эту можно отключить. По умолчанию: выключена, если включена alsa-utils.
  5. alsa-utils - В моей системе эта служба заменяет alsa, так что я выключил alsa и включил эту на уровне S. -Примечание- Говоря «Выключил» я подразумеваю - снял все «X» со всех уровней выполнения. Если у вас их и не было - замечательно. Продолжаем настройку. По умолчанию: уровень выполнения S.
  6. anacron - Подсистема cron, которая выполняет любую его задачу, которая не была выполнена вовремя. Чаще всего такое случается, если в момент наступления задачи по cron ваш компьютер был выключен. Например, updatedb запланирован каждый день на 2 часа ночи, но в это время компьютер не работал. При запуске компьютера anacron попытается определить пропущенные задачи и выполнит их. Я убрал эту службу, поскольку не так часто выключаю свой ноутбук, но в большинстве случаев она должна быть включена. По умолчанию: 2,3,4,5.
  7. apmd - Эта служба меня немного смутила. У меня уже включен acpid, так зачем мне включать ещё и apmd? Если ваш компьютер не настолько старый, чтоб даже не поддерживать acpi, попробуйте отключить эту службу. Я отключил. По умолчанию: 2,3,4,5.
  8. atd - Планировщик, наподобие cron. Я отключил. По умолчанию: 2,3,4,5.
  9. binfmt-support - Поддержка ядром других форматов бинарников. Я оставил. По умолчанию: 2,3,4,5.
  10. bluez-utiles - Я выключил. У меня нет устройств bluetooth. По умолчанию: 2,3,4,5.
  11. bootlogd - Оставьте запускаться. По умолчанию: S.
  12. cron - Тоже надо оставить. По умолчанию: 2,3,4,5.
  13. cupsys - Подсистема для управления принтером. У меня принтера нет, так что я смело отключил, но вы смотрите по обстоятельствам. По умолчанию: 2,3,4,5.
  14. dbus - Система сообщений (Message bus system). Очень важна, оставьте включённой. По умолчанию: 2,3,4,5.
  15. dirmngr - Утилита управления списками сертификатов. Работает заодно с gnupg. По умолчанию: 2,3,4,5.
  16. dns-clean - В основном служит для очистки DNS при использовании соединений dial-up. У меня нет dial-up, так что я выключил. По умолчанию: S.
  17. evms - (Enterprise Volume Management System) - система управления томами для ОС Linux. EVMS предлагает единые унифицированные механизмы для управления дисками, дисковыми разделами, файловыми системами, физическими томами LVM ит.д. Я выключил. По умолчанию: S.
  18. fetchmail - Демон доставки электронной почты. Я выключил. По умолчанию: 2,3,4,5.
  19. gdm - Менеджер рабочего стола (Gnome Desktop Manager). Я его в любом случае уже выключил, когда решил загружаться в консоль. В данном случае - дело предпочтений, так что решать вам, хотите ли вы загружаться напрямую в GUI. По умолчанию: 2,3,4,5.
  20. gdomap - Я понятия не имею, зачем этот процесс должен запускаться. Я не видел этого демона больше ни в одной системе, так что я его выключил и не чувствую какой-либо утраты. Есть какие-нибудь причины для его использования на ноутбуках или рабочих станциях? По умолчанию: 2,3,4,5.
  21. gpm - Поддержка мыши для консоли. Если вы чувствуете, что не можете обойтись без мыши в консоли - поставьте уровень выполнения 1 и 2. Это всё, что нужно. По умолчанию: 2,3,4,5.
  22. halt - Не менять. По умолчанию: 0.
  23. hdparm - Скрипт для подстройки жёсткого диска. Я отключил уровни 2,3,4,5, но установил уровень S. Я полагаю, что открытие DMA, 32-битного ввода-вывода и т.д. принесёт пользу остальным процессам. Также я сменил родной скрипт на очень простой, который сделал самостоятельно. Я думаю, не стоит производить все эти избыточные проверки, если я сам знаю, что делаю. Файл конфигурации - /etc/hdparm.conf. По умолчанию: 2,3,4,5.
  24. hibernate - Если ваша система поддерживает спящий режим - оставьте службу работать. В противном случае она бесполезна. По умолчанию: S.
  25. hotkey-setup - Этот демон включает некоторые специфические горячие клавиши в ноутбуках. Есть заводская поддержка: HP, Acer, ASUS, Sony, Dell, и IBM. Если у вас ноутбук этих производителей, можно оставить службу запускаться, в противном случае её запуск будет бесполезен. По умолчанию: 2,3,4,5.
  26. hotplug и hotplug-net - Включение подсистем hotplug занимает время. Я бы задумался, включать ли их вообще. Я сделал несколько изменений в своём файле /etc/network/interfaces. Вместо того, чтобы адресовать свою беспроводную карту в процессе hotplug, я включил её в автоматический режим. Таким образом, я могу отключить эти процессы. Я удостоверился, что даже при их отключении, ubuntu находит драйверы usb, цифровой камеры и так далее. Так что, думаю, отключение этих процессов достаточно безопасно. -Примечание- Если после отключения hotplug ваша звуковая карта перестала работать, можно включить его обратно. Или можно отредактировать файл /etc/modules, чтобы добавить модуль драйвера звуковой карты. Более поздние работают быстрее, проверено. По умолчанию: S.
  27. hplip - Подсистема печати и обработки изображений HP. Я отключил. По умолчанию: S.
  28. hwtools - Утилита для оптимизации irq.
  29. ifrename - Скрипт по именованию сетевых интерфейсов. Звучит красиво, но я отключил. Нужен, в основном, для управления именами нескольких сетевых интерфейсов. С тех пор, как у меня две сетевые карты - беспроводная и проводная - они обозначены ядром как eth0 и ath0, так что процесс для меня бесполезен. По умолчанию: S.
  30. ifupdown и ifupdown-clean - Не отключайте. Это скрипты для включения сетевых интерфейсов при загрузке. По умолчанию: ifupdown - 0,6,S и ifupdown-clean - S.
  31. inetd или inetd.real - Посмотрите в файл /etc/inetd.conf и закомментируйте все службы, которые вам не нужны. Если активных служб после этого не осталось - демон можно смело убирать из запуска. По умолчанию: 2,3,4,5.
  32. klogd - Не выключать. По умолчанию: 2,3,4,5.
  33. laptop-mode - Служба для проверки в ноутбуке: не пора ли выкинуть батарею. Бесполезна для стационарного компьютера. По умолчанию: 2,3,4,5.
  34. libpam-devperm - Демон для восстановления прав доступа к файлам-устройствам после сбоя системы.
  35. linux-restricted-modules-common - Нужно посмотреть, не загружены ли несвободные модули в систему. Эти модули можно найти в /lib/linux-restricted-modules. Если такие модули не используются - можно смело отключать демона. По умолчанию: 0,6,S.
  36. lm-sensors - Если материнская плата поддерживает сенсорные чипы, можно посмотреть их состояние.
  37. lvm - Я не использую, потому отключил. Оставьте, если у вас есть lvm. По умолчанию: S.
  38. makedev - Не отключать. По умолчанию: 2,3,4,5.
  39. mdamd - Инструмент для управления устройствами RAID. В большинстве случаев можно отключить. По умолчанию: 2,3,4,5.
  40. mdamd-raid - Инструмент RAID. По умолчанию: S.
  41. module-init-tools - Загружает дополнительные модули из файла /etc/modules. Можно посмотреть его содержимое на наличие ненужных модулей. Обычно включен. По умолчанию: S.
  42. mountvirtfs - Монтирование виртуальных файловых систем. Не отключать. По умолчанию: S.
  43. networking - Поднимает сетевые интерфейсы и конфигурирует DNS при загрузке, путём сканирования файла /etc/network/interfaces. Отключать не стоит. По умолчанию: 0,6,S.
  44. ntpdate - Синхронизирует время с сервером времени ubuntu (или заданным другим). По умолчанию: S. -Примечание- Если второй системой стоит Windows, лучше оставить процесс включённым. Windows хранит в биосе не универсальное (по гринвичу), а локальное время и при перезагрузке из одной системы в другую они будут пытаться корректировать друг друга. В последних версиях эта проблема вроде бы исправлена.
  45. nvidia-kernel - Я собирал драйвер nvidia самостоятельно, поэтому мне служба не нужна. Если используете несвободный драйвер nvidia - оставьте службу включённой. По умолчанию: 1,2,3,4,5.
  46. pcmcia - Активирует устройство PCMCIA. Я поставил уровень выполнения в 0,6,S вместо умолчательных 2,3,4,5, поскольку, по моему мнению, оборудование надо подключать в первую очередь. С другой стороны, если устройства PCMCIA не используются, то и службу можно отключать.
  47. portmap - Демон для управления такими службами, как nis, nfs, и т.д. По умолчанию: 2,3,4,5,0,6,S.
  48. powernowd - Клиент для управления cpufreq. Нужен в основном для ноутбуков с поддержкой технологиии изменения частоты процессора. Полезен для ноутбуков и наоборот для стационарных компьютеров. По умолчанию: 2,3,4,5.
  49. ppp и ppp-dns - Мне не нужно. У меня нет dial-up. По умолчанию: ppp - 2,3,4,5 и pppd-dns - S.
  50. readahead - Похоже, readahead это разновидность «предзагрузчика». Загружает при старте несколько библиотек в оперативную память, что позволяет некоторым программам быстрее стартовать. Но увеличивает время загрузки системы на 3-4 секунды. По умолчанию: S.
  51. reboot - Не менять. По умолчанию: 6.
  52. resolvconf - Автоматически настраивает DNS в соответствии со статусом сети. По умолчанию: S.
  53. rmnologin - Убирает nologin, если находит. У меня такого не будет, я убрал. По умолчанию: 2,3,4,5.
  54. rsync - Демон rsync. Можно убрать, если не уверены, что он вам нужен. По умолчанию: 2,3,4,5.
  55. screen-cleanup - Скрипт для очистки экрана при загрузке. По умолчанию: S.
  56. sendsigs - Посылает сигналы в процессе перезагрузки и выключения. Оставьте как есть. По умолчанию: 0,6.
  57. single - Активирует однопользовательский режим. Не отключать. По умолчанию: 1.
  58. ssh - Демон ssh. Лучше выключить, если не уверены в обратном. По умолчанию: 2,3,4,5.
  59. stop-bootlogd - Останавливает bootlogd с уровней выполнения 2,3,4,5. Оставьте как есть. По умолчанию: 2,3,4,5.
  60. sudo - Проверяет состояние sudo. Я не вижу причин этому демону быть запущенным ни на ноутбуке, ни на стационарной машине. По умолчанию: S.
  61. sysklogd - Оставьте как есть. По умолчанию: 2,3,4,5.
  62. udev и udev-mab - Пользовательская файловая система. По умолчанию: S.
  63. umountfs - Оставьте как есть. По умолчанию: 0,6.
  64. urandom - Генератор случайных чисел. Нельзя угадать какому приложению, особенно в графике, может понадобиться. По умолчанию: 0,6,S.
  65. usplash - Картинка при загрузке системы, с индикатором загрузки. Для полного отключения надо редактировать файл /boot/grub/menu.lst: закомментировать строку splashimage и убрать опцию splash из строки загрузки ядра. По умолчанию: 2,3,4,5.
  66. vbesave - Утилита для настройки BIOS видеокарты. По умолчанию: 2,3,4,5.
  67. xinetd - Сверхдемон inetd для управления другими демонами. Включать имеет смысл только в том случае, если есть демоны под его управлением.
  68. xorg-common - Устанавливает сокет ICE для графического сервера. По умолчанию: 2,3,4,5.
Описания процессов практически полностью взяты из англоязычной статьи, которая писалась для другой версии Ubuntu, но большая часть информация верна и для Ubuntu 9.04. Со временем я постараюсь избавиться от манеры изложения оригинала и дополню описания.

Дополнительно

Как уже было сказано, процессы, а вернее ссылки на них, лежат в папках вида /etc/rcN.d, где N может принимать значения от 0 до 6 или может быть равно S. Названия ссылок, лежащих в этих папках, имеют следующий формат: символ «S» или «K», две цифры, образующие число, и в конце - название процесса.

Ссылка, начинающаяся с «S» соответствует запуску системы, а с «K» - её остановке.

Число соответствует порядку запуска при старте (или остановке) системы. В классическом варианте, если процесс требует как процедуры запуска, так и остановки, то числа, следующие после «S» и «K» дадут для него в сумме 100. Например, ссылке S03имя_процесса для запуска будет соответствовать ссылка K97имя_процесса для остановки. Это делается для того, чтобы процессы останавливались в порядке, обратном запуску.

Парные ссылки «S» и «K» указывают на один и тот же скрипт в /etc/init.d/, который должен быть написан в определённом формате. Об этом - как-нибудь в следующий раз.

Ссылки

http://ubuntuforums.org/showthread.php?t=89491
Хитрости запуска служб в Linux


DwarfRka
2009.09.21 18:21:34
#cid86

Ответить

а Ubuntu и на серверах крутят? (Ленинский прищур :))

2009.09.25 15:43:09
#cid103

Ответить

[ржот]

В основном это для того, чтоб на медленных тачках запускать.

[задумался]

Я знаю людей, у которых шлюзы работают на винде с исой и керио.

Сервер на бубунте на этом фоне выглядит верхом стабильности.

Sweweffed
2010.11.22 07:00:10
#cid641

Ответить

Должен признать, тот кто писал ништяк накропал.

Ramon
2010.12.01 02:37:08
#cid700

Ответить

Интерено спасибо!

> Я понятия не имею, зачем этот процесс должен запускаться

gdomap - некий "Сопоставитель распределённых объектов GNUstep (GDOMAP)". Может какая-то фишка для программ на Objective-C? Не понятно. В нете ничего вразумительного про него не нашёл. А вот порты открывает:

~$ sudo lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gdomap 1052 nobody 3u IPv4 8286 0t0 UDP *:gdomap
gdomap 1052 nobody 4u IPv4 8287 0t0 TCP *:gdomap (LISTEN)

Поэтому убрал.

prairiewolf
2011.09.07 01:55:22
#cid5222

Ответить

Если есть следящие за темой - не могу накопать практически ничего (вероятно, еще мало копал?) по демону dcerpcd.
Может подскажете - для чего нужен?
А то при запуске системы он, видимо, гнездится в память, а при выключении он "замораживает" корректное выключение ноута.
Спасибо за помощь, господа!

2011.09.07 02:36:22
#cid5224

Ответить

Если есть следящие за темой - не могу накопать практически ничего (вероятно, еще мало копал?) по демону dcerpcd.
Может подскажете - для чего нужен?

Это один из демонов Likewise Open.

«Продукт призван решить проблему сетевой совместимости Windows и Linux, являясь простым решением для создания единой системы аутентификации (включая поддержку задания настроек безопасности через Active Directory)»

/opt/likewise/sbin/dcerpcd
The Likewise DCE/RPC end-point mapper. DCE/RPC stands for Distributed Computing Environment/Remote Procedure Calls. The daemon handles communication between Linux, Unix, and Mac computers and Microsoft Active Directory by mapping data to end points.
http://www.beyondtrust.com/Technical-Support/Downloads/files/PBIS/manuals/open/likewise-open-guide5.1.html

Лично я бы убрал нафик.

prairiewolf
2011.11.10 02:39:33
#cid7724

Ответить

Благодарю!
Описание демона можно было не переводить - английский язык мне не чужд *улыбка*.
Но премного благодарен!

den
2014.11.02 23:05:04
#cid89886

Ответить

Так те что с крестиком: это включены или отключены ?

2014.11.03 03:54:46
#cid89887

Ответить

#cid89886, den

Так те что с крестиком: это включены или отключены ?

Крестик — это что-то типа галочки, псевдографика же.
Включены.

Max
2016.06.02 21:51:42
#cid91561

Ответить

Не получается снять с автозагрузки gdm3. Через sysv-rc-conf снял галочки - не помогло. Через update-rc-d -f gdm remove тоже. Кто нибудь знает как это сделать?