Тут просто устанавливаем dotnet 6.0
Разработка под 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
последние две мы уже знаем,
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 команды
sudo apt-get update
– обновить индекс (уже сделали)sudo apt-get install -y apt-transport-https
– установить пакет для поддержки репозиториев размешенных на https серверах, у нас путь к серверу жеhttps://packages.microsoft.com/ubuntu/20.04/prod
sudo apt-get update
– обновить индекс второй раз, на случай если apt-transport-https не был установлен ранее, то при первом запускеupdate
, репозиторий с https был бы проигнорированsudo apt-get install -y dotnet-sdk-6.0
– самая главная команда, собственно установка.net 6.0
кстати если вас смутила такая форма записи, то это просто такой способ записи однострочной команды в четыре строчки.
запускаем и ждем:
в конце вас любезно оповестят что будут собирать телеметрию и делится ей с сообществом. И можно теперь работать =)