Найти тему
Программы от меня

Как в windows без труда создать Линус и запустить там программу на C#

Дамы, господа, я восхищен и смят.
Мадам, месье, я счастлив, что таиться!
Леди, джентельмены, я готов стократ
Умереть и снова здесь родиться.
В.Высоцкий

Да, дамы и господа, я восхищен и смят! Восхищен возможностями windows 10 и 11 создавать среду для работы .net core, да не абы какую, а прямого конкурента - виртуальные машины Linux.


Чтоооо??? Вы до сих пор используете гипервизоры и VirtualBox-ы? Забудьте это как страшный сон. Сегодня весь вечер на арене -
WSL или Windows Subsystem for Linux. Эта система позволяет разработчикам запускать окружение GNU/Linux (и ряд приложений Linux) непосредственно на Windows без использования виртуальной машины, и тестировать приложения для linux без переключения между операционными системами.

Вы готовы? Я просто дрожу от нетерпения поделиться с вами этой технологией. Быстренько открываем командную строку от имени администратора и выполняем следующую команду:
wsl --install

Жмем Enter и... ах ты, вредная новая технология! Что же ты нам вместо вожделенного Линукса вывела? Какую-то справочную информацию, которую даже прочитать сразу невозможно, за край окошка командной строки убежала.

-2

Но ничего, мы и в текстовый редактор сможем вывести. Вводим в консоли вот это:

wsl --install > wsl.txt

Буквенной информации после этого не вышло, вся информация об использовании wsl вышла в текстовый файл wsl.txt , который находится в папке пользователя. Открываем, читаем про --install:


--install [Параметры]
Установка дополнительных распределений подсистемы Windows для Linux.
Для получения списка допустимых распределений используйте команду wsl --list --online.

Агааа... для выполнения команды --install нужны дополнительные параметры, и мы их можем получить по команде

wsl --list --online

Выполним её, получим следующее

-3

Тааакс... нам значит надо задать дистрибутив в качестве дополнительного параметра -d. Давайте установим таким образом дистрибутив Ubuntu:

wsl --install -d Ubuntu

И вот после этой команды началась загрузка Ubuntu

-4

После установки и запуска появится окно консоли Ubuntu

-5

В ней надо будет задать новые логин и пароль для системы

-6

Всё, система готова к работе. Можно перейти в режим суперпользователя sudo -s и приступить к установке .NET 8.
Но прежде чем её ставить, необходимо добавить репозиторий пакетов 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 ;
rm packages-microsoft-prod.deb

Я вывел их через точку с запятой, чтобы запустить их выполняться одну за другой одной вставкой в консоль. Вместо 20.04 (такая версия Ubuntu установилась у меня) вы можете выставить свою версию.

Пуляем в консоль Ubuntu всю эту писанину и получаем:

-7

Так, хорошо, установилось. Ставим .net

sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0

Эти команды вводим последовательно и получаем в результате...установку .NET8.0. Проверить корректность установки .NET SDK можно командой

dotnet --list-sdks

-8

Ну и давайте что-нибудь напишем в dotnet для linux этакого...как говорили одесситы времен Бенгальского.

Создадим папку для проекта. Пусть она называется hello.

mkdir hello

и перейдем в нее:

cd hello

Для создания нового проекта (это будет консольное приложение) выполняем команду:

dotnet new console

-9

Проект создан. И если мы введем в консоли команду ls -l, то увидим следующие файлы:

-10

Отредактируем через nano файл Program.cs, где код нашей программы:

-11

Вместо Hello, World! напишем Hello, dotnet core! После чего сохраним файл при помощи Ctrl-O (подтвердим) и выйдем через Ctrl-X. Запустим нашу программу командой

dotnet run

После некоторых раздумий система вывела следующее:

-12

То есть то, что и надо было нам. Отлично! Восхитительно установилось, восхитительно работает. Вывод: wsl - отличная штука, дамы и господа!

P.s. Ну и в конце по традиции полностью песня об Одессе в исполнении В.Высоцкого из фильма "Опасные гастроли" полностью

#csharp #c# #linux #ubuntu #высоцкий #одесса