Shell 驱动程序安装有 `ACCEPT_EULA=Y` 错误

Shell driver install with `ACCEPT_EULA=Y` error

here 所述,我正在尝试在 shell 中安装以下驱动程序,使用此代码(对原始代码稍作修改):

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/debian/8/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17

但是我在最后一个命令中收到错误消息:

sudo: sorry, you are not allowed to set the following environment variables: ACCEPT_EULA

搜索后,我似乎无法在其他任何地方找到这个确切的错误。

一个解决方案是 运行 没有 ACCEPT_EULA=Y 的最后一个命令为 sudo apt-get install msodbcsql17。然后在提示符下输入Y。这确实有效,但我想 运行 其他用户不需要他们输入的上述安装。

提前谢谢你。

您似乎可以访问 运行 任意命令,但不能修改环境。

简单的解决方法是将环境更改移交给命令:

sudo env ACCEPT_EULA=Y apt-get install msodbcsql17

我没有足够的代表post发表评论。 但是我在 python:3 docker 容器中对 pyodbc 进行了相同的安装。 在 docker 文件中,以下命令有效:

ACCEPT_EULA=Y apt-get 安装 -y msodbcsql17

(我正在寻找这个特定的驱动程序 #17。)

阅读:https://github.com/microsoft/mssql-docker/blob/master/oss-drivers/pyodbc/Dockerfile 可以帮助从基础ubuntu (ubuntu:16.04) 框中查看环境设置。

同时检查:https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017 对于 Microsoft 第一手文档。

上面的 ACCEPT_EULA=Y apt-get install -y msodbcsql17 命令对我有用,因为我试图通过 Dockerfile.

设置 msodbcsql17