======Загрузочные скрипты======
Скрипты запуска и завершения работы и их конфигурация.
=====Процесс запуска SliTaz=====
SliTaz не использует уровни исполнения (runlevels), вся система загружается через основной скрипт и его главный файл конфигурации. Сам скрипт запускает другие скрипты поменьше, которые управляют локализацией системы и программами в автозагрузке.
=====/etc/init.d/* — папка со скриптами и демонами=====
Папка ///etc/init.d// содержит все скрипты .rc и .sh, а также маленькие shell-скрипты и демоны, запускающие те или иные службы (например, dropbear или lighttpd). Демоны можно запускать, перезапускать и останавливать командой
# /etc/init.d/daemon [start|stop|restart]
В SliTaz вы найдете файл ///etc/init.d/README//, описывающий основной принцип работы rc-скриптов. Кроме того, все скрипты и демоны автозагрузки могут обращаться к файлу ///etc/init.d/rc.functions//. Данный файл дает возможность добавлять в rc-скрипты различные функции. SliTaz использует функцию //status//, чтобы проверить, завершилась ли предыдущая команда успешно (при этом она возвращает код выхода 0) или нет.
=====/etc/init.d/rcS — основной скрипт инициализации=====
Скрипт ///etc/init.d/rcS// настраивает все основные службы и запускает базу системы. Вначале он монтирует файловые системы и запускает службы вроде syslogd, klogd и mdev, после чего выполняет очистку системы и некоторые другие действия. Этот скрипт использует файл конфигурации ///etc/rcS.conf//, где указаны скрипты и демоны, запускаемые при загрузке. Вы можете просмотреть этот скрипт, чтобы узнать, какие команды запускаются при старте вашей системы:
# nano rootfs/etc/init.d/rcS
=====Специфические скрипты и демоны=====
===bootopts.sh — опции режима LiveCD===
В этом скрипте указываются опции LiveCD, передаваемые при загрузке. К нему также обращается файл ///proc/cmdline//. Этот скрипт позволяет использовать флешку или внешний жесткий диск для раздела ///home//, указав параметр //home=usb// или //home=sda[1-9]// соответственно. Можно также указать язык системы и раскладку клавиатуры.
===network.sh — запуск сети===
Этот скрипт ищет собственный файл конфигурации ///etc/network.conf//, где указано, какой сетевой интерфейс должен быть запущен; скажем, вы хотите запускать клиент DHCP или использовать статический IP. Если переменная $DHCP равна //yes//, то скрипт запускает клиент DHCP на интерфейсе $INTERFACE.
===i18n.sh — поддержка языков===
SliTaz хранит настройки текущей локали в файле ///etc/locale.conf//, который считывается файлом ///etc/profile// при каждой загрузке. ///etc/locale.conf// создается при запуске системы скриптом ///etc/i18n.sh//. Этот скрипт запускает приложение tazlocale в случае, если файла ///etc/locale.conf// не существует. Тот же процесс осуществляется tazkmap в отношении файла ///etc/kmap.conf//. Обе эти утилиты находятся в папке ///sbin// и используют dialog и библиотеки ncurses.
Скрипт также проверяет наличие файла настроек для часового пояса ///etc/TZ//, при его отсутствии создается новый файл на основе конфигурации клавиатуры.
===local.sh — локальные команды===
Скрипт ///etc/init.d/local.sh// позволяет системному администратору добавлять локальные команды в автозапуск. Например:
#!/bin/sh
# /etc/init.d/local.sh: Local startup commands.
# All commands here will be executed at boot time.
#
. /etc/init.d/rc.functions
echo "Starting local startup commands... "
===rc.shutdown===
Этот скрипт вызывается файлом ///etc/inittab// при завершении работы системы. Он останавливает все демоны, указанные в переменной RUN_DAEMONS файла ///etc/rcS.conf//.
=====/etc/inittab — файл конфигурации для init=====
Это самый первый файл, к которому обращается ядро при загрузке. Он определяет скрипт инициализации (///etc/init.d/rcS//), командные оболочки (ttys) и действия в случае перезагрузки или сбоя. В [[ru:cookbook:slitaz-tools|SliTaz tools]] вы найдете полный вариант этого файла с комментариями.
# /etc/inittab: init configuration for SliTaz GNU/Linux.
# Boot-time system configuration/initialization script.
#
::sysinit:/etc/init.d/rcS
# /sbin/getty respawn shell invocations for selected ttys.
tty1::respawn:/sbin/getty 38400 tty1
tty2::respawn:/sbin/getty 38400 tty2
tty3::respawn:/sbin/getty 38400 tty3
tty4::respawn:/sbin/getty 38400 tty4
tty5::respawn:/sbin/getty 38400 tty5
tty6::respawn:/sbin/getty 38400 tty6
# Stuff to do when restarting the init
# process, or before rebooting.
::restart:/etc/init.d/rc.shutdown
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/init.d/rc.shutdown
===Следующая глава===
В следующей главе речь пойдет о сборке [[x-window-system|оконной системы Х]].
----
Статью перевел [[http://forum.slitaz.org/index.php/profile/1273/Cyril|Cyril]]