Sql-Server
安裝 SQL Server 2017,我得到 E: Unable to locate package mssql-server
我使用的是 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)
- https://packages.microsoft.com/ubuntu/16.04/mssql-server/pool/main/m/
- https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/
您需要儲存庫
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 並重新開始。