Установка .NET 5 на Ubuntu 20.04

Цель этой статьи — пошагово показать, как загрузить и установить .NET 5 (dotnet 5) на Ubuntu 20.04 LTS. Включены варианты установки через apt и snap, проверка установки, краткие объяснения различий между SDK и Runtime и простое руководство по устранению типичных ошибок.
Важно: команды ниже выполняйте с правами, достаточными для установки пакетов (sudo).
Что такое .NET 5
.NET 5 — кроссплатформенная, модульная и открытая реализация платформы .NET. Коротко: SDK содержит инструменты для разработки (компиляция, шаблоны, сборка), а Runtime нужен для запуска приложений. SDK обычно включает Runtime.
Ключевые термины (в одну строку):
- SDK: инструменты для разработки и сборки приложений .NET.
- Runtime: набор компонентов для запуска уже собранных приложений.
Подготовка системы
Перед установкой рекомендуем обновить индекс пакетов:
sudo apt update
sudo apt upgrade -yЕсли система использует прокси или корпоративный репозиторий, убедитесь, что apt настроен корректно (файлы в /etc/apt/apt.conf.d/).
Установка .NET 5 SDK через официальный репозиторий (apt)
- Добавьте пакет с конфигурацией репозитория Microsoft и его подписной ключ:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb- Обновите информацию о пакетах:
sudo apt update- Установите поддержку HTTPS для apt, если она ещё не установлена:
sudo apt install apt-transport-https -y- Установите .NET 5 SDK:
sudo apt-get install -y dotnet-sdk-5.0Примечание: используйте apt или apt-get в зависимости от ваших привычек; функционально они эквивалентны для операций установки.
Альтернативные способы установки
- Через snap (удобно для большинства пользователей):
sudo snap install dotnet-sdk --classic- Через Docker (если вы не хотите изменять систему):
docker run --rm mcr.microsoft.com/dotnet/sdk:5.0 dotnet --version- Ручная загрузка пакетов или tarball с официального сайта: подойдет для нестандартных окружений или офлайн-установки.
Проверка успешной установки
Список установленных SDK:
dotnet --list-sdksСписок установленных Runtime:
dotnet --list-runtimesПростой тест: создайте и запустите новое консольное приложение:
dotnet new console -o TestApp
cd TestApp
dotnet runОжидаемый результат: приложение компилируется и выводит стандартное сообщение (Hello World или эквивалент).
Когда установка может не сработать (частые причины)
- Неподдерживаемая версия Ubuntu — репозиторий Microsoft настроен под конкретные версии.
- Отсутствие доступа в Интернет или блокировка адресов packages.microsoft.com (корпоративный прокси/фаервол).
- Конфликты с уже установленными пакетами .NET (старые пакеты или части вручную установленных библиотек).
- Ошибки подписи пакетов (повреждённый .deb или проблемы с ключами).
Базовое устранение проблем
Ошибка «gpg: … NO_PUBKEY» — повторно установите ключи Microsoft или импортируйте публичный ключ вручную.
Если apt не находит пакет dotnet-sdk-5.0:
- Проверьте правильность файла packages-microsoft-prod.deb и повторите dpkg -i.
- Убедитесь, что в /etc/apt/sources.list.d/ есть файл конфигурации Microsoft и что apt update не возвращает ошибок.
Проблемы с зависимостями — выполните:
sudo apt --fix-broken install
sudo apt update- При работе через прокси — настройте переменные окружения http_proxy/https_proxy и конфигурацию apt.
Важно: если вы не уверены, какой пакет нужен, сначала выполняйте dotnet –list-sdks и dotnet –info для диагностики.
Роль‑ориентированный чек‑лист
Для разработчика:
- Установлен dotnet-sdk-5.0 и dotnet –list-sdks показывает 5.0.x
- dotnet new console работает без ошибок
- Интеграция с IDE (Visual Studio Code / расширение C#) настроена
Для администратора системы:
- Репозиторий Microsoft корректно добавлен в sources.list.d
- Проверены подписи пакетов и доступ к packages.microsoft.com
- Документирован откат/удаление пакета
Критерии приёмки
- dotnet –list-sdks выводит запись версии 5.0.x.
- dotnet –list-runtimes показывает соответствующий runtime (Microsoft.NETCore.App 5.0.x).
- Примерное приложение создаётся и запускается командой dotnet run без ошибок.
Быстрые подсказки и ментальные модели
- SDK = инструменты разработки + Runtime; Runtime = только исполнение.
- apt: системный способ установки пакетов; snap: контейнеризированные пакеты, проще в изоляции.
- Docker: чистая среда для сборки/тестирования, не мешает системе.
Шаблон отката (простая инструкция)
# удалить SDK, если нужно откатиться
sudo apt-get remove --purge dotnet-sdk-5.0 -y
sudo apt autoremove -yЕсли установлен через snap:
sudo snap remove dotnet-sdkПримечания и рекомендации
Важно: если вы готовите серверное окружение для продакшена, рассмотрите запуск приложений в Docker-контейнерах или управление версиями dotnet через инструменты CI/CD, чтобы обеспечить детерминированность окружений.
Если вам нужно установить только Runtime (без SDK), ищите пакеты вида aspnetcore-runtime-5.0 или dotnet-runtime-5.0.
Резюме
Установка .NET 5 на Ubuntu 20.04 выполняется через пакет Microsoft (dpkg + apt) либо через snap. После установки проверьте списки SDK и Runtime и выполните тестовый запуск приложения. В статье также приведены способы обхода распространённых проблем, альтернативы (Docker, snap, ручная установка) и чек‑листы для разработчика и администратора.
Если остались вопросы по конкретной ошибке — приведите вывод команд: sudo apt update, sudo apt-get install -y dotnet-sdk-5.0 и dotnet –info, чтобы получить целевую помощь.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone