====== Scripts de Inicialização ======
Os scripts de inicialização e finalização com seus arquivos de configuração.
===== SliTaz e a Inicialização =====
O SliTaz não usa um nível de execução (runlevel) - o sistema é inicializado por meio de um script primário e seu arquivo de configuração principal. O script por si só executa outros scripts menores que lidam, por exemplo, com a internacionalização ou os comandos necessários ao início do sistema.
===== /etc/init.d/* - Diretório de Scripts e Daemons =====
O diretório ///etc/init.d// contem todos os scripts //rc//, que são simples scripts shell com a extensão ".sh", e daemons como o "dropbear" ou o "lighttpd", que são scripts que executam um serviço. Os scripts de daemons podem iniciar, parar ou reiniciar por meio do comando:
# /etc/init.d/daemon [start|stop|restart]
No SliTaz você encontra o arquivo ///etc/init.d/README// que descreve as funções básicas dos scripts //rc//. Note que todos os scripts de inicialização e daemons podem executar o arquivo ///etc/init.d/rc.functions//. Este arquivo possibilita incluir várias funções nos scripts //rc//. O SliTaz usa a função status para checar se o comando anterior foi executado com sucesso (0) ou não.
===== /etc/init.d/rcS - Scripts de Inicialização Primários =====
O script ///etc/init.d/rcS// configura todos os serviços básicos e inicializa o sistema. Ele começa montando o sistema de arquivos e iniciando serviços como o syslogd, klogd, mdev, limpa o sistema e etc. Utiliza o arquivo de configuração ///etc/rcS.conf// para verificar quais daemons e scripts executar na inicialização. Você pode ler o arquivo para saber quais comandos são executados:
# nano rootfs/etc/init.d/rcS
===== Scripts e Daemons Específicos =====
==== bootopts.sh - Opções do modo LiveCD ====
Este script é usado para configurar as opções de LiveCD passadas no momento da inicialização e pode ser lido por meio do arquivo ///proc/cmdline//. Este é o script que permite a utilização de um Pendrive ou de um disco rígido externo - montados na partição ///home// com a opção //home=usb// ou //home=sda[1-9]// - ou a especificação da linguagem e parâmetros de teclado.
==== network.sh - Inicialização de Rede ====
Este script procura pelo arquivo de configuração ///etc/network.conf// para sua utilização pela interface de rede: pode-se desejar executar o cliente DHCP (ou não) ou usar um IP estático. No SliTaz o script ///etc/init.d/network.sh// configura as interfaces de rede para iniciarem usando as informações contidas em ///etc/network.conf//. Se a variável $DHCP é igual a "yes", então o script ///etc/init.d/network.sh// executa o cliente DHCP na interface $INTERFACE.
==== i18n.sh - Internacionalização ====
O SliTaz armazena a configuração do locale padrão em ///etc/locale.conf// que é lido pelo arquivo ///etc/profile// a cada login. O ///etc/locale.conf// é gerado durante a inicialização do sistema graças ao script ///etc/i18n.sh//. Este script executa o aplicativo "tazlocale" se o arquivo ///etc/locale.conf// não existir. O mesmo processo é utilizado para o layout de teclado usando o aplicativo "tazkmap" e o arquivo de configuração ///etc/kmap.conf//. Ambos os aplicativos são instalados e localizados em ///sbin// e usam dialog e a biblioteca ncurses. O script também checa se o arquivo ///etc/TZ// (Time Zone) existe: se este não existe ele cria um baseado nas configurações de teclado.
==== local.sh - Comandos locais ====
O script ///etc/init.d/local.sh// permite ao administrador do sistema adicionar comandos locais a serem utilizados no momento da inicialização. Exemplo:
#!/bin/sh
# /etc/init.d/local.sh: Comandos de inicialização locais.
# Todos os comandos aqui devem ser executados no momento da inicialização.
#
. /etc/init.d/rc.functions
echo "Starting local startup commands... "
==== rc.shutdown ====
Este script é invocado pelo ///etc/inittab// durante a finalização do sistema. Também para todos os daemons especificados pela variável $RUN_DAEMONS no arquivo de configuração primário ///etc/rcS.conf//.
===== /etc/inittab - Arquivo de Configuração init =====
O primeiro arquivo lido pelo Kernel no momento da inicialização. Define o script de inicialização (/etc/init.d/rcS), shells (ttys) e ações no caso de uma re-inicialização ou interferência. Exemplo:
# /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