我尝试在旧 CPU 上运行 clickhouse,但出现错误:
Illegal instruction
Clickhouse 需要 CPU 标志 SSE 4.2。
如何检查 systemd 上的标志?
或者如何在 systemd 上编写此块而不运行 bash 脚本?
if grep -q "sse4_2" /proc/cpuinfo;
then
/usr/bin/clickhouse-server
else
echo "CPU doesn`t support SSE 4.2"
fi
谢谢
答案1
systemd 配置文件的语法不支持 bash 语法。
最好的选择是将 bash 脚本放在一个文件中,例如“/usr/bin/clickhouse.sh”。
答案2
Ubuntu 软件包附带Aclickhouse-server.service
来自软件本身的作者。它不做那个测试。你做了那个测试,如果失败了不要运行启动或启用服务的命令首先。
Clickhouse 多科它本身将其呈现为一个独立的测试,您可以在继续安装软件并运行服务之前进行此测试。
尝试使用某种帮助程序脚本或其他方式将其构建到 systemd 服务中,最终您将得到一个终止并自动重新启动的服务不断地。请注意,即使rc
是软件作者提供的旧 van Smoorenburg脚本,如果检查失败,实际上也不会中止尝试启动服务。已exit
被注释掉。