Este é o comando fai-class que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
fai-class - define classes usando arquivos e scripts.
SINOPSE
classe fai [Opção] DIRETÓRIO ARQUIVO DE CLASSE
DESCRIÇÃO
Este comando só é chamado internamente pelo FAI e não diretamente pelo usuário.
fai-class executa scripts em DIRECTORY para definir classes. Todas as aulas são escritas para
CLASSFILE, cada classe em uma linha separada. Use caminhos absolutos para ambos os argumentos. Tudo
scripts ou executáveis correspondentes a "^ [0-9] [0-9] *" (eles começam com dois dígitos) são executados
em ordem alfabética. Eles podem definir classes, escrevendo os nomes das classes para
stdout. As aulas podem ser separadas por espaços ou escritas uma em uma linha. Todas as linhas que começam
com um "#" são linhas de comentários e são ignoradas.
Scripts de shell que terminam em ".sh" são originados e podem definir classes, definindo a variável
$ newclasses. Isso é útil para scripts em que você não pode controlar o stdout. Variáveis que são
definidos nesses scripts estão disponíveis para outros scripts em DIRETÓRIO, mas não são
exportado para o shell que chama fai-class. Esses scripts podem definir variáveis por escrito
definições para o arquivo $ LOGDIR / additional.var, que será originado no seguinte
tarefa.
Todos os scripts podem definir classes adicionais, gravando as classes no arquivo
$ LOGDIR / classes adicionais. Essas classes são definidas depois que todos os scripts são executados. Esse
o arquivo temporário será removido após o uso.
A ordem das classes é importante porque define a prioridade das classes de
Baixo para alto. Primeiro, a classe DEFAULT é definida. Em seguida, todos os scripts são executados para definir
Aulas. Depois disso, as classes do arquivo $ LOGDIR / additional-classes são adicionadas. Então,
todas as classes no arquivo com o nome do host são adicionadas. Então as classes definidas pela variável
ADDCLASSES são usados. Esta variável deve ser uma lista de classes separadas por vírgulas. Você pode
defina esta variável na linha de comando do kernel.
Finalmente, a classe com o nome do host e LAST são definidos.
É importante que cada linha em um arquivo contendo um nome de classe termine com uma nova linha. Se o
nova linha está faltando na última linha de um arquivo, esta classe não pode ser adicionada.
O código de saída de cada script é gravado no arquivo status.log em LOGDIR.
OPÇÕES
-d Crie saída de depuração.
-h Mostra ajuda, versão e resumo das opções.
-T Teste se as classes em CLASSFILE são definidas várias vezes. Isso nunca deveria acontecer.
O teste é executado após as classes serem definidas.
-t tmpdir
O arquivo classes adicionais é lido do diretório tmpdir. O valor padrão é
/ tmp / fai /.
-v Crie uma saída detalhada.
EXEMPLOS
Na FAI, a classe fai é usada da seguinte maneira:
# fai-class / fai / class / tmp / fai / FAI_CLASSES
Em seguida, a lista de todas as classes é atribuída às classes de variáveis.
classes = `cat / tmp / fai / FAI_CLASSES`
EXEMPLOS PARA CRITÉRIOS
Este é o script 01alias:
#! / Bin / sh
catnc () {# cat mas sem linhas de comentário
grep -v "^ #" $ 1
}
# arquitetura de eco em maiúsculas
dpkg --print-architecture | tr / az / / AZ /
uname -s | tr / az / / AZ /
# todos os hosts com o nome formiga ?? usar as classes em formigueiro
caso $ HOSTNAME em
formiga ??) formigueiro catnc ;;
esac
# um cluster Beowulf; todos os nós, exceto o nó mestre
# usar classes de classes / átomos de arquivo
caso $ HOSTNAME em
átomo00) echo BEOWULF_MASTER ;;
átomo ??) átomos catnc ;;
esac
# se o host pertence à classe C sub-rede 123.45.6.0 use a classe NET_6
caso $ IPADDR em
123.45.6. *) Echo NET_6 ;;
esac
Outro exemplo:
O script 24nis:
#! / Bin / sh
# adicione NIS e o nome de domínio NIS se YPDOMAIN estiver definido
if [-n "$ YPDOMAIN"]; então
echo "NIS $ YPDOMAIN" | tr /.az-/ / _A-Z_ /
outro
eco NONIS
fi
Você pode definir classes na linha de comando do kernel aplicando-o ao kernel:
ADDCLASSES = CLASS1, CLASSX, CLASS3
NOTAS
Todos os nomes de classes devem ser escritos em letras maiúsculas (execpt a classe do hostname).
Não use um traço, use um sublinhado. Apenas scripts executáveis em DIRECTORY são usados.
CLASSFILE é removido antes de gravar nele. Os scripts não devem ser gravados diretamente no CLASSFILE.
O LOGDIR não deve ser gravável para todos.
Use fai-class online usando serviços onworks.net