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

Posted

技术标签:

【中文标题】由于“未满足的依赖项”,无法在 Ubuntu 上安装 SQL Server 命令行工具【英文标题】:Can't install SQL Server command-line tools on Ubuntu due to `unmet dependencies` 【发布时间】:2020-10-08 06:18:57 【问题描述】:

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

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

好的

curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

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

sudo apt-get update 

命中:1 http://dl.google.com/linux/chrome/deb 稳定的 InRelease 获取:2 http://security.ubuntu.com/ubuntufocus-security InRelease [107 kB] 命中:3 http://x.archive.ubuntu.com/ubuntu 焦点 InRelease 点击:4 http://x.archive.ubuntu.com/ubuntufocal-updates InRelease 点击:5 http://x.archive.ubuntu.com/ubuntufocal-backports InRelease 命中:6 ...包。微软。 com/ubuntu/18.04/mssql-server-2019 仿生 InRelease 命中:7 ... 包。微软。 com/ubuntu/20.04/prod 焦点 InRelease 点击:8 ...下载。去吧org InRelease 命中:9 ...包。微软。 com/ubuntu/18.04/prod 仿生 InRelease 得到:10 ...安全。 Ubuntu的。 com/ubuntu focus-security/main amd64 DEP-11 元数据 [21.3 kB] 得到:11 ...安全。 Ubuntu的。 com/ubuntu 焦点安全/universe amd64 DEP-11 元数据 [31.5 kB] 在 17 秒内获取 160 kB (9,288 B/s) 正在读取包列表...完成

sudo apt-get install mssql-tools unixodbc-dev

正在阅读包裹清单...完成 构建依赖树 读取状态信息...完成 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

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

E: 包 'multiarch-support' 没有安装候选者

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

【问题讨论】:

如果您使用的是 Ubuntu 20.04,为什么要尝试安装 18.04 软件包? 是的!似乎文档已经过时了:)) 20.04 还没有得到官方支持,所以没有过时,只是与支持的内容相关。 好的,顺便说一句,谢谢。 仍然不“支持”。不知道为什么 MS 想浪费我们的时间。如果我想安装 postgresql,只需 1 个命令即可完成。 【参考方案1】:

使用:

curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

代替:

curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

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

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

【讨论】:

以上是关于由于“未满足的依赖项”,无法在 Ubuntu 上安装 SQL Server 命令行工具的主要内容,如果未能解决你的问题,请参考以下文章

未满足的依赖项 - 无法安装 python-catkin-pkg

安装 MariaDB - 未满足的依赖项,mariadb-server-5.5

sudo apt install npm 它不起作用“以下软件包具有未满足的依赖项”

在 Ubuntu 14.04.5 上安装 ROS indigo - 软件包太新?

在纱线中安装所有未满足的依赖项

基本操作系统 - LibreOffice/OpenOffice 冲突,Dpkg 错误(未满足的依赖项) - 陷入循环