Полное руководство по установке .NET / .NET Core в RED OS (все актуальные ветки)

  • Михаил
  • 8 мин. на прочтение
  • 4
  • 21 May 2026
  • 21 May 2026

⚠️ Важное уточнение по версиям
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

yum

8.x

8

dnf

9.x

9

dnf

10.x

10

dnf (возможно dnf5 как backend)

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 --version

3.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 run

6. Устранение типовых проблем

 

Симптом

Причина

Решение

libicu.so.60 не найдено

Старая RED OS 7.x

sudo yum install libicu или используйте .NET 6/7 (требуют ICU 50+)

SSL routines:SSL_CTX_new ошибка

OpenSSL < 1.1 или конфликт

Обновите openssl, либо используйте DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0

dotnet: command not found

PATH не настроен

Добавьте /usr/local/bin или /usr/share/dotnet в PATH, проверьте симлинк

Конфликт пакетов dotnet-*

Смешаны репо Microsoft и RED OS

sudo dnf remove dotnet*, очистите кэш, установите из одного источника

Ошибка GPG-ключа

Ключ не импортирован

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc


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/dotnet

8. Рекомендации по безопасности и сопровождению

  1. Не используйте .NET Core 2.x/3.1 в production – ветки EOL, содержат критические CVE.
  2. Проверяйте GPG-подписи при установке из репозиториев.
  3. Для air-gap контуров используйте ручную установку + локальный YUM/DNF репозиторий (createrepo_c).
  4. Обновляйте .NET каждые 3–6 месяцев (качественные обновления) или при выходе новых патчей безопасности.
  5. Изолируйте версии при помощи global.json в проектах, чтобы избежать конфликтов между приложениями.
  6. Сертификация 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 считаются устаревшими и не рекомендуются для новых проектов.