Sql-Server

安裝 SQL Server 2017,我得到 E: Unable to locate package mssql-server

  • December 22, 2017

我使用的是 Ubuntu 17.10,但在為 17.10 添加了 Microsoft 儲存庫之後

sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -sr)/prod.list)"

並嘗試安裝 SQL Server,我得到

# apt-get install mssql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package mssql-server

通常,發行版以特定格式打包內容,因此例如添加一個儲存庫,例如

deb [arch=amd64] https://packages.microsoft.com/ubuntu/17.10/prod zesty main

會告訴apt下載包列表並在此處查找包,

https://packages.microsoft.com/ubuntu/17.10/prod/pool/

但是,對於微軟來說​​,情況並非如此。他們有一個適用於 17.10 的儲存庫(應該如此),其中包含適用於 Ubuntu 的所有軟體包,但他們還有另一個專門用於 SQL Server 的儲存庫。更令人困惑的是,該 SQL Server 儲存庫位於 16.04 的樹中。

所以他們都有(注意/pool/s)

您需要儲存庫16.04/mssql-server。你可以用

sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

您可能會認為,因為您擁有17.10/prod並且安裝了 SQL Server,所以您不需要16.04/prod儲存庫。這是不正確的,如果你想要sqlcmd mssql-tools 提供的 SQL 客戶端,你也需要它

sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

我確實在上游送出了一個文件錯誤,其中描述了混亂,所以也許他們有一天會修復它

如果您發現系統由於任何原因處於不一致狀態,您始終可以刪除 SQL Server 並重新開始

引用自:https://dba.stackexchange.com/questions/193856