由于“未满足的依赖项”,无法在 Ubuntu 上安装 SQL Server 命令行工具

6 sql sql-server ubuntu multiarch

成功安装Sql Server后,按照文档,无法在 Ubuntu 20.04 上安装SQL Server 命令行工具。努力导致以下命令和结果:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Run Code Online (Sandbox Code Playgroud)

好的

curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Run Code Online (Sandbox Code Playgroud)

deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod仿生主

sudo apt-get update 
Run Code Online (Sandbox Code Playgroud)

命中:1 http://dl.google.com/linux/chrome/deb stable InRelease
获取:2 http://security.ubuntu.com/ubuntu focus-security InRelease [107 kB]
命中:3 http://x .archive.ubuntu.com/ubuntu focus InRelease
Hit:4 http://x.archive.ubuntu.com/ubuntu focus-updates InRelease
Hit:5 http://x.archive.ubuntu.com/ubuntu focus-backports InRelease
命中:6 ...包。微软。com/ubuntu/18.04/mssql-server-2019 仿生 InRelease
Hit:7 ... 包。微软。com/ubuntu/20.04/prod focus InRelease
Hit:8 ... 下载 . 哥德。组织发布
命中:9 ...包。微软。com/ubuntu/18.04/prod 仿生 InRelease Get:10 ... security . Ubuntu的。com/ubuntu focus-security/main amd64 DEP-11 元数据 [21.3 kB]
Get:11 ... security 。Ubuntu的。com/ubuntu
focus -security/universe amd64 DEP-11 元数据 [31.5 kB]在 17 秒内获取 160 kB (9,288 B/s)
阅读包列表...完成

sudo apt-get install mssql-tools unixodbc-dev
Run Code Online (Sandbox Code Playgroud)

读取包列表...完成 构建依赖树
读取状态信息...完成 mssql-tools 已经是最新版本(17.5.2.1-1)。无法安装某些软件包。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定的发行版,一些必需的包尚未创建或已从 Incoming 中移出。以下信息可能有助于解决这种情况:

以下软件包具有未满足的依赖项: mssql-tools : 依赖项: msodbcsql17 (>= 17.3.0.0) 但不会安装 unixodbc-dev : 依赖项:unixodbc (= 2.3.7) 依赖项: odbcinst1debian2 (= 2.3.7) ) 但它不会被安装 E: 无法纠正问题,您持有损坏的软件包。

我尝试按照依赖项失败树手动安装未满足的依赖项,但在最后一步安装失败:

sudo apt-get install multiarch-support
Run Code Online (Sandbox Code Playgroud)

正在读取包列表...完成 构建依赖树
读取状态信息...完成 包 multiarch-support 不可用,但被另一个包引用。这可能意味着软件包丢失、已过时或只能从其他来源获得

E: 包“multiarch-support”没有安装候选

您将如何解决这些问题以最终安装命令行?

小智 10

使用:

curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Run Code Online (Sandbox Code Playgroud)

代替:

curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Run Code Online (Sandbox Code Playgroud)

解决了这个问题,文档已经过时了,或者 Ubuntu 20.04 还没有得到官方支持......

我也无法使用curl https://...(不知道为什么总是对等关闭我的连接!)所以我手动下载了链接并将结果粘贴到/etc/apt/sources.list.d/msprod.list