3.5.4. Conversão de scripts init SysV em arquivos unitários
Antes de tomar tempo para converter um script de inicialização SysV em um arquivo de unidade, certifique-se de que a conversão ainda não foi feita em outro lugar. Todos os serviços centrais instalados no Red Hat Enterprise Linux vêm com arquivos de unidade padrão, e o mesmo se aplica a muitos pacotes de software de terceiros.
A conversão de um roteiro de inicialização em um arquivo de unidade requer a análise do roteiro e a extração das informações necessárias do mesmo. Com base nestes dados, você pode criar um arquivo unitário. Como os scripts de inicialização podem variar muito dependendo do tipo de serviço, você pode precisar empregar mais opções de configuração para a tradução do que as descritas neste capítulo. Observe que alguns níveis de personalização que estavam disponíveis com scripts de inicialização não são mais suportados por unidades do sistema.
A maioria das informações necessárias para a conversão é fornecida no cabeçalho do roteiro. O exemplo a seguir mostra a seção de abertura do script de inicialização usado para iniciar o serviço postfix
no Red Hat Enterprise Linux 6:
!/bin/bash # postfix Postfix Mail Transfer Agent # chkconfig: 2345 80 30 # description: Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another. # processname: master # pidfile: /var/spool/postfix/pid/master.pid # config: /etc/postfix/main.cf # config: /etc/postfix/master.cf BEGIN INIT INFO # Provides: postfix MTA # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop postfix # Description: Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another. # END INIT INFO
No exemplo acima, apenas as linhas que começam com # chkconfig e # description são obrigatórias, portanto, você pode não encontrar o resto em diferentes arquivos init. O texto incluído entre as linhas BEGIN INIT INFO e END INIT INFO se chama Linux Standard Base (LSB) header. Se especificado, os cabeçalhos da LSB contêm diretrizes que definem a descrição do serviço, as dependências e os níveis de execução padrão. O que segue é uma visão geral das tarefas analíticas com o objetivo de coletar os dados necessários para um novo arquivo de unidade. O script init postfix é usado como um exemplo.
3.5.4.1. Encontrando a descrição de serviço do sistema
Você pode encontrar informações descritivas sobre o roteiro na linha começando com #description. Use esta descrição junto com o nome do serviço na opção Description
na seção [Unidade] do arquivo da unidade. O cabeçalho da LSB pode conter dados similares nas linhas #Short-Description e #Description.