在 Debian 11 上安装 MS SQL Server -- Repo 签名问题

在 Debian 11 上安装 MS SQL Server -- Repo 签名问题

尝试在 Debian 11 上安装 MS SQL Server 2022 让我抓狂,因为我无法正确添加 MS 存储库。首先,Microsoft 的分步指南(仅适用于 Ubuntu)在此页面中:https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver16&preserve-view=true

我添加了存储库并导入了公钥,但是执行 sudo apt-get update 会出现以下错误:

GPG Error: https://packages.microsoft.com/ubuntu/20.04/mssql-server-2022 focal InRelease: the following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF

我再次尝试导入,但这次使用 gpg,导入公钥:

gpg --recv-keys --keyserver https://packages.microsoft.com/keys/microsoft.asc EB3E94ADBE1229CF

密钥已添加,我什至与 Kleopatra 检查并导入了公钥。

但话又说回来,执行 sudo apt-get update 时,我再次遇到同样的错误!

GPG Error: https://packages.microsoft.com/ubuntu/20.04/mssql-server-2022 focal InRelease: the following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF

我不明白为什么 apt-get 找不到公钥(如果正确导入)。

提前致谢!

答案1

apt使用gpg,但它维护自己的密钥环存储,/etc/apt/keyrings而不是默认的~/.gnupg/

apt-key(专门针对 apt 需求的 gpg 包装器)是操作 apt 密钥存储的工具。

微软自己的网页有将密钥导入 apt 的说明apt-key add

curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo apt-add-repository https://packages.microsoft.com/debian/10/prod
sudo apt-get update

对于 Debian 11 而不是 10,需要稍微编辑一下。或者对于您使用的任何 Ubuntu 版本(不要将 Debian 软件包与 Ubuntu 一起使用,反之亦然。.deb 格式是兼容的,但实际的软件包和他们所依赖的库可能不是——而且通常不是)。

甚至您链接到的页面也有非常相似的内容:

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

(无论您使用curl还是wget下载密钥都无关紧要 - 这才是apt-key add重要的)


PS:如果您对 MS SQL 没有任何特定需求(例如,作为学习/培训练习,或者您使用仅适用于它而不适用于其他 SQL 数据库的其他软件),我认为您最好使用PostgreSQL反而。它是为 Debian 和几乎所有其他 Linux 发行版打包的。

相关内容