Настройка рабочего места .Net Core разработчика в Alt Linux

29 2

Многие разработчики и пользователи с насторожённостью относятся к Linux и ко всему, что с ним связано. Причина такого отношения – недостаточная осведомленность. Также распространено мнение, что Linux и ПО для него разрабатывается некими энтузиастами, которые создают ПО исключительно для решения своих небольших задач и такое ПО не подходит для использования в серьезных коммерческих проектах. На самом деле Linux дистрибутивы развивается и поддерживаются крупными организациями, которые зарабатывают на ОС Linux опосредовано, за счет оказания дополнительных (облачных и не только) услуг. Вспомним Canonical и их ОС Ubuntu, Red Hat с одноименным дистрибутивом.

В экосистеме Linux имеется множество специализированных программ для пользователей «среднего» и «продвинутого» уровня, многие из них прежде всего рассчитаны на ИТ-специалистов, поскольку продолжительное время Linux использовался в качестве надежной серверной ОС и ОС для встраиваемого оборудования. Для Linux пока еще не хватает приложений для так называемых «просьюмеров» - пользователей-непрофессионалов, которые покупают программы профессионального уровня (Adobe Premiere, Final Cut Pro, Photoshop, CAD-системы и прочие), но ситуация постепенно изменяется и производители ПО начинают выпускать версии своих профессиональных приложений для Linux. Для разработчиков на Linux уже в настоящее время открыты огромные возможности, начиная от набора всевозможных специализированных инструментов, которые при желании можно доработать для своих нужд, до различных удобных (и не очень) IDE для работы с разными языками программирования.

В данной статье рассмотрим вариант быстрой настройки рабочего места разработчика .Net core на Alt Linux Workstation.

Развертывание Alt Linux

В качестве системы был выбран Alt Linux Workstation 9.0, прежде всего, чтобы учесть вектор развития в сторону импортозамещения. Вы можете использовать тот дистрибутив, который вам будет наиболее знаком.

На официальном сайте Microsoft представлен список поддерживаемых дистрибутивов Linux и их версий: https://docs.microsoft.com/ru-ru/dotnet/core/install/linux.

Дистрибутив был скачан с помощью торрент-треккера, файлы для треккера можно взять на официальном сайте https://torrent.altlinux.org/.

При развертывании ОС был приятно удивлен, т.к. действий от пользователя требуется минимум, достаточно выполнить ряд простых шагов. Установка выполняется быстро, интуитивно понятно, практически не отличается развёртывания ОС Windows:

1. Выполнение языковой настройки.

2. Укажите региональные настройки.

3. Выполните разметку диска.

На этом пункте необходимо остановиться и подумать, какие разделы и для чего нам будут нужны.

Мы планируем выполнять разработку, при этом наша разработка не должна влиять на ОС, поэтому примем, что разработку мы будем вести только в домашнем каталоге пользователя, а домашний каталог (каталог /home) вынесем на отдельный раздел, чтобы мы ни при каких обстоятельствах мы не могли занять дисковое пространство, необходимое для ОС. Во многих статьях в Интернет рекомендуют вынести каталог /var на отдельный раздел, т.к. в этом каталоге хранится дополнительное установленное ПО и лог-файлы приложений. В нашем случае, мы не знаем, сколько нам потребуется места для /var, будем считать, что выделяемого пространства под систему и приложения мы заложили достаточно, поэтому ограничимся только вынесением каталога /home на отдельный раздел.

Выберем ручную настройку разделов:

Создадим новую таблицу разделов:

Не забывайте про раздел SAWP, этот раздел необходим для хранения дампов виртуальной памяти приложений, обычно примерно вдвое превосходящий по размеру объём оперативной памяти. По данному разделу есть неплохая статья, на рекомендации по которой можно ориентироваться: https://liberatum.ru/e/linux-optimal-swap-size.

4. Выберем состав необходимого ПО. Оставим только нужное.

5. Дождаться завершения установки ОС.

6. Подтвердить установку загрузчика Linux на основную загрузочную запись диска.

7. Выполнить настройку сетевого адаптера.

В данном случае оставим все по умолчанию. При разворачивании на вашем рабочем месте, необходимо уточнить сетевые настройки у системных инженеров вашей компании. В любом случае сетевые настройки можно изменить после развертывания ОС.

8. После настройки учетных записей, установка ОС будет завершена.

Разворачивание инструментария .Net core

Прежде всего необходимо установить обновления ОС. Все действия по установке и настройке системы будем выполнять под учетной записью root (суперпользователь ОС, обладающий максимальными правами).

Запускаем эмулятор терминала Konsole (из комплекта поставки) и начинаем выполнять настройку рабочего места.

[user@host-15 ~]$ su
Password: ******
[root@host-15 ~]$ apt-get update
[root@host-15 ~]$ apt-get dist-upgrade

Для разработки на .Net core потребуется установить мета-пакет dotnet и SDK-пакет dotnet-sdk:

[root@host-15 ~]$ apt-get install dotnet dotnet-sdk

Пакеты разработки установлены, можно начинать создавать первую программу.

Под обычным пользователем перейдем в домашний каталог пользователя и создадим специальный каталог для разработки /projects.

[user@host-15 ~]$ mkdir /home/user/projects

Перейдем в каталог для проектов и создадим первое консольное приложение (проект).

[user@host-15 ~]$ cd /home/user/projects
[user@host-15 projects]$ dotnet new console –o HelloWorld

Результат выполнения:

После выполнения команды, был сформирован каталог с консольным приложением. Внутри каталога располагается файл Program.cs, в котором можно увидеть исходный код нашего тестового проекта.

Для того, чтобы скомпилировать и выполнить проект, необходимо перейти в каталог проекта и выполнить команду dotnet run.

[user@host-15 projects]$ cd HelloWorld
[user@host-15 HelloWorld]$ dotnet run
Hello World!
[user@host-15 HelloWorld]$

После выполнения команды в папке bin/Debug/netcore3.1/ будет сформирован исполняемый файл приложения, которое можно запустить, как любой другой исполняемый файл в Linux:

[user@host-15 HelloWorld]$ cd bin/Debug/netcore3.1
[user@host-15 netcore3.1]$ ./HelloWorld
Hello World!
[user@host-15 netcore3.1]$

Развертывание редактора Visual Studio Code

Для удобства ведения разработки необходимо развернуть специализированное IDE для работы с C#. Специализированое IDE позволит повысить удобство разработки и значительно сократить время, требуемое на разработку за счет автоматических подстановок элементов кода и подсказок. Будем использовать специальный инструмент Visual Studio Code, который рекомендуется Microsoft для работы с .Net core.

Для Alt Linux инструмент Visual Studio Code поставляется вместе с пакетом code.

[root@host-15 ~]$ apt-get install code

После установки пакета, в системе появится редактор Visual Studio Code (Text Editor), который можно запустить из меню приложений:

Для работы с C# в Visual Studio Code необходимо установить расширение C# for Visual Studio Code, которое включает в себя инструменты для удобной разработки на .Net core, подсветку синтаксиса для C#, а также обеспечивает поддержку отладки .Net core. Подробнее про расширение можно почитать на странице этого расширения https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp.

Установку расширения можно выполнить прямо в редакторе:

Запустим IDE и откроем папку нашего проекта.

В редакторе вы можете быстро переключаться между файлами проекта, создавать новые файлы проекта и папки.

На вкладке TERMINAL удобно вызывать процесс сборки и выполнения приложения.

С примером отладки приложения в Visual Studio Code вы можете ознакомиться в статье https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/debugging-with-visual-studio-code.

Вместо заключения

Как видим процесс подготовки рабочего места разработчика .net core на Linux довольно простой, вся настройка по данной статье занимает примерно 45 мин, при этом основное время приходится время установки ОС Linux.

Также мы разработали тестовую программу и запустили ее в рамках редактора Visual Studio Code.

В следующей статье попробуем написать простой микросервис, который сможет выполнять некоторые полезные действия.

Антон Шевцов
Фатальная ошибка. Использование su без - (минуса).
Должно быть так
[user@host-15 ~]$ su -
Андрей Ардашев

Антон, добрый день, на каком дистрибутиве удалось получить такую ошибку?

Авторизуйтесь, чтобы написать комментарий