我正在尝试使用此guidance在Ubuntu 16.04上安装mssql驱动程序。 当我进入这一步时:
sudo ACCEPT_EULA=Y apt-get install msodbcsql
我收到错误:无法找到包msodbcsql 我错过了什么步骤?
提前致谢。
答案 0 :(得分:3)
我在Debian GNU / Linux 9上遇到了同样的错误。
事实证明是apt-get update
中的失败
# apt-get update
....
N: Is the package apt-transport-https installed?
E: Failed to fetch https://packages.microsoft.com/debian/9/prod/dists/stretch/InRelease
根据错误日志,我再次运行apt-get install apt-transport-https
和apt-get update
。
然后我可以成功完成ACCEPT_EULA=Y apt-get install msodbcsql17
注意:我是root用户,如果不是,请添加sudo,然后尝试。 :)
答案 1 :(得分:1)
看来,因为根据该网址,Ubuntu的正确命令是:
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
16.04的完整脚本:
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Ubuntu 16.04
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
更新(4月13日18日)
考虑通过运行来检查Microsoft存储库是否已正确注册:
sudo apt-get update
因此,您应该看到类似于“Get:30 http packages.microsoft.com/ ..”的行
我的例子:
Get:29 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3,208 B]
Get:30 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 Packages [31.7 kB]
Fetched 12.9 MB in 5s (2,265 kB/s)
答案 2 :(得分:0)
搜索后,我发现请求的程序包位于Microsoft Ubuntu 18.04存储库中。 要安装软件包,我们必须先添加存储库,然后运行以下命令。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
echo "deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic
main" | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt update
sudo apt install msodbcsql17
以上命令将设置msodbcsql17。
干杯:)