【问题标题】:Shell driver install with `ACCEPT_EULA=Y` errorShell 驱动程序安装时出现“ACCEPT_EULA=Y”错误
【发布时间】:2018-12-05 16:30:25
【问题描述】:

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。这确实有效,但我想在不需要他们输入的情况下为其他用户运行上述安装。

  • 有没有办法解决上述错误,以便我可以使用ACCEPT_EULA=Y,或者
  • 或者有一种简单的方法可以输入 EULA 的 Y 响应 自动使最终用户无需采取任何行动?

提前谢谢你。

【问题讨论】:

  • 这是sudo的配置设置。
  • 你需要修改/etc/sudoers才允许。
  • SO 是针对编程问题,而不是关于使用或配置 Linux 及其应用程序的问题。 SuperUserUnix & Linux 将是解决此类问题的更好地方。

标签: bash environment-variables installation driver eula


【解决方案1】:

您似乎有权运行任意命令,但不能修改环境。

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

sudo env ACCEPT_EULA=Y apt-get install msodbcsql17

【讨论】:

  • 这行得通。谢谢!如果这个额外的上下文对其他人有帮助:您描述的关于访问运行命令而不是修改环境的情况,可能是因为这是一个由外部公司作为服务提供的 Linux 环境。 (不确定这是否重要)
【解决方案2】:

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

ACCEPT_EULA=Y apt-get install -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 对于微软的第一手文档。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2017-07-30
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2015-11-21
      • 2022-12-19
      • 1970-01-01
      相关资源
      最近更新 更多