Настройка и работа в Linux
adb5321d

Голосовать будем списком


Остановимся на работе rc-файлов. Скажем, для перехода на третий уровень при старте надо выполнить последовательно /etc/rc.d/rc.sysinit, , /sbin/update, а затем запустить /sbin/mingetty на всех эмуляторах консоли. Каковы их функции? Файл rc.sysinit выполняет ряд начальных действий, независимых от уровня. Вот точный порядок этих действий (естественно, часть из них выполняется опционно):

  • вывод баннера;
  • чтение конфигурационных данных из /etc/sysconfig/network;
  • установка системных параметров из /etc/sysctl.conf;
  • установка часов по параметрам из /etc/sysconfig/clock;
  • установка параметров клавиатуры консоли с помощью loadkeys в соответствии с /etc/sysconfig/console/default.kmap или /etc/sysconfig/keyboard;
  • загрузка системного шрифта с именем из /etc/sysconfig/i18n и файлом с расширением .pcf.gz или .pcf из каталогов /etc/sysconfig/console или /usr/lib/kbd/consolefonts;
  • активация области подкачки;
  • установка имени хоста;
  • установка имени домена NIS;
  • запуск fsck (см. ниже) для корневой системы (если в процессе fsck обнаружены серьезные проблемы, то выполняется немедленная перезагрузка);
  • старт PNP-устройств в соответствии с /etc/isapnp.conf;
  • перемонтирование корневой файловой системы в режиме записи (поскольку вопрос о том, что делать с системой, доступной только на чтение, типичен, то выполняющую это действие команду стоит привести явно: );
  • перестроение таблицы монтирования /etc/mtab;


  • проверка квот для корневой файловой системы;
  • проверка необходимости загрузки модулей, нахождение взаимозависимостей, загрузка их и конфигурирование;
  • дополнительная подгрузка из /etc/rc.d/rc.modules;
  • подключение RAID-устройств;
  • запуск fsck для других систем;
  • монтирование локальных файловых систем;
  • запуск ряда конфигурирующих процедур (выполняется при наличии файла /.unconfigured);
  • включение механизма квот;
  • удаление флаговых файлов загрузки;
  • освобождение каталогов /var/lock и /var/run от мусора;
  • очистка файлов /var/run/utmp и /var/run/utmpx;
  • удаление lock-файлов из /tmp;
  • включение подкачки;

  • инициализация последовательных устройств через /etc/rc.d/rc.serial;


  • подгрузка модулей для SCSI-накопителя на магнитных лентах;


  • установка однопроцессорного (UP) или многопроцессорного (SMP) режима и регенерация в соответствии с этим файла /boot/kernel.h;


  • установка корректной ссылки /boot/System.map;


  • проверка использования интерактивного режима (создание файла /var/run/confirm).


Запуск fsck может быть принудительно отключен с целью уменьшения времени рестарта при наличии файла /fastboot, а также включен при наличии /forcefsck; можно дополнительные опции (/fsckoptions). Появление этих файлов может быть результатом выполнения shutdown с соответствующими ключами: -f (пропуск fsck при старте); -F (принудительный fsck при старте).

Обратили ли вы внимание на то, что присутствует два раза? В действительности, дважды делается попытка выполнить одну и ту же команду: swapon -a. Зачем? Из комментариев можно вычитать, что первая команда присоединяет к области подкачки разделы, а вторая - файлы. Так как команда одна и та же, мы, конечно, не поверим комментариям и попробуем проверить их опытным путем.

Первым делом создаем файл подкачки на отдельно смонтированной системе:

root@localhost /root]# dd if=/dev/

zero bs=1k count=2048 of=/r6/myswap

2048+0 блоков прочитано

2048+0 блоков записано

[root@localhost /root]# mkswap

/r6/myswap 2048

Setting up swapspace version 0,

size = 2093056 bytes

[root@localhost /root]#

Добавляем строчку в /etc/fstab:

/r6/myswap swap swap

defaults 0 0


Проверяем результат после перезагрузки, запрашиваем текущее использование устройств подкачки:

[root@localhost /root]# swapon -s

Filename Type Size

Used Priority

/dev/hda5 partition

104380 0 -1

/r6/myswap file 2044

0 -2

[root@localhost /root]#


Если посмотреть информацию о перезагрузке, обнаружится, что, конечно, swapon попытается подключить /r6/myswap два раза. Первый раз (/r6 еще не смонтирована) будет сообщение об ошибке (и даже FAILED), хотя подключение раздела происходит. Второй раз все проходит нормально (благо еще и диагностика в /dev/null). Обратите внимание на то, что файл для подкачки должен существовать (как-то мне попалась команда mkswap, которая его заполняла, но не создавала) и при этом не содержать (с чего бы это?).

Sysctl позволяет зафиксировать ряд параметров и обеспечить (через /etc/sysctl.conf) их установку после перезагрузки. Вот как выглядел /etc/sysctl.conf сразу после инсталяции:

# Disables packet forwarding

net.ipv4.ip_forward = 0

# Enables source route verification

net.ipv4.conf.all.rp_filter = 1

# Disables automatic defragmentation

net.ipv4.ip_always_defrag = 0

# Disables the magic-sysrq key

kernel.sysrq = 0



Содержание раздела