Поделиться через


Установка пакета SDK .NET или среды выполнения .NET в Debian

В этой статье описывается установка .NET в Debian. Если версия Debian не поддерживается, .NET больше не поддерживается с этой версией. Однако эти инструкции могут помочь вам запустить .NET на этих версиях, даже если он не поддерживается.

Установите пакет SDK (который включает среду выполнения), если вы хотите разрабатывать .NET приложения. Если нужно просто запустить приложения, установите среду выполнения. Если вы устанавливаете среду выполнения, мы рекомендуем установить среду выполнения ASP.NET Core runtime так как она включает как .NET, так и ASP.NET Core среды выполнения.

Используйте команды dotnet --list-sdks и dotnet --list-runtimes, чтобы узнать, какие версии установлены. Дополнительные сведения см. в разделе Как проверить, что .NET уже установлен.

Поддерживаемые дистрибутивы

В следующей таблице приведен список поддерживаемых .NET выпусков и версий Debian, на которые они поддерживаются. Эти версии остаются поддерживаемыми до тех пор, пока версия .NET достигнет конца поддержки или версия Debian достигнет конца жизни.

Debian .NET
13 10, 9, 8
12 10, 9, 8

Следующие версии .NET больше не поддерживаются ❌:

  • .NET 7
  • .NET 6
  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Установка предварительных версий

Предварительный просмотр и версии-кандидаты .NET недоступны в репозиториях пакетов. Предварительные версии и кандидаты на выпуск .NET можно установить одним из следующих способов:

Удалите предварительные версии

При использовании диспетчера пакетов для управления установкой .NET может возникнуть конфликт, если вы ранее установили предварительный выпуск. Диспетчер пакетов может интерпретировать выпуск, отличный от предварительной версии, как более раннюю версию .NET. Чтобы установить выпуск, не относящийся к предварительной версии, сначала удалите предварительные версии. Для получения более подробной информации об удалении .NET ознакомьтесь с разделом Как удалить среду выполнения .NET и пакет SDK.

Debian 13

Установка с помощью APT может быть выполнена несколькими командами. Перед установкой .NET выполните следующие команды, чтобы добавить ключ подписи пакета Майкрософт в список доверенных ключей и добавить репозиторий пакетов.

Откройте терминал и выполните следующие команды:

wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Внимание

Источник пакетов Microsoft публикует только пакеты x64 и Arm64 для .NET 10. Если необходимо установить .NET на другие архитектуры, например Arm32, не используйте диспетчер пакетов с веб-каналом пакетов Майкрософт. Дополнительные сведения об установке .NET без диспетчера пакетов см. в одной из следующих статей:

Установка пакета SDK

Пакет SDK .NET позволяет разрабатывать приложения с помощью .NET. Если установить пакет SDK .NET, вам не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK .NET, выполните следующие команды:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-10.0

Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.

Установка среды выполнения

Среда выполнения ASP.NET Core позволяет запускать приложения, разработанные на .NET, без встроенной среды выполнения. Следующие команды устанавливают среду выполнения ASP.NET Core, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенные ниже команды.

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-10.0

В качестве альтернативы среде выполнения ASP.NET Core можно установить среду выполнения .NET, которая не включает поддержку ASP.NET Core: замените aspnetcore-runtime-10.0 в предыдущей команде dotnet-runtime-10.0:

sudo apt-get install -y dotnet-runtime-10.0

Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.

Debian 12

Установка с помощью APT может быть выполнена несколькими командами. Перед установкой .NET выполните следующие команды, чтобы добавить ключ подписи пакета Майкрософт в список доверенных ключей и добавить репозиторий пакетов.

Откройте терминал и выполните следующие команды:

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Внимание

Источник пакетов Microsoft публикует только пакеты x64 и Arm64 для .NET 10. Если необходимо установить .NET на другие архитектуры, например Arm32, не используйте диспетчер пакетов с веб-каналом пакетов Майкрософт. Дополнительные сведения об установке .NET без диспетчера пакетов см. в одной из следующих статей:

Установка пакета SDK

Пакет SDK .NET позволяет разрабатывать приложения с помощью .NET. Если установить пакет SDK .NET, вам не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK .NET, выполните следующие команды:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-10.0

Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.

Установка среды выполнения

Среда выполнения ASP.NET Core позволяет запускать приложения, разработанные на .NET, без встроенной среды выполнения. Следующие команды устанавливают среду выполнения ASP.NET Core, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенные ниже команды.

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-10.0

В качестве альтернативы среде выполнения ASP.NET Core можно установить среду выполнения .NET, которая не включает поддержку ASP.NET Core: замените aspnetcore-runtime-10.0 в предыдущей команде dotnet-runtime-10.0:

sudo apt-get install -y dotnet-runtime-10.0

Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.

Обновление .NET с помощью APT

Когда новый выпуск исправлений доступен для .NET, его можно обновить с помощью APT с помощью следующих команд:

sudo apt-get update
sudo apt-get upgrade

Если вы обновили дистрибутив Linux после установки .NET, может потребоваться перенастроить репозиторий пакетов Майкрософт. Запустите инструкции по установке текущей версии дистрибутива, чтобы обновить соответствующий репозиторий пакетов для .NET обновлений.

Устранение неполадок

В этом разделе содержатся сведения об распространенных ошибках, которые могут возникнуть при использовании APT для установки .NET.

Не удалось найти пакет

Внимание

Канал пакетов Microsoft публикует пакеты для различных архитектур в зависимости от версии .NET:

  • .NET 10: x64 и Arm64 пакеты только.
  • .NET 9: только пакеты x64.
  • .NET 8: только пакеты x64.

Если необходимо установить .NET на другие архитектуры, например Arm32, не используйте диспетчер пакетов с веб-каналом пакетов Майкрософт. Дополнительные сведения об установке .NET без диспетчера пакетов см. в одной из следующих статей:

Не удалось найти \ Не удалось установить некоторые пакеты

Если появляется сообщение об ошибке, похожее на Не удалось найти пакет {dotnet-package} или Не удалось установить некоторые пакеты, выполните проведенные ниже команды.

В следующем наборе команд присутствуют два заполнителя.

  • {dotnet-package}
    Это представляет установленный пакет .NET, например aspnetcore-runtime-8.0. Это используется в следующей команде sudo apt-get install.

Сначала попробуйте очистить список пакетов.

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

Затем повторите попытку установки .NET. Если проблема не решена, можно выполнить установку вручную с помощью приведенных ниже команд.

Если вы используете Debian 12 или более поздней версии, попробуйте выполнить следующие команды:

# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Если вы используете версию Debian старше 12, попробуйте выполнить следующие команды:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Ошибка получения

При установке пакета .NET может возникнуть ошибка, аналогичная Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Эта ошибка может означать, что каталог пакетов для .NET обновляется новыми версиями, и что вы должны попытаться снова позже. Во время обновления пакетный репозиторий не должен быть недоступен более 30 минут. Если вы продолжаете получать эту ошибку через 30 минут, отправьте заявку о проблеме на адрес https://github.com/dotnet/core/issues.

Зависимости

Если для установки используется диспетчер пакетов, эти библиотеки устанавливаются автоматически. Но если вы вручную устанавливаете .NET или публикуете автономное приложение, необходимо убедиться, что эти библиотеки установлены:

13.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • libssl3
  • libstdc++6
  • zlib1g

12.x

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • libssl3
  • libstdc++6
  • zlib1g

Другие примечания

Зависимости можно установить с помощью apt install команды. В следующем фрагменте кода показано, как установить библиотеку libc6 :

sudo apt install libc6

Следующие шаги