Como sinalizadores de verificação no systemd?

1

Eu tento executar o clickhouse na CPU antiga, mas recebo um erro:

Illegal instruction

Clickhouse requer bandeira SSE 4.2.

Como sinalizadores de verificação no systemd?

Ou como escrever este bloco no systemd sem executar o script bash?

if grep -q "sse4_2" /proc/cpuinfo;
then
    /usr/bin/clickhouse-server
else
    echo "CPU doesn't support SSE 4.2"
fi

Obrigado

    
por Anton Patsev 24.12.2017 / 12:25

2 respostas

0

A sintaxe dos arquivos de configuração do systemd não suporta a sintaxe do bash.

A melhor opção é colocar o script bash em um arquivo, por exemplo "/usr/bin/clickhouse.sh".

    
por 24.12.2017 / 18:53
0

O pacote do Ubuntu vem com um clickhouse-server.service dos escritores de o software em si. Não faz esse teste. Você faz esse teste e, se falhar, não execute os comandos que iniciam ou ativam o serviço em primeiro lugar.

O clickhouse doco apresenta isso como um teste independente que você faz antes de prosseguir, antes de prosseguir para instalar o software e depois executar o serviço.

Tente criar isso no serviço systemd, usando algum tipo de script auxiliar ou não, e você terminará com um serviço que termina e reinicia automaticamente continuamente . Observe que até mesmo o antigo script van van Smoorenburg rc que os criadores do software não abortam de fato ao tentar iniciar o serviço se a verificação falhar. O exit foi comentado.

    
por 26.12.2017 / 13:24