- Установка .NET в Linux
- Неподдерживаемые выпуски
- Установка вручную
- Установка предварительных версий
- Alpine
- CentOS
- Debian
- Fedora
- openSUSE
- Red Hat
- Ubuntu
- Как установить Linux из сети
- Install the .NET SDK or the .NET Runtime manually
- .NET releases
- Dependencies
- RPM dependencies
- DEB dependencies
- Common dependencies
- Scripted install
- Manual install
Установка .NET в Linux
Платформа .NET доступна в различных дистрибутивах Linux. Для большинства платформ и дистрибутивов Linux разработчики каждый год публикуют основной выпуск. В большей части таких выпусков есть диспетчер пакетов, который используется для установки .NET. В этой статье приведены сведения о поддержке и об используемом диспетчере пакетов.
В остальной части этой статьи содержится конкретная информация по каждой из основных версий дистрибутивов Linux, которые поддерживает .NET. Все выпуски .NET поддерживаются до того же времени, что и версии .NET или дистрибутива Linux.
Для максимальной совместимости выберите версию LTS.
Неподдерживаемые выпуски
Следующие версии .NET больше не поддерживаются (❌). (но остаются доступными для скачивания):
Такие неподдерживаемые версии не описаны в приведенных ниже разделах. Поэтому, если вы попытаетесь установить их, полученные вами результаты могут отличаться от указанных.
Установка вручную
Если вы не хотите использовать диспетчер пакетов для установки .NET в Linux, можно установить .NET одним из следующих способов:
На странице, посвященной дистрибутиву, обязательно просмотрите дополнительные сведения о необходимых зависимостях, которые могут отсутствовать при установке вручную.
Установка предварительных версий
Предварительные версии и релиз-кандидаты .NET недоступны в диспетчере пакетов. Вы можете установить предварительные версии и релиз-кандидаты .NET вручную.
Alpine
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Alpine, в которых они поддерживаются. Эти версии поддерживаются до окончания поддержки версии .NET либо до окончания жизненного цикла версии Alpine.
- Значок ✔️ означает, что версия Alpine или .NET поддерживается.
- Значок ❌ означает, что версия Alpine или версия .NET в таком выпуске Alpine не поддерживается.
- Если значок ✔️ стоит как напротив версии Alpine, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Alpine | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 3.13 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.12 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.11 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.10 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 3.9 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 3.8 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Alpine.
CentOS
CentOS 7 использует Yum в качестве диспетчера пакетов, а CentOS 8 использует DNF.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET в CentOS 7 и CentOS 8. Эти версии поддерживаются до того же времени, что и версия .NET или CentOS.
CentOS | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 8 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 7 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в CentOS.
Debian
Debian использует APT (Advanced Package Tool) в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Debian, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Debian.
- Значок ✔️ означает, что версия Debian или .NET поддерживается.
- Значок ❌ означает, что версия Debian или версия .NET в таком выпуске Debian не поддерживается.
- Если значок ✔️ стоит как напротив версии Debian, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Debian | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 11 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 9 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 8 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Debian.
Fedora
Fedora использует DNF в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Fedora, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Fedora.
- Значок ✔️ означает, что версия Fedora или .NET поддерживается.
- Значок ❌ означает, что версия Fedora или версия .NET в таком выпуске Fedora не поддерживается.
- Если значок ✔️ стоит как напротив версии Fedora, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Fedora | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 34 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 33 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 32 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 31 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 30 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 29 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 28 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 27 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Fedora.
openSUSE
openSUSE использует zypper в качестве диспетчера пакетов.
В следующей таблице приведен список выпусков .NET, которые сейчас поддерживаются в openSUSE 15. Эти версии поддерживаются до тех пор, пока для версии .NET или версии openSUSE не будет прекращена поддержка.
openSUSE | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 15 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в openSUSE.
Red Hat
Red Hat Enterprise Linux (RHEL) использует yum (RHEL 7) и DNF (RHEL 8) в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET в RHEL 7 и RHEL 8. Эти версии поддерживаются до того же времени, что и версия .NET или RHEL.
- Значок ✔️ означает, что версия RHEL или .NET поддерживается.
- Значок ❌ означает, что версия RHEL или версия .NET в таком выпуске RHEL не поддерживается.
- Если значок ✔️ стоит как напротив версии RHEL, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
RHEL | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 8 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 7 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в RHEL.
SLES использует zypper в качестве диспетчера пакетов.
В следующей таблице приведен список выпусков .NET, которые сейчас поддерживаются в SLES 12 SP2 и SLES 15. Эти версии поддерживаются до тех пор, пока для версии .NET или версии SLES не будет прекращена поддержка.
- Значок ✔️ означает, что версия SLES или .NET поддерживается.
- Значок ❌ означает, что версия SLES или версия .NET в таком выпуске SLES не поддерживается.
- Если значок ✔️ стоит как напротив версии SLES, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
SLES | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 15 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 12 SP2 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в SLES.
Ubuntu
Ubuntu использует APT (Advanced Package Tool) в качестве диспетчера пакетов.
В приведенной ниже таблице содержатся сведения о поддержке Ubuntu и .NET.
- Значок ✔️ означает, что версия Ubuntu или .NET поддерживается.
- Значок ❌ означает, что версия Ubuntu или версия .NET в таком выпуске Ubuntu не поддерживается.
- Если значок ✔️ стоит как напротив версии Ubuntu, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Ubuntu | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 21.04 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 20.10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 20.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 19.10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 19.04 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 18.10 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
✔️ 18.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 17.10 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 17.04 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 16.10 | ❌ 2.1 | ❌ 3.1 | ❌ 5.0 |
✔️ 16.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Ubuntu.
Источник
Как установить Linux из сети
#Defaults for tftpd-hpa
RUN_DAEMON=»yes»
OPTIONS=»-l -s /var/lib/tftpboot»
Создаём нужный каталог: mkdir /var/lib/tftpboot, и стартуем сервис invoke-rc.d tftpd-hpa start
atftpd:
После установки обнаруживаем, что по-умолчанию этот сервис работает через inetd. Я, почему-то, не фанат этого метода, поэтому первым делом закомментировал соответствующую строку в /etc/inetd.conf. Затем редактируем /etc/default/atftpd:
USE_INETD=false
OPTIONS=»—daemon —tftpd-timeout 1500 —no-multicast —retry-timeout 20 —logfile /var/log/atftpd.log —maxthread 100 —verbose=5 /var/lib/tftpboot»
—tftpd-timeout — время жизни потока, при отсутствии запросов
—retry-timeout — таймаут отдачи файла
у меня установлены большие таймауты, т.к. сервис транслируется в городскую локальную сеть, которая периодически прогибается от обилия абонентов, и не справляется с потоком запросов.
Ну и, как и в предыдущем пункте, — создаём нужный каталог: mkdir /var/lib/tftpboot, и стартуем сервис invoke-rc.d atftpd start
Теперь у нас есть tftp-сервер. Один шаг мы сделали 🙂
Далее — настройка dhcp:
- dhcp3:
В конфигурационный файл /etc/dhcp3/dhcpd.conf добавляем информацию о загрузке:
filename «pxelinux.0»;
next-server ;
Если tftpd установлен на том же сервере, что и dhcpd — директиву next-server можно опустить. И перезапускаем dhcp3-server: invoke-rc.d dhcp3-server restart
Источник
Install the .NET SDK or the .NET Runtime manually
.NET is supported on Linux and this article describes how to install .NET on Linux using the install script or by extracting the binaries. For a list of distributions that support the built-in package manager, see Install .NET on Linux.
You can also install .NET with snap. For more information, see Install the .NET SDK or the .NET Runtime with Snap.
Install the SDK (which includes the runtime) if you want to develop .NET apps. Or, if you only need to run apps, install the Runtime. If you’re installing the Runtime, we suggest you install the ASP.NET Core Runtime as it includes both .NET and ASP.NET Core runtimes.
If you’ve already installed the SDK or Runtime, use the dotnet —list-sdks and dotnet —list-runtimes commands to see which versions are installed. For more information, see How to check that .NET is already installed.
.NET releases
The following table lists the .NET (and .NET Core) releases:
вњ”пёЏ Supported | вќЊ Unsupported |
---|---|
5.0 | 3.0 |
3.1 (LTS) | 2.2 |
2.1 (LTS) | 2.0 |
1.1 | |
1.0 |
For more information about the life cycle of .NET releases, see .NET Core and .NET 5 Support Policy.
Dependencies
It’s possible that when you install .NET, specific dependencies may not be installed, such as when manually installing. The following list details Linux distributions that are supported by Microsoft and have dependencies you may need to install. Check the distribution page for more information:
For generic information about the dependencies, see Self-contained Linux apps.
RPM dependencies
If your distribution wasn’t previously listed, and is RPM-based, you may need the following dependencies:
If the target runtime environment’s OpenSSL version is 1.1 or newer, you’ll need to install compat-openssl10.
DEB dependencies
If your distribution wasn’t previously listed, and is debian-based, you may need the following dependencies:
Common dependencies
For .NET apps that use the System.Drawing.Common assembly, you’ll also need the following dependency:
You can install a recent version of libgdiplus by adding the Mono repository to your system. For more information, see https://www.mono-project.com/download/stable/.
Scripted install
The dotnet-install scripts are used for automation and non-admin installs of the SDK and Runtime. You can download the script from https://dot.net/v1/dotnet-install.sh.
![IMPORTANT] Bash is required to run the script.
The script defaults to installing the latest SDK long term support (LTS) version, which is .NET Core 3.1. To install the current release, which may not be an (LTS) version, use the -c Current parameter.
To install .NET Runtime instead of the SDK, use the —runtime parameter.
You can install a specific version by altering the -c parameter to indicate the specific version. The following command installs .NET SDK 5.0.
Manual install
As an alternative to the package managers, you can download and manually install the SDK and runtime. Manual installation is commonly used as part of continuous integration testing or on an unsupported Linux distribution. For a developer or user, it’s better to use a package manager.
First, download a binary release for either the SDK or the runtime from one of the following sites. If you install the .NET SDK, you will not need to install the corresponding runtime:
Next, extract the downloaded file and use the export command to set DOTNET_ROOT to the extracted folder’s location and then ensure .NET is in PATH. This should make the .NET CLI commands available at the terminal.
Alternatively, after downloading the .NET binary, the following commands may be run from the directory where the file is saved to extract the runtime. This will also make the .NET CLI commands available at the terminal and set the required environment variables. Remember to change the DOTNET_FILE value to the name of the downloaded binary:
The preceding export commands only make the .NET CLI commands available for the terminal session in which it was run.
You can edit your shell profile to permanently add the commands. There are a number of different shells available for Linux and each has a different profile. For example:
- Bash Shell:
/.bashrc
Korn Shell:
/.kshrc or .profile
Z Shell:
Edit the appropriate source file for your shell and add :$HOME/dotnet to the end of the existing PATH statement. If no PATH statement is included, add a new line with export PATH=$PATH:$HOME/dotnet .
Also, add export DOTNET_ROOT=$HOME/dotnet to the end of the file.
This approach lets you install different versions into separate locations and choose explicitly which one to use by which application.
Источник