February 7, 2023

Установка WSl

Установка WSl

Что такое подсистема Windows для Linux (WSL)?

Подсистема Windows для Linux (WSL) — это функция операционной системы Windows, которая позволяет запускать файловую систему Linux вместе с инструментами командной строки Linux и приложениями графического пользовательского интерфейса непосредственно на Windows наряду с традиционными Windows классическими и приложениями.

Для кого предназначена WSL?
Это в первую очередь средство для разработчиков, особенно веб-разработчиков, работающих над проектами открытый код или развертывания в средах сервера Linux. WSL предназначен для тех, кто любит использовать Bash, распространенные инструменты Linux (sed, awkи т. д.) и платформы Linux (Ruby, Python и т. д.), но также пользуется использованием Windows средств повышения производительности
Установка WSL
Все ниже приведенные команды выполняются в PowerShell

Проверка установленной подсистемы WSL

Первый этап - это ввести следующие команды в PowerShell, запущенной на вашем ПК от имени администратора. (Для того, чтобы узнать пароль от администратора, вам необходим доступ на портал Secure LAPS Portal) 
Проверить, что система WSL установлена можно с помощью команды в консоли:
wsl.exe
Для установки подсистемы WSL (версии 1) необходимо открыть консоль и с правами администратора выполнить команду:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Установка дистрибутива
После установки компонентов качаем образ по ссылке

После загрузки:

- открыть окно PowerShell с правами текущего пользователя

- перейти в директорию с загруженным файлом appx

- выполнить следующую команду

Add-AppxPackage .\Ubuntu_2004.2020.424.0_x64.appx
Через Win + S найдите приложение Ubuntu LTS и запустите. В случае ошибки в процессе установки перезагрузите компьютер.
Полная инструкция по установке WSL https://docs.microsoft.com/ru-ru/windows/wsl/install-win10
Первичная настройка

Установка корневых сертификатов Банка и не только банка. ^-^
3.1 Скачиваем сертификаты на Windows. 
ca-certificates.crt
hcfb-root-sha256-ca.crt
ROOTCA2028.crt
Заходим в виртуальное пространство Linux Ubuntu 20,04
Чтобы зайти в файловую систему linux необходимо найти WSL.
WSL можно найти прописав в поиске сети \\wsl$
У нас высвечивается файловая система
Далее, перемещаем все наши с сертификаты в корень tmp.
Пример:
Создаем папку extra и перемещаем сертификаты из папки tmp, в папки: extra. ca-certificates, certs.
Чтобы это сделать, нужно прописать данные команды .

sudo cp -r /tmp/. /usr/local/share/ca-certificates/extra/
sudo cp -r /tmp/. /usr/local/share/ca-certificates/
sudo cp -r /tmp/. /etc/ssl/certs/

Пример:

Переименовываем сертификаты из расширения .pem в расширение .crt

Важно! Сертификаты с другим расширением читаться не будут.
Выполнить можно, как на Windows, так и на Linux, лучше переименовать на windows. 
Выполнить данные процедуры для всех сертификатов и в каждой папке
В случае, если вы забыли переименовать, не теряемся
Пример:
mv /usr/local/share/ca-certificates/extra/hcfb-root-rsa-ca.pem /usr/local/share/ca-certificates/extra/hcfb-root-rsa-ca.crt
После данной процедуры, мы запускаем процесс обновления сертификатов.
sudo update-ca-certificates

В результате выполнения видим следующее :

Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
 
Adding debian:hcfb-root-sha256-ca.pem
done.
done.

Для проверки успешной загрузки сертификата выполняем следующую команду:

curl -v https://artifactory.homecredit.ru/

Если все прошло без ошибок, то увидим следующий лог выполнения

*   Trying 10.5.10.148:443...
* TCP_NODELAY set
* Connected to artifactory.homecredit.ru (10.5.10.148) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=RU; ST=Moscow; L=Moscow; O=HCFB; OU=IT; CN=artifactory.homecredit.ru
*  start date: Apr 19 11:57:49 2016 GMT
*  expire date: Sep  1 14:29:49 2030 GMT
*  subjectAltName: host "artifactory.homecredit.ru" matched cert's "artifactory.homecredit.ru"
*  issuer: emailAddress=pki@homecredit.ru; C=RU; O=Home Credit and Finance Bank; OU=IT Security; CN=HCFB Root SHA256 CA
*  SSL certificate verify ok.
> GET / HTTP/1.1
> Host: artifactory.homecredit.ru
> User-Agent: curl/7.68.0
Настройка пакетного менеджера

Открываем на редактирование файл /etc/apt/sources.list

sudo vi /etc/apt/sources.list

Переводим редактор в режим редактирования с помощью клавиши Insert.

В конец или начале файла добавляем следующие строки репозиториев банка:

deb https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal main restricted multiverse universe
deb https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-backports main restricted universe multiverse
deb https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-proposed main restricted universe multiverse
deb https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates main restricted multiverse universe
deb https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security main restricted multiverse universe
Выход из редактора vi
Для сохранения нажимаем клавишу Esc и набираем следующую комбинацию ":wq" (набираем без кавычек)
Иногда редактор vi выдает ошибку, нужно сохранить и закрыть редактор использовав ! в конце: :wq!
Восклицательный знак означает сохранение и выход и редактора с помощью прав администратора.

После сохранения конфигурации выполняем обновление списка пакетов:

sudo apt-get update

Результат выполнения должен быть примерно такой:

Hit:1 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal InRelease
Get:2 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates InRelease [114 kB]
Get:3 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security InRelease [109 kB]
Get:4 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/main amd64 Packages [814 kB]
Get:5 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/main Translation-en [197 kB]
Get:6 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/main amd64 c-n-f Metadata [12.7 kB]
Get:7 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/restricted amd64 Packages [146 kB]
Get:8 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/restricted Translation-en [21.9 kB]
Get:9 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/restricted amd64 c-n-f Metadata [436 B]
Get:10 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/universe amd64 Packages [744 kB]
Get:11 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/universe Translation-en [154 kB]
Get:12 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-updates/universe amd64 c-n-f Metadata [16.0 kB]
Get:13 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/main amd64 Packages [497 kB]
Get:14 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/main Translation-en [109 kB]
Get:15 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/main amd64 c-n-f Metadata [7060 B]
Get:16 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/restricted amd64 Packages [123 kB]
Get:17 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/restricted Translation-en [18.0 kB]
Get:18 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/restricted amd64 c-n-f Metadata [392 B]
Get:19 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/universe amd64 Packages [541 kB]
Get:20 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/universe Translation-en [77.2 kB]
Get:21 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/universe amd64 c-n-f Metadata [10.3 kB]
Get:22 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/multiverse amd64 Packages [10.4 kB]
Get:23 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/multiverse Translation-en [2876 B]
Get:24 https://artifactory.homecredit.ru/artifactory/ubuntu-remote focal-security/multiverse amd64 c-n-f Metadata [284 B]
Fetched 3727 kB in 5s (755 kB/s)
Reading package lists... Done
По окончанию выполнения обновления списка файлов запускаем обновление пакетов:
sudo apt-get upgrade -y