======Загрузочные скрипты====== Скрипты запуска и завершения работы и их конфигурация. =====Процесс запуска 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]]