FreeBSD Handbook/Administração/Configuração e Ajuste/Inicializando Serviços
11.5 Inicializando Serviços
[editar | editar código-fonte]Contribuição de Tom Rhodes.
Muitos usuários optam por instalar softwares de terceiros no FreeBSD através da Coleção de Ports. Muitas vezes pode ser necessário configurar o software de modo a ser executado na inicialização do sistema. Serviços, tais como mail/postfix ou www/apache13 são apenas dois dos muitos pacotes de software que podem ser iniciados durante o boot do sistema. Esta seção explica os procedimentos disponíveis para iniciar os softwares de terceiros.
No FreeBSD, a maioria dos serviços incluídos, como o cron(8), são iniciados por meio dos scripts de inicialização do sistema. Esses scripts podem variar dependendo da versão do FreeBSD ou software, no entanto, o aspecto mais importante é que a configuração de sua inicialização pode ser feita através de scripts simples.
11.5.1 Configuração Estendida de Aplicativos
[editar | editar código-fonte]Agora que o FreeBSD utiliza o rc.d, a configuração de inicialização de um aplicativo tornou-se mais fácil e possui mais recursos. Usando as palavras-chave discutidas na Seção 11.7 - Usando rc no FreeBSD, os aplicativos agora podem ser programados para iniciar após outros serviços, como DNS por exemplo; podem permitir a passagem de outros parâmetros através do rc.conf ao invés de inseridos (hardcoded) nos próprios scripts, etc. Um script básico pode ser como o seguinte:
#!/bin/sh # # PROVIDE: utility # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name=ütility" rcvar=`set_rcvar` command="/usr/local/sbin/utility" load_rc_config $name # # DO NOT CHANGE THESE DEFAULT VALUES HERE # SET THEM IN THE /etc/rc.conf FILE # utility_enable=${utility_enable-"NO"} utility_pidfile=${utility_pidfile-"/var/run/utility.pid"} pidfile="${utility_pidfile}" run_rc_command "$1"
Este script garantirá que o utilitário fornecido (PROVIDE: utility) será iniciado após o pseudo-serviço DAEMON. Ele também fornece um método para a definição e rastreamento do PID, o arquivo com o ID do processo.
Esta aplicação poderia então ter a seguinte linha no /etc/rc.conf:
utility_enable="YES"
Este método também permite a fácil manipulação dos argumentos de linha de comando, a inclusão das funções padrão fornecidas no arquivo /etc/rc.subr, compatibilidade com o utiliário rcorder(8) e prevê fácil configuração através do arquivo rc.conf.
11.5.2 Usando Serviços para Iniciar Serviços
[editar | editar código-fonte]Outros serviços, como os daemons do servidor POP3, IMAP etc, podem ser iniciados através do inetd(8). Isto implica instalar o aplicativo através da Coleção de Ports e adicionar uma linha de configuração ao arquivo /etc/inetd.conf ou descomentar uma das linhas de configuração atuais. O trabalho com o inetd e sua configuração é descrito em profundidade na Seção 29.2 - O Super Servidor inetd.
Em alguns casos, pode fazer mais sentido usar o daemon cron(8) para iniciar serviços do sistema. Esta abordagem tem uma série de vantagens, pois o cron executa esses processos como o dono do arquivo crontab. Isso permite que usuários comuns iniciem e mantenham algumas aplicações.
O utilitário cron fornece uma funcionalidade única, @reboot, que pode ser usado no lugar da especificação de horário. Isto fará com que o comando especificado seja executado quando o cron(8) for iniciado, normalmente durante a inicialização do sistema.