Databricks INIT脚本执行wget相关命令失败问题排查求助
问题根因及修复方案
- HTML转义字符解析错误:你脚本中的
"是HTML编码格式的双引号,直接写入bash脚本无法被识别为合法的引号符号,会导致add-apt-repository的参数解析失败,是最核心的报错原因,需要将"替换为普通双引号"。 - 冗余sudo权限声明:Databricks的INIT脚本默认以root身份执行,
wget行额外添加的sudo会触发无意义的权限校验,在非交互的INIT执行环境中会直接报错,需要删除该行的sudo前缀。 - 依赖包缺失:
add-apt-repository命令依赖software-properties-common包,Databricks默认运行环境没有预装该依赖,执行仓库添加命令前需要先安装该包。 - apt源缓存未更新:执行apt类安装操作前未刷新本地源缓存,可能出现包找不到的报错,建议在脚本开头添加
apt update操作。
修复后的完整脚本如下:
#!/bin/bash # 开启调试日志可排查具体执行错误,不需要可以注释 set -x # 刷新apt源缓存 apt update -y # 安装基础依赖 apt install software-properties-common libwayland-server0 -y pip3 install selenium==3.141 pandas webdriver-manager pyvirtualdisplay msedge-selenium-tools # 导入微软GPG密钥 wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add - # 添加Edge软件源 add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" # 添加源后再次刷新缓存,方便后续安装Edge浏览器 apt update -y
内容的提问来源于stack exchange,提问作者Andi Maier
相关产品推荐
相关产品推荐

