====== 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