要安装mssql附带的msodbcsql,需要使用用于Linux的驱动程序所需的工具,需要以下命令
sudo ACCEPT_EULA=Y apt-get install mssql-tools但是,当使用木偶安装此代码时,此操作失败,当前使用的傀儡代码
package { 'mssql-tools' : ensure => latest, }但这会返回一个错误:
ERROR: The EULA was not accepted. Installation aborted.什么是需要的,这样木偶才能成功地安装这个软件包。在调用package命令之前,我已经尝试过设置一个环境变量。
Exec { environment => [ "ACCEPT_EULA=Y" ] }Microsoft的安装说明如下:
https://blogs.msdn.microsoft.com/sqlnativeclient/2017/02/04/odbc-driver-13-1-for-linux-released/
这是驱动程序:
https://www.microsoft.com/en-us/sql-server/developer-get-started/php/ubuntu/
发布于 2017-05-15 17:29:02
这似乎是请求的特性;运行具有环境值的包实体。
但是,由于有一个特性冻结,这将不会实现在傀儡4.x (https://projects.puppetlabs.com/issues/6400)
解决方法不是使用包实体,而是使用exec实体:
exec { "/usr/bin/apt-get -yq install msodbcsql":
environment => "ACCEPT_EULA=Y",
unless => "/usr/bin/dpkg -l msodbcsql | tail -1 | grep ^ii",
}如果已经安装了包,则除非用于使其无效,否则不能运行。
这种方法的缺点是,只有在使用apt时才能工作,如果您希望它也能在其他系统上工作,那么您应该为$osfamily提供一个if语句,以使用正确的包管理器。
https://stackoverflow.com/questions/43984594
复制相似问题