Полное руководство по установке .NET / .NET Core в RED OS (все актуальные ветки)
⚠️ Важное уточнение по версиям
RED OS не имеет публичных версий 2–11. Дистрибутив использует нумерацию, начинающуюся с 7.x (выпуск 2018 г.), далее 8.x, 9.x, 10.x. Все они построены на базе RHEL/CentOS и используют пакетные менеджеры yum/dnf.
В данной инструкции покрыты все существующие ветки RED OS, а также даны маппинги на эквиваленты RHEL/CentOS для корректной работы репозиториев Microsoft.
🔥 Терминология
Microsoft прекратила использование названия .NET Core после версии 3.1. Начиная с .NET 5 продукт называется просто .NET. Версии 2.x и 3.1 сняты с поддержки (EOL). Для production-сред рекомендуется .NET 8 (LTS до ноября 2026) или .NET 9 (стандартная ветка).
1. Подготовка системы
1.1. Определение версии RED OS
cat /etc/redos-release
# или
rpm -E %{rhel}
RED OS | Эквивалент RHEL/CentOS | Пакетный менеджер |
|---|---|---|
7.x | 7 |
|
8.x | 8 |
|
9.x | 9 |
|
10.x | 10 |
|
1.2. Базовые зависимости
sudo yum install -y curl libicu openssl zlib # для 7.x
sudo dnf install -y curl libicu openssl zlib # для 8.x+📌 .NET требует libicu (локализация), openssl (криптография), zlib. В большинстве случаев они уже установлены.
2. Способ 1: Установка через официальный репозиторий Microsoft (рекомендуется)
2.1. Добавление репозитория Microsoft
# RED OS 7.x (RHEL 7 base)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
# RED OS 8.x (RHEL 8 base)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
# RED OS 9.x (RHEL 9 base)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/9/packages-microsoft-prod.rpm
# RED OS 10.x (если репозиторий опубликован, иначе используйте 9 или manual)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/10/packages-microsoft-prod.rpm 2>/dev/null || \
echo "Репозиторий для RHEL 10 пока не опубликован. Используйте manual-установку или репо RHEL 9."2.2. Очистка кэша и установка .NET
# Очистка метаданных
sudo yum clean all # для 7.x
sudo dnf clean all # для 8.x+
# Установка SDK (включает Runtime, CLI, templates)
sudo yum install -y dotnet-sdk-8.0 # или 9.0, 6.0 и т.д.
sudo dnf install -y dotnet-sdk-8.0💡 Почему .NET 8?
LTS-ветка с поддержкой до ноября 2026 г. Рекомендуется для production. .NET 9 подходит для разработки, но поддержка заканчивается в мае 2026 г.
2.3. Только Runtime (если SDK не нужен)
sudo dnf install -y aspnetcore-runtime-8.0 # для веб-приложений
sudo dnf install -y dotnet-runtime-8.0 # только среда выполнения3. Способ 2: Ручная установка (tar.gz) – для air-gap, оффлайн или изолированных контуров
3.1. Скачивание архива
На машине с интернетом загрузите нужную версию:
- SDK:
https://dotnet.microsoft.com/download/dotnet/8.0 - Runtime:
https://dotnet.microsoft.com/download/dotnet/8.0
Файлы вида: dotnet-sdk-8.0.x-linux-x64.tar.gz или dotnet-runtime-8.0.x-linux-x64.tar.gz.
3.2. Установка на целевой сервер RED OS
# Создание директории
sudo mkdir -p /opt/dotnet
sudo tar -zxf dotnet-sdk-8.0.*-linux-x64.tar.gz -C /opt/dotnet
# Создание симлинка в PATH
sudo ln -s /opt/dotnet/dotnet /usr/local/bin/dotnet
# Проверка
dotnet --version3.3. Настройка переменных окружения (опционально, для systemd/service)
echo 'export DOTNET_ROOT=/opt/dotnet' | sudo tee /etc/profile.d/dotnet.sh
echo 'export PATH=$DOTNET_ROOT:$PATH' | sudo tee -a /etc/profile.d/dotnet.sh
source /etc/profile.d/dotnet.sh✅ Этот метод работает на всех версиях RED OS 7–10, не зависит от репозиториев и подходит для сертифицированных/закрытых контуров.
4. Способ 3: Использование встроенных репозиториев RED OS
В некоторых сборках RED OS (особенно 8.x/9.x) пакеты .NET уже доступны в штатных репозиториях:
sudo dnf search dotnet-sdk
sudo dnf install dotnet-sdk-8.0 # или доступную версию⚠️ Версии в штатных репозиториях могут отставать от upstream Microsoft. Используйте только если политика безопасности запрещает подключение внешних репо.
5. Верификация и первый запуск
dotnet --info
dotnet new console -n TestApp
cd TestApp
dotnet run6. Устранение типовых проблем
Симптом | Причина | Решение |
|---|---|---|
| Старая RED OS 7.x |
|
| OpenSSL < 1.1 или конфликт | Обновите |
| PATH не настроен | Добавьте |
Конфликт пакетов | Смешаны репо Microsoft и RED OS |
|
Ошибка GPG-ключа | Ключ не импортирован |
|
7. Обновление и удаление
Обновление
sudo dnf update dotnet-sdk-8.0 # или dotnet-sdk-9.0
# Для manual: скачайте новый tar.gz, перезапишите /opt/dotnet, перезапустите сервисыУдаление
# Через пакетный менеджер
sudo dnf remove dotnet-sdk-8.0 dotnet-runtime-8.0 aspnetcore-runtime-8.0
# Ручная установка
sudo rm -rf /opt/dotnet
sudo rm -f /usr/local/bin/dotnet8. Рекомендации по безопасности и сопровождению
- Не используйте
.NET Core 2.x/3.1в production – ветки EOL, содержат критические CVE. - Проверяйте GPG-подписи при установке из репозиториев.
- Для air-gap контуров используйте ручную установку + локальный YUM/DNF репозиторий (
createrepo_c). - Обновляйте .NET каждые 3–6 месяцев (качественные обновления) или при выходе новых патчей безопасности.
- Изолируйте версии при помощи
global.jsonв проектах, чтобы избежать конфликтов между приложениями. - Сертификация RED OS: убедитесь, что используемая версия .NET входит в перечень совместимого ПО для вашего класса защищённости (ФСТЭК/ФСБ).
9. Полезные ссылки
- Официальная документация Microsoft: https://learn.microsoft.com/ru-ru/dotnet/core/install/linux-rhel
- Матрица поддержки .NET: https://dotnet.microsoft.com/ru-ru/platform/support/policy
- Репозитории пакетов Microsoft: https://packages.microsoft.com/
- Документация RED OS: https://redos.red-soft.ru/
✅ Итог: Для RED OS 7–10 рекомендуется использовать официальный репозиторий Microsoft (сопоставленный с RHEL 7/8/9) или ручную установку tar.gz в изолированных средах. Актуальная LTS-версия на 2026 год – .NET 8. Версии .NET Core 2.x/3.x считаются устаревшими и не рекомендуются для новых проектов.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.