如何在 Debian Jessie 中安装 dotnet core sdk

How to install dotnet core sdk in Debian Jessie

我在我的 Debian Jessie Box 上安装 Dotnet Core SDK 时遇到问题。这是我遵循的指南 https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x

注册产品密钥和 Feed 后,当我尝试执行 apt-get install dotnet-sdk-2.0.0dotnet-sdk-2.0.2 时,我得到的只是 Unable to locate Package。我目前以 root 身份登录,因为这是我的本地开发机器。

重现步骤:

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg   
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg  
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main" > /etc/apt/sources.list.d/dotnetdev.list'  
apt-get update  
apt-get install dotnet-sdk-2.0.0
Reading package lists... Done   
Building dependency tree  
Reading state information... Done
E: Unable to locate package dotnet-sdk-2.0.0
E: Couldn't find any package by regex 'dotnet-sdk-2.0.0'

我哪里出错了?就像 apt 出于某种原因看不到 Microsoft 存储库一样。
我知道我可以从下载的 tarball 安装它,如果有必要我会这样做,但我更喜欢使用包管理器以便于维护。

这是 apt-get 更新的输出

root@myserver:/etc/apt# apt-get update
Hit https://deb.nodesource.com jessie InRelease
Hit https://deb.nodesource.com jessie/main Sources
Hit https://deb.nodesource.com jessie/main i386 Packages
Get:1 https://packages.microsoft.com jessie InRelease [2,846 B]
Get:2 https://deb.nodesource.com jessie/main Translation-en_US [162 B]
Get:3 https://deb.nodesource.com jessie/main Translation-en [162 B]
Get:4 https://packages.microsoft.com jessie/main amd64 Packages [6,069 B]
Get:5 https://deb.nodesource.com jessie/main Translation-en_US [162 B]
Get:6 https://packages.microsoft.com jessie/main Translation-en_US [178 B]
Get:7 https://deb.nodesource.com jessie/main Translation-en [162 B]
Get:8 https://deb.nodesource.com jessie/main Translation-en_US [162 B]
Get:9 https://packages.microsoft.com jessie/main Translation-en [178 B]
Get:10 https://deb.nodesource.com jessie/main Translation-en [162 B]
Get:11 https://packages.microsoft.com jessie/main Translation-en_US [178 B]
Get:12 https://deb.nodesource.com jessie/main Translation-en_US [162 B]
Get:13 https://packages.microsoft.com jessie/main Translation-en [178 B]
Get:14 https://deb.nodesource.com jessie/main Translation-en [162 B]
Get:15 https://packages.microsoft.com jessie/main Translation-en_US [178 B]
Get:16 https://deb.nodesource.com jessie/main Translation-en_US [162 B]
Ign https://deb.nodesource.com jessie/main Translation-en_US
Get:17 https://packages.microsoft.com jessie/main Translation-en [178 B]
Get:18 https://deb.nodesource.com jessie/main Translation-en [162 B]
Ign https://deb.nodesource.com jessie/main Translation-en
Get:19 https://packages.microsoft.com jessie/main Translation-en_US [178 B]
Get:20 https://packages.microsoft.com jessie/main Translation-en [178 B]
Get:21 https://packages.microsoft.com jessie/main Translation-en_US [178 B]
Ign https://packages.microsoft.com jessie/main Translation-en_US
Get:22 https://packages.microsoft.com jessie/main Translation-en [178 B]
Ign https://packages.microsoft.com jessie/main Translation-en
Fetched 8,915 B in 1s (5,969 B/s)
Reading package lists... Done

经过几天的努力,我决定将我的机器升级到 Debian Stretch。 这是我关注的文章 https://linuxconfig.org/how-to-upgrade-debian-8-jessie-to-debian-9-stretch

apt-get update
apt-get upgrade
apt-get dist-upgrade

改变了我的 sources.list

FROM JESSIE  
deb http://httpredir.debian.org/debian jessie main  
deb http://httpredir.debian.org/debian jessie-updates main  
deb http://security.debian.org jessie/updates main  
TO STRETCH  
deb http://httpredir.debian.org/debian stretch main  
deb http://httpredir.debian.org/debian stretch-updates main  
deb http://security.debian.org stretch/updates main  

运行又是这个

apt-get update
apt-get upgrade
apt-get dist-upgrade

升级完成后,我终于能够看到我正在寻找的 dotnet 核心包!

这可能对您不起作用的另一个原因是,如果您 运行 是 linux 的 32 位版本。 Dot Net Core 包仅适用于 64 位。当尝试在 32 位版本的 Debian 上安装时没有出现任何问题时,我 运行 也遇到了这个问题。 https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x