Este capítulo fornece informações e procedimentos para criar suas próprias palavras-chave de regra e sondagem.
Se estiver instalando um grupo raiz do Solaris ZFS, consulte Capítulo 9Instalação de um conjunto raiz do ZFS com o JumpStart para exemplos de limitação e perfil.
Para entender qual é uma palavra-chave de sondagem, primeiro é necessário recordar o que é uma palavra-chave de regra. Uma palavra-chave de regra é uma unidade lexical predefinida ou uma palavra que descreve um atributo geral do sistema, como nome de host, hostname, ou tamanho da memória, memsize. Palavras-chave de regra e os valores que estão associados com elas ativam a combinação de um sistema que tem o mesmo atributo de um perfil. Esta combinação de atributos de sistemas define como o software Solaris deve ser instalado em cada sistema no grupo.
Variáveis do ambiente JumpStart personalizado, que podem ser utilizadas em scripts iniciais e finais, são definidos na demanda. Por exemplo, a informação sobre qual sistema operacional já está instalado em um sistema está disponível apenas em SI_INSTALLED após a palavra-chave de regra installed ser utilizada.
Em algumas situações, pode ser necessário extrair a mesma informação e um script inicial ou final para outro propósito que não combinar um sistema e executar um perfil. Palavras-chave de sondagem fornecem a solução. Palavras-chave de sondagem extraem informação de atributo e removem a necessidade de configurar uma condição de combinação e executa um perfil.
Para uma lista de palavras-chave de sondagem e valores, consulte Palavras-chave e valores de investigação.
As palavras-chave de regra e de sondagem que são descritas em Palavras-chave e valores de regras e Palavras-chave e valores de investigação podem não ser precisas o suficiente para suas necessidades. É possível definir sua própria regra personalizada ou palavras-chave de sondagem ao criar um arquivo custom_probes.
O arquivo custom_probes é um script de shell Bourne que contém dois tipos de funções. É necessário salvar o arquivo custom_probes no mesmo diretório JumpStart onde foi salvo o arquivo regras. Os dois tipos de funções que podem ser definidos em um arquivo custom_probes são os seguintes:
Sondagem: reúne as informações que você deseja ou executa o trabalho real e configura uma variável de ambiente SI_ correspondente definida. Funções de sondagem tornam-se palavras-chave de sondagem.
Comparação: chama uma função de sondagem correspondente, compara a saída da função de sondagem e retorna 0 se as palavras-chave combinam ou 1 se a palavra-chave ainda não combina. Funções de comparação tornam-se palavras-chave de regra.
O arquivo custom_probes pode conter qualquer comando de shell Bourne válido, variável ou algoritmo.
É possível definir funções de sondagem e comparação que requerem um argumento único no arquivo custom_probes. Ao utilizar a palavra-chave de sondagem personalizada correspondente no arquivo regras, o argumento depois da palavra-chave é interpretado (como $1).
Ao utilizar palavra-chave de regra personalizada no arquivo regras, os argumentos são interpretados em sequência. A sequência inicia depois da palavra-chave e termina antes do próximo && ou script inicial, o que vier antes.
O arquivo custom_probes deve atender ao requisitos a seguir:
Obtém raiz como seu proprietário
Seja executável e obtenha permissões configuradas para 755
Contém pelo menos uma função de sondagem e uma função de comparação correspondente
Para aprimorar clareza e organização, defina todas as funções de sondagem antes, no início do arquivo, seguido por todas as funções de comparação.
O nome de uma função de sondagem deve começar com probe_. O nome de uma função de comparação deve começar com cmp_.
Funções que começam com probe_ definem novas palavras-chave de sondagem. Por exemplo, a função probe_tcx define a nova palavra-chave de sondagem tcx. Funções que começam com cmp_ definem novas palavras-chave de regra. Por exemplo, cmp_tcx define a nova palavra-chave de regra tcx.
Utilize o editor de texto para criar um arquivo de texto de script de shell Bourne. Nomeie o arquivo custom_probes.
No arquivo de texto custom_probes, defina as funções de sondagem e comparação.
É possível definir funções de sondagem e comparação que requerem argumentos no arquivo custom_probes. Ao utilizar a palavra-chave de sondagem correspondente no arquivo regras, os argumentos depois da palavra-chave são interpretados em sequência (como $1, $2 e assim por diante).
Ao utilizar palavra-chave de regra personalizada no arquivo regras, os argumentos são interpretados em sequência. A sequência inicia depois da palavra-chave e termina antes do próximo && ou script inicial, o que vier antes.
Salve o arquivo custom_probes no diretório JumpStart próximo ao arquivo regras.
Assegure-se que raiz possui o arquivo regras e que as permissões estão configuradas para 644.
É possível localizar exemplos adicionais de funções de sondagem e comparação nos diretórios a seguir:
/usr/sbin/install.d/chkprobe em um sistema que possui o software Solaris instalado
/Solaris_10/Tools/Boot/usr/sbin/install.d/chkprobe no DVD do sistema operacional Solaris ou no CD Software Solaris - 1
Os arquivos custom_probes a seguir contêm uma função de sondagem e comparação que testa a presença do cartão gráfico TCX.
#!/bin/sh # # custom_probe script to test for the presence of a TCX graphics card. # # # PROBE FUNCTIONS # probe_tcx() { SI_TCX=`modinfo | grep tcx | nawk '{print $6}'` export SI_TCX } # # COMPARISON FUNCTIONS # cmp_tcx() { probe_tcx if [ "X${SI_TCX}" = "X${1}" ]; then return 0 else return 1 if } |
O arquivo regra de exemplo a seguir mostra a utilização da palavra-chave de sondagem que é definida no exemplo anterior, tcx. Se um cartão gráfico TCX é instalado e localizado em um sistema, profile_tcx é executado. Caso contrário, perfil é executado.
Sempre coloque as palavras-chave de sondagem no começo do arquivo regras ou próximo a ele. Esse posicionamento garante que as palavras-chave sejam lidas e executadas antes de outras palavras-chave de regra que possam depender das palavras-chave de sondagem.
probe tcx tcx tcx - profile_tcx - any any - profile - |
Antes de utilizar o perfil, regras, e o arquivo custom_probes, é necessário executar o script verificar para validar se os arquivos estão configurados corretamente. Se todos os perfis, regras e funções de sondagem e comparação estão configurados corretamente, os arquivos rules.ok e custom_probes.ok são criados. Tabela 5–1 descreve o que o script verificar faz.
Tabela 5–1 O que acontece ao utilizar o script verificação
Verifique se o script verificar está localizado no diretório JumpStart.
O script verificar no diretório Solaris_10/Misc/jumpstart_sample no DVD do sistema operacional Solaris ou no CD Software Solaris - 1.
Execute o script verificar para validar os arquivos regras e custom_probes.
$ ./check -p path -r file_name |
Valide o arquivo custom_probes utilizando o script verificar da imagem do software Solaris para a plataforma no lugar do script verificar do sistema utilizado. caminho é a imagem em um disco local, um DVD do sistema operacional Solaris ou Software Solaris - 1 CD montado.
Utilize essa opção para executar a versão mais recente de verificar se seu sistema estiver executando uma versão anterior do Solaris.
Especifique um nome de arquivo que não seja nomeado custom_probes. Utilizando a opção -r, é possível testar a validade de um conjunto de funções antes de integrar as funções ao arquivo custom_probes.
Como o script verificar executa, o script reporta a validade dos arquivos regras e custom_probes em cada perfil. Se nenhum erro for encontrado, o script reporta: "A configuração JumpStart personalizada está ok” e cria os arquivos rules.ok e custom_probes.ok no diretório JumpStart.
Determine se o arquivo custom_probes.ok é executável.
Se sim, vá para a Etapa 5.
Se não, digite o comando a seguir.
# chmod +x custom_probes |
Assegure-se que raiz possui o arquivo custom_probes.ok e que as permissões estão configuradas para 755.