Clickhouse通用版服务端及客户端自动安装:空密码自动应答方案咨询
解决ClickHouse安装时自动输入空密码的方案(无需expect脚本)
以下几种方案可以避免单独编写expect文件,直接在安装脚本里实现自动跳过密码设置:
1. 针对Debian/Ubuntu系的deb包安装:用debconf预配置
ClickHouse的deb包支持通过debconf工具预先设置安装参数,直接把密码设为空,安装时就不会弹出交互提示:
# 预配置空密码 echo "clickhouse-server clickhouse-server/password password ''" | debconf-set-selections echo "clickhouse-server clickhouse-server/password_again password ''" | debconf-set-selections # 执行安装 apt-get update && apt-get install -y clickhouse-server clickhouse-client
这个方法最可靠,因为是通过包管理的配置系统预先定义参数,不会干扰其他安装步骤。
2. 针对官方一键安装脚本:用环境变量跳过密码
如果你用官方提供的一键安装命令,直接设置环境变量CLICKHOUSE_SETUP_SKIP_PASSWORD=1,安装脚本会自动跳过密码设置环节,默认使用空密码:
CLICKHOUSE_SETUP_SKIP_PASSWORD=1 curl https://clickhouse.com/ | sh
这是官方原生支持的方式,最简洁。
3. 通用应急方案:用管道自动输入空值
如果以上两种方法都不适用,也可以用yes命令配合管道,自动向安装程序输入空字符串(相当于回车):
yes '' | apt-get install -y clickhouse-server clickhouse-client
注意:这个方法可能会对安装过程中的其他交互提示也输入空值,如果安装有其他需要确认的步骤,可能会导致意外结果,所以优先推荐前两种方法。
内容的提问来源于stack exchange,提问作者Sanya Vafin
相关产品推荐
相关产品推荐

