Utilizando os scripts SystemV a seu favor

A inicialização estilo SystemV tem uma flexibilidade incrível, mas muitos não sabem aproveitá-la. Neste artigo, vou mostrar como pode ser fácil criar um script de inicialização SystemV.

[ Hits: 25.931 ]

Por: Cesar Cardoso em 23/04/2003


O script de modem



O fonte do /etc/init.d/modem é:

#!/bin/sh
#
# modem           This script runs the PCTel modem (disabling sound, \
#                 if it was loaded).
#
# chkconfig: 2345 99 99
# description: This shell script runs the PCTel driver, disabling sound \
#              driver if needed.
#

case "$1" in
  start)
   # Unloading the sound driver
   if [ -e /var/lock/subsys/som ]; then
      /etc/init.d/som stop
   fi
   echo -n "Loading modem driver: "
   /sbin/insmod -f pctel > /dev/null
   /sbin/insmod -f ptserial country_code=33 > /dev/null
   touch /var/lock/subsys/modem
   echo
   ;;
  stop)
   if ! [ -e /var/lock/subsys/modem ]; then
      exit 1
   fi
   echo -n "Unloading modem driver: "
   /sbin/rmmod ptserial
   /sbin/rmmod pctel
   rm -f /var/lock/subsys/modem
   ;;
  *)
   echo "Usage: modem {start|stop}"
   exit 1
esac

exit 0
Os comentários são utilizados pelo chkconfig/ntsysv do RedHat 8. Vamos a eles:
  • A primeira linha declara o nome do serviço e uma breve descrição dele para o ntsysv.

  • A segunda linha diz que o script vai iniciar nos runlevels 2,3,4 e 5 na posição 99 (bem no final) e vai encerrar na posição 99 (bem no início do shutdown). Com isso, basta:

    # chkconfig --add modem

    para o script ser adicionado ao sistema SysV

  • A terceira linha é mais uma longa descrição para o ntsysv.
No script propriamente dito, temos três seções. Uma start, uma stop e uma de erro (*). O script em si é fácil de entender; start carrega o módulo do modem, descarregando o módulo do som se necessário; stop descarrega o módulo do modem; o erro mostra uma brevíssima ajuda ao usuário.

O start cria um arquivo lock em /var/lock/subsys, com ele, podemos determinar o que está rodando na máquina em um determinado momento.

Página anterior     Próxima página

Páginas do artigo
   1. A diferença SystemV
   2. O script de modem
   3. O script de som
   4. Toques finais
Outros artigos deste autor

Porque o RedHat 9 tem problemas com teclados US-International?

Linux, USB-IrDA, T300 on the rocks

Fazendo o kernel 2.6 resolver o problema da montagem de discos USB

Distros nacionais em evolução: visão do Definity Linux CURRENT e do Kurumin beta

Máquinas virtuais

Leitura recomendada

Bind9 em chroot no Debian Lenny

Montando o cache de DNS

Instalando DRBD + Heartbeat no Debian 6

Nagios Server e Máquinas Clientes no CentOS - Instalação e Configuração

Codificação de caracteres de arquivos ASCII

  
Comentários
[1] Comentário enviado por gurux em 24/04/2003 - 09:26h

Não sei quanto a vc, mas o sistema bsd de inicializacao tb eh configuravel facilmente quanto ao run level, bastanto apenas editar o arquivo /etc/inittab e /etc/rc.d/rc.M
Basta criar um script como este e adicionar nestes arquivos como o /etc/rc.d/rc.http, em distribuicoes baseadas no slackware.
Alem de ser mais rapido e mais facil de usar.
Faltou vc comentar do chkconfig para a instalacao dos scripts
By maino
gurux@bsdmail.org

[2] Comentário enviado por cesarcardoso em 24/04/2003 - 12:56h

Hum, então o Slack não usa a inicialização BSD pura :) 6 meses trabalhando em um BSD de verdade, sem runlevel e tal, dá nisso :))

Anyway, chkconfig só nos interessa na hora de adicionar o serviço, como aliás deve estar no texto.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts