Разработка под linux / Установка .net 6

Теперь будем ставить себе .NET. Чтобы мы не просто с предустановленным софтом ковырялись, но и могли что-то свое написать.

Для установки .NET идем сюда https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-ubuntu

Тут есть разные инструкции для разных версий убунты. Чтобы узнать свою версию вводим в терминале команду:

lsb_release -a

нас интересуют именно циферки 20.04, в соответствии с циферками находим себе правильную инструкцию

видим три команды

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

последние две мы уже знаем,

осталась только одна непонятная команда

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

wget – это еще одна утилита. Используется для скачивания файлов из интернета. В качестве параметра передается путь к файлу. Плюс, как и у всякой утилиты, у нее есть куча параметров и флагов. Например, флаг -O позволяет указать имя для файла. Собственно, -O packages-microsoft-prod.deb означает назвать скачанный файл packages-microsoft-prod.deb

Ну что ж давайте, запустим команду, скачаем пакет и узнаем, что он устанавливает. У меня версия 20.04, у вас путь может немного отличаться, так что пожалуйста следите,что скачиваете правильный файл.

запускаем mc, либо распаковываем пакет с помощью dpkg -x и изучаем содержимое. У меня оно такое

если приглядеться, то увидим, что пакет то на самом деле ничего и не устанавливает. Зато он добавляем какие-то файлы. Особенно нас интересует файлы в /etc/apt/sources.list.d

Помните, я говорил, что линукс хранит пути к репозиториям в файле /etc/apt/sources.list и папке /etc/apt/sources.list.d, так вот этот пакет добавляет новый файл в папку /etc/apt/sources.list.d.

Глянем содержимое файла, там всего одна строчка

deb [arch=amd64] https://packages.microsoft.com/ubuntu/20.04/prod focal main

если сходить по пути, то увидим уже знакомую нам структуру организации репозитория

папка dist – в которой хранятся индексы, и папка pool c пакетами

то есть по сути вот этот пакет, который мы скачиваем, просто подключает репозиторий microsoft для работы с .net

еще тут некий /etc/apt/trusted.gpg.d/microsoft-prod.gpg – это специальный цифровой ключ которым подписываются все пакеты из репозитория. Нужно это чтобы предотвратить подмену пакета во время скачивания. Ну если там злоумышленник какой-то сядет вам на провод и будет пытаться запихать какую-нибудь гадость в пакет.

То, что идет в /usr/share нам не особо интересно – это всякая лицензионная информация.

Можно было бы посмотреть еще скрипты для установки, но там по сути происходит просто дополнительная валидация на предмет существования файлов, которые мы выше рассмотрели.

В общем вроде все ок, можно ставить пакет. Запускаем остальные две команды:

sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

И так пакет установлен. Но это пока промежуточный пакет, который просто подключает репозиторий microsoft. Сам .net надо ставить через apt, но для этого надо чтобы apt сначала обновил индекс. Для этого выполним команду

sudo apt update

а дальше уже просто следуем инструкции с микрософта:

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-6.0

они нам кстати тут как раз команду sudo apt-get update добавляют. Вообще тут 4 команды

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

запускаем и ждем:

в конце вас любезно оповестят что будут собирать телеметрию и делится ей с сообществом. И можно теперь работать =)

2.3

Тут просто устанавливаем dotnet 6.0