- Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
- Access WSL Linux Files from Windows 10
- Access Linux Files in Command Line
- Known issues
- About Sergey Tkachenko
- 2 thoughts on “ Access WSL Linux Files from Windows 10 ”
- Leave a Reply Cancel reply
- Connect with us
- Часто задаваемые вопросы о подсистеме Windows для Linux
- Что такое подсистема Windows для Linux (WSL)?
- Для кого предназначена WSL?
- Что можно сделать с помощью WSL?
- Опишите типичный рабочий процесс разработки с использованием WSL
- Что такое Bash?
- Как это работает?
- Зачем использовать WSL вместо Linux в виртуальной машине?
- Зачем использовать, например, Ruby в Linux, а не Ruby в Windows?
- Что это означает для PowerShell?
- Можно ли запускать ВСЕ приложения Linux в WSL?
- Какие номера SKU Windows входят в WSL?
- Какие процессоры поддерживает WSL?
- Как получить доступ к моему диску C?
- Как настроить диспетчер учетных данных Git? (Как использовать разрешения Windows Git в WSL?)
- Как использовать файл Windows в приложении Linux?
- Отличаются ли файлы на диске Linux от файлов на подключенном диске Windows?
- Почему при выполнении apt-get upgrade возникает много ошибок?
- Как удалить дистрибутив WSL?
- Почему проверка связи порождает создает ошибки «Отказ в разрешении»?
- Как запустить сервер OpenSSH?
- Почему при попытке установки появляется сообщение «Ошибка:0x80040306»?
- Почему при запуске bash.exe после обновления Windows появляется сообщение «Ошибка: 0x80040154»?
- Как изменить язык интерфейса WSL?
- Почему у меня нет доступа к Интернету из WSL?
- Как получить доступ к порту из WSL в Windows?
- Как выполнить резервное копирование дистрибутивов WSL или переместить их с одного диска на другой?
- Куда можно отправить отзыв?
- Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
- Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
- Используйте настоящие команды Linux (не CGYWIN) из Windows
- Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
- Запуск нескольких Linux в считанные секунды
- Запустите X Windows Server под Windows с Pengwin
- Простое перемещение дистрибутивов WSL между системами Windows.
- Используйте провайдер учетных данных Windows Git внутри WSL
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем
- Оглавление
- I. Управление дистрибутивами Linux
- Как включить WSL2 (подсистему Windows для Linux второй версии) и установить последнюю версию ядра
- Характеристика дистрибутивов Linux в WSL
- Как установить дистрибутив Linux в WSL
- Как просмотреть список установленных дистрибутивов Linux в WSL
- Как пользоваться Linux в WSL
- Как в WSL сбросить Linux до начального состояния
- Как удалить дистрибутив Linux в WSL
- Как узнать, какие дистрибутивы запущены
- Как выключить все дистрибутивы
- Как перезагрузить или выключить отдельный дистрибутив
- Как в Linux открыть файл Windows
- Как смонтировать съёмные диски в подсистеме Windows для Linux
- Как смонтировать сетевые папки
- Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
- Подсказки по использованию дистрибутивов на основе Debian
- Подсказки по использованию дистрибутивов на основе openSUSE
- Подсказки по использованию дистрибутивов на основе Fedora
- II. Установка и использование программ, свойства и настройка системы
- Double Commander (бесплатный аналог Total Commander) в Linux (WSL)
- Как запустить веб-сервер в Linux на WSL
- Как получить доступ к службам Linux в WSL (какой IP у Linux)
- Как получить доступ к службам Windows из Linux на WSL
- Как установить аналог Диспетчера задач в Linux на WSL
- Как посмотреть открытые порты в Linux на WSL
- Как запустить СУБД MySQL в Linux на WSL
- Поддерживает ли Linux в WSL графический пользовательский интерфейс
- III. Решение проблем в WSL
- Ошибка «WslRegisterDistribution failed with error: 0x80370102»
- Ошибка «Address already in use … make_sock: could not bind to address»
- Почему Linux в WSL не видит Wi-Fi адаптеры
- Может ли Linux в WSL использовать видеокарты для выполнения вычислений
- Ошибка в WSL (Kali Linux, Ubuntu) «sleep: cannot read realtime clock: Invalid argument»
- Ошибка «unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)»
- Ошибка «E: Release file for http://http.kali.org/kali/dists/kali-rolling/InRelease is not valid yet (invalid for another 2h 43min 57s). Updates for this repository will not be applied»
Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
Обновление Windows 10 за апрель 2019 года предлагает долгожданную функцию: поддержку простого доступа, просмотра и даже изменения файлов подсистемы Windows для Linux (WSL) из проводника или командной строки.
Раньше можно было найти ваши файлы Linux в папке AppData, но Microsoft предостерегает от этого. Изменение файлов здесь может сломать установленный Linux. Теперь есть более простой и официальный способ получить доступ к этим файлам с помощью инструментов Windows — без риска что-либо сломать!
Крейг Лоуэн из Microsoft объясняет, как это работает: Вместо прямого доступа к этим файлам Windows запускает сервер Plan 9 как часть программного обеспечения WSL в фоновом режиме. В Windows 10 есть «служба и драйвер Windows, которые действуют как клиент и общаются с сервером Plan9». Этот сервер переводит ваши файловые операции и обрабатывает метаданные Linux, такие как права доступа к файлам, гарантируя, что всё работает правильно, даже когда вы обращаетесь к файлу с помощью инструмента Windows. Но это просто сложные вещи, которые происходят на заднем плане, и вам не нужно об этом думать.
Вы можете открыть окно проводника прямо в текущем каталоге из среды оболочки Linux. Просто введите следующую команду в оболочку Bash:
Отсюда вы можете нормально работать с файлами. Используйте перетаскивание, копируйте и вставляйте их или даже открывайте их непосредственно в приложениях Windows, чтобы изменить их.
Microsoft может изменить то, как это работает в будущем. Но пока вы также можете ввести следующий путь в окно проводника для доступа к файлам дистрибутива Linux:
Другими словами, если вы используете оболочку Bash в Ubuntu 18.04, вы должны ввести:
Это, конечно, также работает из командной строки. В PowerShell или командной строке
Пользователи подсистемы Windows для Linux давно хотели получить эту функцию. Ещё в 2016 году Рич Тернер из Microsoft писал, что ему приходилось предупреждать людей, чтобы они не открывали свои файлы Linux в проводнике по крайней мере два или три раза в день. Теперь, наконец, появился способ работать с этими файлами, не рискуя что-то сломать.
Access WSL Linux Files from Windows 10
Windows 10 version 1903 «April 2019 Update» comes with a number of interesting changes and improvements made to the WSL feature. These include additional distros in the Store, the ability to browse WSL files from File Exporer, and more.
The ability to run Linux natively in Windows 10 is provided by the WSL feature. WSL stands for Windows Subsystem for Linux, which initially, was limited to Ubuntu only. Modern versions of WSL allow installing and running multiple Linux distros from Microsoft Store.
After enabling WSL, you can install various Linux versions from the Store. You can use the following links:
With Windows 10 version 1903 «April 2019 Update» you can easily access all the files in your Linux distros from Windows. As of this writing, this feature is implemented in Windows 10 build 18836. It is on its way to the 19h1 branch, so we will see it with the next build. Here is how it can be done.
To access WSL Linux Files from Windows 10, do the following.
From there you can access whatever Linux files you like, just like you would any other file through File explorer. This includes operations such as: dragging files back and forth to other locations, copy and paste, and even using custom context menu entries added by Notepad++, VSCode, and other software.
File Explorer shows the distro files as a virtual network share under the path \\wsl$\ \.
The WSL team is actively investigating ways to improve the discoverability of Linux files inside of File Explorer. The progress of their work can already be seen in Windows 10 Build 18836 that shows WSL/Linux File System in File Explorer.
Access Linux Files in Command Line
In addition to File Explorer, you can use the classic Command Prompt, and PowerShell tools to access your Linux files. Similarly, you need to navigate to \\wsl$\
Known issues
This is a new feature, and some pieces of it may not work perfectly. Here are some known issues that we want to make you aware of when using this feature:
Note: A 9P server is a server that contains protocols that support Linux metadata, including permissions. The WSL init daemon now includes a 9P server. There is a Windows service and driver that acts as the client and talks to the 9P server (which is running inside of a WSL instance). Client and server communicate over AF_UNIX sockets, since WSL allows interop between a Windows application and a Linux application using AF_UNIX.
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
About Sergey Tkachenko
Sergey Tkachenko is a software developer from Russia who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.
2 thoughts on “ Access WSL Linux Files from Windows 10 ”
I tried to `cd \\wsl$` and `cd \\wsl$/` and it didn’t work.
I just realised it doesn’t work with Powershell Core 6.
Leave a Reply Cancel reply
Connect with us
We discontinued Facebook to deliver our post updates.
Часто задаваемые вопросы о подсистеме Windows для Linux
Что такое подсистема Windows для Linux (WSL)?
Подсистема Windows для Linux (WSL) — это компонент Windows 10, позволяющий запускать собственные средства командной строки Linux непосредственно в Windows, наряду с традиционным классом Windows Desktop и приложениями.
Чтобы узнать больше, ознакомьтесь со страницей сведений.
Для кого предназначена WSL?
Что можно сделать с помощью WSL?
Опишите типичный рабочий процесс разработки с использованием WSL
Подсистема WSL нацелена на аудиторию разработчиков и предназначена для использования в рамках внутреннего цикла разработки. Предположим, Семен создает конвейер CI/CD (непрерывной интеграции и непрерывной поставки) и хочет сначала протестировать его на локальном компьютере (ноутбуке) перед развертыванием в облаке. Семен может включить WSL (а также WSL 2, чтобы повысить скорость и производительность), а затем использовать подлинный экземпляр Linux Ubuntu на локальном компьютере (ноутбуке) с любыми командами Bash и инструментами по своему выбору. После проверки конвейера разработки в локальной среде Семен может отправить этот конвейер CI/CD в облако (т. е. в Azure), сделав его контейнером Docker и отправив в облачный экземпляр, где он будет выполняться на рабочей виртуальной машине Ubuntu.
Что такое Bash?
Bash — это популярная текстовая оболочка и язык команд. Это оболочка по умолчанию, входящая в состав Ubuntu и других дистрибутивов Linux, а также в macOS. Пользователи могут вводить команды в оболочке для выполнения сценариев и (или) команд и инструментов, чтобы выполнять множество задач.
Как это работает?
Ознакомьтесь с нашим блогом, где мы подробно рассматриваем базовую технологию.
Зачем использовать WSL вместо Linux в виртуальной машине?
WSL требует меньше ресурсов (ЦП, памяти и хранилища), чем полноценная виртуальная машина. WSL также позволяет запускать программы командной строки и приложения Linux вместе с приложениями командной строки, классическими приложениями и приложениями Store для Windows, а также позволяет обращаться к файлам Windows в Linux. Это позволяет использовать приложения для Windows и программы командной строки Linux для одного и того же набора файлов, если требуется.
Зачем использовать, например, Ruby в Linux, а не Ruby в Windows?
Некоторые кроссплатформенные инструменты были созданы, исходя из предположения, что среда, в которой они выполняются, работает как Linux. Например, некоторые инструменты предполагают, что имеют доступ к очень длинным путям к файлам или что существуют определенные файлы и папки. Это часто вызывает проблемы в среде Windows, которая нередко ведет себя иначе, чем в Linux.
Многие языки, такие как Ruby и Node, часто переносятся в Windows и работают отлично. Тем не менее, не все владельцы библиотек Ruby Gem или node/NPM переносят свои библиотеки для поддержки Windows, и многие из них имеют зависимости, относящиеся к Linux. Это часто может привести к тому, что системы, созданные с помощью таких инструментов и библиотек, становятся подвержены ошибкам во время сборки, а иногда — во время выполнения, либо не работают в Windows требуемым образом.
Это лишь часть проблем, из-за которых многие пользователи просят корпорацию Майкрософт улучшить программы командной строки Windows, а мы стали партнерами с Canonical, чтобы обеспечить выполнение собственных программ командной строки Linux и Bash в Windows.
Что это означает для PowerShell?
При работе с проектами OSS существует множество сценариев, в которых чрезвычайно полезно перейти в Bash из командной строки PowerShell. Поддержка Bash дополняет и расширяет возможности командной строки в Windows, позволяя использовать PowerShell, а сообществу PowerShell — применять другие популярные технологии.
Дополнительные сведения см. в блоге группы разработчиков PowerShell: Bash for Windows: Why it’s awesome and what it means for PowerShell (Bash для Windows: почему это здорово и что это значит для PowerShell)
Можно ли запускать ВСЕ приложения Linux в WSL?
Нет. WSL — это инструмент, предназначенный для того, чтобы позволить пользователям запускать необходимые основные программы командной строки Linux и Bash в Windows.
WSL еще не поддерживает рабочие столы и приложения графического пользовательского интерфейса (например, GNOME, KDE и т. д.). Следуйте указаниям в блоге по командной строке для обновлений.
Кроме того, хотя вы сможете запускать многие популярные серверные приложения (например, Redis), мы не рекомендуем применять WSL для размещения рабочих служб. Корпорация Майкрософт предлагает ряд других решений для запуска производственных рабочих нагрузок Linux в Azure, Hyper-V и Docker.
Какие номера SKU Windows входят в WSL?
Подсистема Windows для Linux доступна для юбилейного обновления Windows 10 и Windows 10 Creators Update для настольных компьютеров (а также для более поздних версий).
Начиная с версии Fall Creators Update компонент WSL будет доступен как для номеров SKU настольных компьютеров, так и для номеров SKU серверных продуктов Windows.
Какие процессоры поддерживает WSL?
WSL поддерживает процессоры x64 и ARM.
Как получить доступ к моему диску C?
Точки подключения для жестких дисков на локальном компьютере создаются автоматически и обеспечивают простой доступ к файловой системе Windows.
/mnt/ /
Пример использования — команда cd /mnt/c для доступа к диску C:\
Как настроить диспетчер учетных данных Git? (Как использовать разрешения Windows Git в WSL?)
Диспетчер учетных данных Git позволяет выполнять проверку подлинности на удаленном сервере Git, даже если используется сложная модель проверки подлинности, например Azure Active Directory или двухфакторная проверка подлинности. Диспетчер учетных данных Git интегрируется в поток проверки подлинности для таких служб, как GitHub, и после проверки подлинности в поставщике услуг размещения запрашивает новый маркер проверки подлинности. Затем маркер сохраняется в диспетчере учетных данных Windows с поддержкой высокого уровня безопасности. В дальнейшем диспетчер учетных данных Git можно использовать для взаимодействия с поставщиком услуг размещения без повторной проверки подлинности. Он просто обратится к маркеру в диспетчере учетных данных Windows.
Чтобы настроить диспетчер учетных данных Git для использования с дистрибутивом WSL, откройте дистрибутив и введите такую команду:
Теперь при всех операциях Git, выполняемых в дистрибутиве WSL, будет использоваться диспетчер учетных данных. Если у вас уже есть кэшированные учетные данные для узла, к ним будет выполняться доступ из диспетчера учетных данных. В противном случае отобразится диалоговое окно с запросом учетных данных, даже если вы работаете в консоли Linux.
Как использовать файл Windows в приложении Linux?
Одним из преимуществ WSL является возможность доступа к файлам с помощью приложений или инструментов Windows и Linux.
Важное примечание. Одним из основных ограничений использования WSL является то, что непосредственный доступ и изменение файлов в файловой системе дистрибутивов Linux с помощью приложений или инструментов Windows не поддерживается. См. раздел Не изменяйте файлы Linux с помощью приложений и инструментов Windows
Отличаются ли файлы на диске Linux от файлов на подключенном диске Windows?
Файлы в корне Linux (т. е. / ) контролируются подсистемой WSL, которая имитирует поведение Linux, включая, помимо прочего, следующее:
Файлы на подключенных дисках контролируются Windows и имеют следующие характеристики:
Почему при выполнении apt-get upgrade возникает много ошибок?
Введите приведенный ниже код в /usr/sbin/policy-rc.d и сохраните изменения.
Добавьте разрешения на выполнение в /usr/sbin/policy-rc.d
Выполните следующие команды.
Как удалить дистрибутив WSL?
В сборках, предшествующих сборке 1709 (16299), откройте командную строку и выполните следующую команду.
Почему проверка связи порождает создает ошибки «Отказ в разрешении»?
В сборках WSL, предшествующих сборке 14926, для проверки связи нужно запустить WSL из консоли с повышенными привилегиями. Эта проблема была устранена в сборке 14926 и более поздних сборках.
Как запустить сервер OpenSSH?
Для запуска OpenSSH в WSL требуются привилегии администратора в Windows. Чтобы запустить сервер OpenSSH, запустите Bash для Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки или сеанса PowerShell с привилегиями администратора.
Почему при попытке установки появляется сообщение «Ошибка:0x80040306»?
WSL не поддерживает выполнение в устаревшей консоли. Чтобы отключить устаревшую консоль, выполните следующие действия.
Почему при запуске bash.exe после обновления Windows появляется сообщение «Ошибка: 0x80040154»?
Компонент «Подсистема Windows для Linux» может быть отключен во время обновления Windows. В этом случае данную функцию Windows необходимо включить заново. Инструкции по включению компонента «Подсистема Windows для Linux» можно найти в руководстве по установке.
Как изменить язык интерфейса WSL?
Установщик WSL попытается автоматически изменить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows. Если это нежелательно, можно выполнить приведенную ниже команду, чтобы изменить языковой стандарт Ubuntu после завершения установки. Чтобы это изменение вступило в силу, потребуется повторно запустить bash.exe.
В приведенном ниже примере языковой стандарт изменяется на EN-US.
Почему у меня нет доступа к Интернету из WSL?
Некоторые пользователи сообщили о проблемах с определенными приложениями брандмауэра, блокирующими доступ к Интернету в WSL. Сообщили о следующих брандмауэрах:
В некоторых случаях отключение брандмауэра обеспечивает доступ. В некоторых случаях доступ блокируется просто при наличии установленного брандмауэра.
Как получить доступ к порту из WSL в Windows?
WSL использует IP-адрес Windows, так как работает в Windows. Поэтому вы можете получить доступ к любым портам на localhost. Например, если вы предоставляете веб-содержимое через порт 1234, то вы можете открыть адрес https://localhost:1234 в браузере для Windows.
Как выполнить резервное копирование дистрибутивов WSL или переместить их с одного диска на другой?
Обратите внимание на то, что традиционные службы резервного копирования, которые создают резервные копии файлов в папках AppData (например, программа архивации данных), не повредят файлы Linux.
Куда можно отправить отзыв?
Вы можете оставлять свои отзывы и задавать вопросы, используя несколько каналов.
Если у вас возникли технические проблемы или вы хотите запросить новые функции, перейдите к нашему средству записи проблем GitHub:
Если вы хотите оставаться в курсе последних новостей WSL, используйте следующее:
Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.
Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
Используйте настоящие команды Linux (не CGYWIN) из Windows
Я уже писал об этом раньше, но теперь есть алиасы для функций PowerShell, которые позволяют вам использовать настоящие команды Linux изнутри Windows.
Вы можете вызвать любую команду Linux напрямую из DOS/Windows/чего угодно, просто поместив ее после WSL.exe, вот так.
Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
Вы можете запустить «code.», находясь в папке в WSL, и вам будет предложено установить расширения VS Remote.. Это эффективно разделяет Visual Studio Code пополам и запускает «headless» VS Code Server в Linux с клиентом VS Code в мире Windows.
Вам также необходимо установить Visual Studio Code и расширение Remote — WSL. При желании, установите бета-версию Windows Terminal для лучшего опыта работы с терминалом в Windows.
Вот отличная подборка статей из блога Windows Command Line.
Запуск нескольких Linux в считанные секунды
Я могу легко запустить их, а также назначить профили, чтобы они появлялись в моем Windows Terminal.
Запустите X Windows Server под Windows с Pengwin
Простое перемещение дистрибутивов WSL между системами Windows.
Ana Betts отмечает эту замечательную технику, с помощью которой вы можете легко перенести свой идеальный дистрибутив WSL2 с одной машины на n машин.
Вот и все. Получите идеальную настройку Linux, синхронизированную на всех ваших системах.
Используйте провайдер учетных данных Windows Git внутри WSL
Все перечисленные фичи переткают в кульминацию в этом крутом посте от Ana Betts, где она интегрирует Windows Git Credential Provider в WSL, превращая /usr/bin/git-credential-manager в сценарий оболочки, который вызывает диспетчер git creds Windows. Гениально. Это было бы возможно только при условии чистой и тесной интеграции.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем
Оглавление
I. Управление дистрибутивами Linux
II. Установка и использование программ, свойства и настройка системы
III. Решение проблем в WSL
На HackWare.ru готовится серия статей по использованию Kali Linux в подсистеме Windows для Linux (WSL). На мой взгляд, эти инструкции очень интересные для начинающих пользователей WSL и начинающих пользователей Kali Linux. В этих инструкциях не просто освоение терминала и базовых команд, а примеры использования лучших инструментов прямо в Windows без необходимости установки ещё одной операционной системы или Python, Ruby, Perl и прочего.
Технология WSL позволяет получить быстрый доступ к большому количеству инструментов Linux потратив минимальное количество времени на настройку рабочего окружения.
Тем не менее, чтобы эффективно использовать инструменты Linux и Kali Linux, нужно быть с ними знакомым и знать синтаксис их запуска (об этом в следующей части). Но не менее важно уверенно себя чувствовать с Linux в WSL — именно этому и посвящён данный раздел. Здесь приведены пошаговые инструкции использования WSL, даны советы и подсказки по выполнению базовых действий, описаны решения некоторых проблем.
Данные список подсказок будет пополняться. Если у вас есть вопрос по WSL, то спрашивайте его в комментариях.
I. Управление дистрибутивами Linux
Как включить WSL2 (подсистему Windows для Linux второй версии) и установить последнюю версию ядра
Microsoft работала с Canonical, чтобы предложить полную среду оболочки Bash на основе Ubuntu, которая работает поверх этой подсистемы, а в настоящее время теперь можно запускать полноценные дистрибутивы Linux. Технически это вообще не Linux. Linux — это базовое ядро операционной системы, которое здесь недоступно. Вместо этого она позволяет запускать оболочку Bash и те же двоичные файлы, которые вы обычно запускаете в Ubuntu Linux. Сторонники свободного программного обеспечения часто утверждают, что среднюю операционную систему Linux следует называть «GNU/Linux», потому что на самом деле на ядре Linux работает множество программ GNU. Оболочка Bash, которую вы получите, на самом деле представляет собой все эти утилиты GNU и другое программное обеспечение.
Эта функция изначально называлась «Bash в Ubuntu в Windows», но она также позволяла запускать Zsh и другие оболочки командной строки. Теперь же она поддерживает и другие дистрибутивы Linux. Вы можете выбрать openSUSE Leap или SUSE Enterprise Server, Fedora или Kali Linux вместо Ubuntu.
Здесь есть некоторые ограничения. Она пока не поддерживает фоновое серверное программное обеспечение и официально не работает с графическими настольными приложениями Linux. Не все приложения командной строки также работают, поскольку функция не идеальна.
По умолчанию WSL2 отключена в Windows. Чтобы её включить можно воспользоваться графическим интерфейсом или командной строкой. Чтобы включить WSL2 в командной строке, нажмите Win+x и в открывшемся меню выберите «Windows PowerShell (администратор)»:
Важно открыть PowerShell с повышенными правами.
Дождитесь окончания загрузки и выполнения.
Перезагрузите компьютер, для этого нажмите Enter.
Теперь опять откройте PowerShell от администратора и выполните:
Вновь перезагрузите компьютер.
Скачайте и установите последнее ядро WSL2 Linux Kernel отсюда: https://aka.ms/wsl2kernel (прямая ссылка).
Опять откройте PowerShell как администратор и выполните:
Если у вас уже установлен дистрибутив (например, Kali Linux) в WSL1, то для обновления выполните команду:
Характеристика дистрибутивов Linux в WSL
Debian
Debian — популярен как дистрибутив, например, для серверов, так и как основа для других дистрибутивов. Например, на Debian основываются Ubuntu, Kali Linux, Linux Mint (есть версия LMDE, которая основывается непосредственно на Debian, а также «классическая» версия, которая основывается на Ubuntu, которая, в свою очередь, также основывается на Debian).
То есть Debian и производные очень популярна.
Вы сможете использовать полную среду командной строки Debian, содержащую среду полной текущей стабильной версии.
Kali Linux
Kali Linux — это популярнейший дистрибутив для специалистов в информационной безопасности, цифровой криминалистике, хакеров и продвинутых пользователей. Вы можете установить и использовать в родной среде Linux множество специализированных инструментов. Для Kali Linux разработано ПО для упрощённого запуска графического интерфейса (смотрите статью «Как установить Kali Linux с Win-KeX (графический интерфейс) в WSL2 (подсистему Windows для Linux)», а также для инструкций на HackWare.ru взят именно этот дистрибутив, поэтому для него вы найдёте много детаьлных инструкций. По этой причине рекомендуется Kali Linux.
SUSE Linux Enterprise Server
SUSE Linux Enterprise Server — это мультимодальная операционная система, которая открывает путь к трансформации ИТ в эпоху программного обеспечения. Современная модульная ОС помогает упростить мультимодальные ИТ, делает традиционную ИТ-инфраструктуру эффективной и обеспечивает привлекательную платформу для разработчиков. В результате вы можете легко развертывать и переносить критически важные для бизнеса рабочие нагрузки в локальную и общедоступную облачные среды. SUSE Linux Enterprise Server 15 SP1 с его мультимодальным дизайном помогает организациям трансформировать свой ИТ-ландшафт за счет объединения традиционной и программно определяемой инфраструктуры.
Ubuntu
В WSL у дистрибутива Ubuntu также отсутствует графический интерфейс (как по умолчанию у всех других дистрибутивов), поэтому её нельзя назвать более «дружественной» к пользователю. Основана на Debian.
Fedora
Обещают добавить, но пока отсутствует.
Как установить дистрибутив Linux в WSL
После того, как вы включили WSL2, как это показано в предыдущем разделе, откройте Microsoft Store из меню «Пуск».
И выполните поиск «Linux» в магазине. Выберите Debian или другой дистрибутив Linux из приложения Store.
Вы увидите список всех дистрибутивов Linux, доступных в настоящее время в Магазине Windows. Сюда входят Debian, Kali Linux, Ubuntu, openSUSE Leap и openSUSE Enterprise с обещанием скорого появления Fedora.
Чтобы установить дистрибутив Linux, щёлкните его, а затем нажмите кнопку «Получить» или «Установить», чтобы установить его, как любое другое приложение Store.
Если вы не знаете, какую среду Linux установить, мы рекомендуем Debian. Этот популярный дистрибутив Linux, которые может применяться для самых разных целей. Или выберите другую систему Linux если у вас более специфические потребности.
Вы также можете установить несколько дистрибутивов Linux, каждый из которых получит свои уникальные ярлыки. Вы даже можете запускать несколько разных дистрибутивов Linux одновременно в разных окнах.
Как просмотреть список установленных дистрибутивов Linux в WSL
Чтобы вывести список всех дистрибутивов, используйте следующую команду:
Опция —all нужна для того, чтобы в список попали все дистрибутивы, в том числе те, которые сейчас устанавливаются или удаляются.
Точно такой же список можно получить с помощью команды:
Вы можете увидеть пометку «по умолчанию» она указывает на дистрибутив, который будет запущен, если в командной строке Windows вы выполните команду:
Если вам не нужно, чтобы выводилась информация о том, какая из систем является выбранной по умолчанию (то есть запускается при выполнении в командной строке bash), то используйте следующую команду:
Есть два способа вывести список дистрибутивов Linux, которые в данный момент работают.
Первый способ выводит все Linux в WSL и помечает запущенные в настоящий момент:
Значение «Running» в поле «STATE» означает, что данный дистрибутив запущен.
А вторая команда показывает только запущенные, не выводя неактивные вовсе:
Как пользоваться Linux в WSL
Чтобы открыть установленную вами среду Linux, просто откройте меню «Пуск» и найдите установленный вами дистрибутив. Например, если вы установили Kali Linux, запустите ярлык Kali Linux.
Вы можете закрепить этот ярлык приложения в меню «Пуск», на панели задач или на рабочем столе для облегчения доступа.
При первом запуске среды Linux вам будет предложено ввести имя пользователя и пароль UNIX. Они необязательно должны совпадать с вашим именем пользователя и паролем Windows, но будут использоваться в среде Linux.
Вы можете запустить установленную среду Linux, выполнив команду wsl. Если у вас установлено несколько дистрибутивов Linux, вы можете выбрать среду Linux по умолчанию, запускаемую этой командой.
Если у вас установлена Kali Linux, вы также можете запустить команду kali, чтобы установить её. Для openSUSE Leap 15 SP1 используйте opensuse-15-sp1. Для SUSE Linux Enterprise Server 15 SP1 используйте SLES-15-SP1. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Windows.
Вы по-прежнему можете запустить среду Linux по умолчанию, выполнив команду bash, но Microsoft утверждает, что это устарело. Это означает, что команда bash может перестать работать в будущем.
Если у вас есть опыт использования оболочки Bash в Linux, Mac OS X или других платформах, вы будете как дома.
В Kali Linux и Ubuntu вам нужно добавить к команде префикс sudo, чтобы запустить её с правами root. Пользователь «root» на платформах UNIX имеет полный доступ к системе, как пользователь «Администратор» в Windows. Ваша файловая система Windows в среде оболочки Bash находится в /mnt/c.
Ещё одна важная особенность дистрибутивов Linux, запущенных этим образом, в том, что прямо в консоли Linux вы можете выполнять команды Windows.
Связанная статья: Что такое sudo
Используйте те же команды терминала Linux, которые вы используете в этой операционной системе. Если вы привыкли к стандартной командной строке Windows с её командами DOS, вот несколько основных команд, общих для Bash и Windows:
Связанная статья: Азы работы в командной строке Linux (часть 1), а также последующе части
Важно помнить, что, в отличие от Windows, оболочка Bash и её среда, имитирующая Linux, чувствительны к регистру. Другими словами, «File.txt» с большой буквы отличается от «file.txt» без заглавной буквы.
Дополнительные инструкции смотрите в серии наших руководств Азы работы в командной строке Linux для начинающих.
Вам нужно будет использовать команду apt для установки и обновления программного обеспечения среды Debian, Kali Linux, Ubuntu. Не забудьте указать перед этими командами префикс sudo, чтобы они запускались от имени пользователя root — Linux-эквивалента Администратора. Вот команды apt, которые вам нужно знать:
Загрузить обновлённую информацию о доступных пакетах:
Установить пакет приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
Удаление пакета приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
Поиск доступных пакетов (замените СЛОВО словом, по которому нужно искать пакеты в именах и описаниях):
Загрузите и установите последние версии установленных пакетов:
Если вы установили дистрибутив SUSE Linux, вместо этого вы можете использовать команду zypper для установки программного обеспечения.
После того, как вы загрузили и установили приложение, вы можете ввести его имя в запросе, а затем нажать Enter, чтобы запустить его. Дополнительную информацию смотрите в документации к конкретному приложению.
Программное обеспечение, устанавливаемое в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или где-либо ещё в Windows, но только если вы запустите команду вида
Как в WSL сбросить Linux до начального состояния
Чтобы сбросить дистрибутив до начального состояния, нужно знать его название — это название не всегда соответствует команде, которой он запускается.
Чтобы посмотреть название дистрибутива для использования в команде, выполните:
Для сброса дистрибутива до исходного состояния (будут удалены все настройки и все сохранённые файлы), выполните команду вида:
Как удалить дистрибутив Linux в WSL
Чтобы удалить дистрибутив Linux, нужно знать его название — это название не всегда соответствует команде, которой он запускается.
Чтобы посмотреть название дистрибутива для использования в команде, выполните:
Для полного удаления дистрибутива и освобождения места на диске выполните команду вида:
Как узнать, какие дистрибутивы запущены
Посмотреть запущенные дистрибутивы можно двумя командами.
Первый способ выводит все Linux в WSL и помечает запущенные в настоящий момент:
Значение «Running» в поле «STATE» означает, что данный дистрибутив запущен.
А вторая команда показывает только запущенные, не выводя неактивные вовсе:
Как выключить все дистрибутивы
Раньше для выхода из Linux, запущенного с помощью WSL (подсистема Windows для Linux), достаточно было закрыть терминал. В последних версиях при выходе из консоли Linux (например, если нажать Ctrl+d или закрыть терминал), то дистрибутив Linux продолжит работу в фоне.
Чтобы выключить сразу все запущенные Linux выполните команду:
Как перезагрузить или выключить отдельный дистрибутив
Вы можете остановить не все системы, а определённые, для этого используйте команду вида:
Например, я хочу выключить Kali Linux – имя этого дистрибутива для управления kali-linux, тогда команда следующая:
Как в Linux открыть файл Windows
Все диски компьютера смонтированы в папке /mnt/. Например, диск C:/ смонтирован по пути /mnt/c
Чтобы посмотреть содержимое диска C:/ выполните команду:
Отсюда вы можете получить доступ к любому файлу пользователей или системы.
К примеру, я хочу просмотреть содержимое файла с именем 123.reg, который расположен в папке C:\Users\MiAl\Documents\, то есть в Windows путь до этого файла C:\Users\MiAl\Documents\123.reg. Тогда в Linux этот файл будет доступен по пути /mnt/c/Users/MiAl/Documents/123.reg:
Обратите внимание, что в Linux:
Если вы используете графический интерфейс в Linux (как его установить и запустить в Kali Linux рассказано в этой статье), то вы можете установить Double Commander (о нём рассказано ниже) и с удобством перемещать и копировать файлы между двумя системами:
Как смонтировать съёмные диски в подсистеме Windows для Linux
Подсистема Windows для Linux автоматически монтирует постоянные диски с файловой системой NTFS в дистрибутив Linux. То есть, если у вас есть внутренний диск C: и диск D:, то в среде Linux вы увидите их в /mnt/c и /mnt/d.
DrvFs теперь позволяет монтировать внешние диски, такие как USB-накопители, компакт-диски и DVD-диски. Эти устройства должны использовать файловую систему Windows, такую как NTFS, ReFS или FAT. Вы по-прежнему не можете подключать устройства, отформатированные в файловой системе Linux, например ext3 или ext4.
Как и внутренние диски, эти внешние диски останутся доступными в Windows после их подключения в среде Linux. А после их монтирования, как показано в этой статье, они станут одновременно доступными в Windows и Linux.
Допустим, у вас есть внешний носитель M: это либо USB-накопитель, либо оптический дисковод. Чтобы смонтировать его, вы должны выполнить следующие команды:
Конечно, вам необязательно монтировать диск в /mnt/m. Вы можете смонтировать его куда угодно. Просто замените оба экземпляра строки /mnt/m в приведённых командах на желаемый путь.
Посмотрим из Linux содержимое USB диска, который мы только что смонтировали:
Чтобы позже отключить диск и безопасно удалить его, выполните стандартную команду umount:
При работе с внешним устройством, отформатированным в файловой системе FAT или любой сетевой файловой системе, существуют некоторые ограничения. В файловой системе не учитывается регистр, и вы не можете создавать на ней символьные или жёсткие ссылки.
Как смонтировать сетевые папки
Вы также можете монтировать сетевые местоположения (папки, шары). Любое сетевое расположение, доступное из Windows, можно смонтировать из оболочки Linux.
Дополнительный материал: Руководство по SMB и Samba
Сетевые локации можно смонтировать одним из двух способов. Если вы сопоставите сетевой диск с буквой диска, вы можете подключить его, используя те же параметры, что и выше. Это даст вам возможность легко войти в общий сетевой ресурс и ввести свои учётные данные в проводнике. Например, если ваш сетевой диск подключён с буквой F:, вы можете запустить следующие команды, чтобы подключить его:
Подсистема Windows для среды Linux не предоставляет никакого способа указать учётные данные, которые вы хотите использовать. Вы можете указать учётные данные, перейдя к папке в проводнике Windows, введя их через диспетчер учётных данных или используя команду net use.
Команду net use можно запустить из среды Linux, поскольку подсистема Windows для Linux позволяет запускать программное обеспечение Windows из командной строки Linux. Просто запустите команду так:
Например, следующая команда подключится к \\СЕРВЕР\ПАПКА с именем пользователя Bob и паролем LetMeIn и назначит ему букву диска F:. Вот команда, которую вы должны выполнить:
После того, как вы подключитесь один раз, Windows запомнит это имя пользователя и пароль и автоматически использует их, даже если вы используете команду mount в среде Linux.
Чтобы отключить сетевое расположение, вы можете снова использовать стандартную команду umount:
DrvFs неточно устанавливает разрешения Linux при подключении сетевого хранилища. Вместо этого все файлы в сетевой файловой системе имеют разрешение на полный доступ (0777), и вы можете увидеть, есть ли у вас доступ к файлу, только попытавшись его открыть. В файловой системе также не будет учитываться регистр, и вы не сможете создавать на них символические ссылки.
Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
Вы можете открыть окно проводника прямо в текущем каталоге из среды оболочки Linux. Просто введите следующую команду в оболочку Bash:
Отсюда вы можете нормально работать с файлами. Используйте перетаскивание, копируйте и вставляйте их или даже открывайте их непосредственно в приложениях Windows, чтобы изменить их.
Microsoft может изменить то, как это работает в будущем. Но пока вы также можете ввести следующий путь в окно проводника для доступа к файлам дистрибутива Linux:
Другими словами, если вы используете Kali Linux, вы должны ввести:
Это, конечно, также работает из командной строки. В PowerShell или командной строке
Подсказки по использованию дистрибутивов на основе Debian
Регулярное обновление системы
Обновления исправляют баги в работе системы и несут новые функции. Для выполнения полного обновления выполните команду:
Регулярная очистка системы
Время от времени рекомендуется выполнять команды по удалению пакетов, которые были установлены автоматически (так как были зависимостями других программ), но теперь больше не нужны.
Для этого применяется команда:
Её использование безопасно и не должно приводить к проблемам.
При каждом обновлении программ файлы пакетов скачиваются в кэш. После обновления скаченные файлы (можно назвать их установочными) не удаляются, и постепенно кэш разрастается до больших размеров. Это сделано намерено с той идеей, что если после очередного обновления вы обнаружите, что новый пакет имеет проблемы, а старая версия уже недоступна в онлайн репозитории, то вы сможете окатиться до старой версии установив её из файла, сохранённого в кэше.
Для роллинг дистрибутивов кэш разрастается очень быстро, и если вы недостаточно квалифицированы, чтобы откатиться до старой версии, установочный пакет которой сохранён в кэше, то для вас эти сотни мегабайт или даже несколько гигабайт – это зря потраченное место на жестком диске. Поэтому время от времени можно выполнять команды
clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.
Как и clean, autoclean вычищает из локального репозитория скаченные файлы пакетов. Разница только в том, что она удаляет только файлы пакетов, которые не могут быть больше загружены и в значительной степени бесполезны.
Это позволяет поддерживать кэш в течение долгого периода без его слишком большого разрастания. Опция настройки APT::Clean-Installed не даст быть удалёнными установочным файлам тех пакетов, которые установлены в данный момент.
Исправление ошибок установки пакетов и зависимостей
Следующая команда не связана непосредственно с очисткой, но помогает поддержать здоровье системы.
Поиск пакетов программ
Поиск доступных пакетов (замените СЛОВО словом, по которому нужно искать пакеты в именах и описаниях):
Установка и удаление пакетов
Установить пакет приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
Удаление пакета приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
Подсказки по использованию дистрибутивов на основе openSUSE
Подсказки по использованию дистрибутивов на основе Fedora
II. Установка и использование программ, свойства и настройка системы
В этом разделе будут затронуты только обычные программы, специализированные инструменты будут рассмотрены в отдельных инструкциях.
Установка программ показана на примере дистрибутива Debian и производных. В других дистрибутивах пакеты должны называться также.
Double Commander (бесплатный аналог Total Commander) в Linux (WSL)
Чтобы установить двух оконный файловый менеджер Double Commander, который поддерживает функции и плагины Total Commander, выполните следующую команду:
Double Commander является кроссплатформенным, то есть работает на Windows и Linux. Рекомендуется установить его вместо пиратского Total Commander.
Как запустить веб-сервер в Linux на WSL
Хотя официально не поддерживаются серверные фоновые службы, мне удалось успешно запустить веб-сервер Apache на Kali Linux (должно работать на всех производных Debian).
Для запуска веб-сервера, установите пакеты apache2 и php:
Для запуска службы веб-сервера выполните команду:
Веб-сервер работает, это можно проверить посмотрев открытые порты:
В Kali Linux и других производных Debian файлы веб-сервера расположены в папке /var/www/html/.
Как получить доступ к службам Linux в WSL (какой IP у Linux)
Для дистрибутивов Linux создаётся виртуальная сеть Ethernet. Благодаря этой сети можно получить доступ из Windows в Linux, а также в обратном направлении.
Чтобы узнать IP адрес Linux выполните команду:
На скриншоте видно, что IP адресом Linux является 172.26.173.37. На предыдущем шаге мы запустили веб-сервер — попробуем в веб-браузере из Windows открыть страницу с веб-сервера в Linux:
Мы видим «Apache2 Debian Default Page», то есть страницу по умолчанию веб-сервера Apache2 на Debian.
Что мне осталось непонятным — все запущенные дистрибутивы имеют один и тот же IP адрес. Более того, если запустить службу (открыть порт) на одном из дистрибутивов, то этот же порт окажется открытым и на всех остальных. Следовательно, например, не получится запустить веб-сервер одновременно на двух или более дистрибутивах… У всех дистрибутивах в WSL один сетевой интерфейс на всех.
Как получить доступ к службам Windows из Linux на WSL
Рассмотрим другой вариант — на Windows запущен сервер (веб, FTP и пр.) или сетевая служба, можно ли к ней подключиться из Linux на WSL? Можно! Нам нужно знать IP адрес Windows в виртуальной сети, созданной для WSL.
Из Linux этот IP адрес можно посмотреть командой:
IP адрес Windows это 172.26.160.1.
В самой Windows также можно посмотреть этот IP, причём как минимум двумя способами.
В терминале с помощью команды:
В графическом интерфейсе, в Диспетчере задач на вкладке «Производительность»:
Теперь используйте этот IP адрес для подключения к веб-серверу, FTP или любой другой службе Windows из Linux на WSL.
Как установить аналог Диспетчера задач в Linux на WSL
Если вы пользуетесь только интерфейсом командной строки, то запустите команду top, которая обычно уже предустановлена:
Изучите инструкцию «Как пользоваться командой top для наблюдения за процессами в Linux» чтобы полностью раскрыть потенциал этой программы.
Некоторые пользователи предпочитают аналог этой утилиты под названием htop. Обычно она отсутствует по умолчанию, поэтому начните с установки:
Для запуска выполните:
Если вы используете графическое окружение рабочего стола, то вы можете установить очень похожую на Диспетчер задач программу под названием System Monitor, для этого выполните команду:
Затем запустите System Monitor из меню или в консоли:
Как посмотреть открытые порты в Linux на WSL
Открытые порты вы можете увидеть с помощью команды:
Подробности об этой и аналогичных командах, а также об опциях, смотрите в статье «4 способа узнать, какие порты прослушиваются в Linux».
Как запустить СУБД MySQL в Linux на WSL
Для полноценного использования веб-сервера необходима СУБД, например, MySQL или MariaDB.
По идее, они должны запускаться командой вида:
Но в настоящее время MySQL/MariaDB ещё не работают в WSL.
Поддерживает ли Linux в WSL графический пользовательский интерфейс
Официально не поддерживается, но варианты его установки и подключения к нему имеются. Пример и больше подробностей вы найдёте в статье «Как установить Kali Linux с Win-KeX (графический интерфейс) в WSL2 (подсистему Windows для Linux)».
III. Решение проблем в WSL
Ошибка «WslRegisterDistribution failed with error: 0x80370102»
Если при попытке запуска дистрибутива вы получили ошибку:
то её причина в том, что центральный процессор не поддерживает виртуализацию. Причины могут быть разными:
Ошибка «Address already in use … make_sock: could not bind to address»
При запуске сетевой службы, которая открывает порт для прослушивания, например, веб-сервер Apache:
Может возникнуть примерно следующая ошибка:
Суть её в том, что указанный порт (80 в данном случае) уже используется другим процессом.
Ошибка может возникнуть даже в дистрибутиве, в котором не запущены сетевые службы. Дело в том, что на данный момент все дистрибутивы Linux имеют одну общую сетевую (виртуальную) карту. Поэтому если вы запустили веб-сервер или другую службу в одном дистрибутиве, вы не можете её запустить на другом, пока не остановите первый экземпляр.
Почему Linux в WSL не видит Wi-Fi адаптеры
У Linux в WSL нет прямого доступа к железу компьютера. По этой причине невозможно использовать Wi-Fi адаптеры, даже USB Wi-Fi адаптеры, в WSL.
Может ли Linux в WSL использовать видеокарты для выполнения вычислений
На данный момент Linux в WSL не может использовать графические процессоры, но эту функцию обещают добавить позже.
Ошибка в WSL (Kali Linux, Ubuntu) «sleep: cannot read realtime clock: Invalid argument»
Ошибка может возникнуть при попытке установить программу:
Либо при обновлении пакетов и системы:
Эти команды выводят что-то вроде следующего:
приведёт к другим ошибкам:
И так до бесконечности.
Для исправления выполните следующие команды:
Затем опять попробуйте
И затем как обычно установите нужный пакет или обновите систему.
Ошибка «unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)»
При использовании команды kex в Kali Linux (Win-KeX) может возникнуть ошибка:
В командной строке выводится:
Для исправления этой ошибки нажмите Ctrl+c.
Затем введите команду
Эта команда может вывести что-то вроде следующего:
Вновь попробуйте открыть графический интерфейс:
На этот раз всё должно заработать:
Причина ошибки до конца не ясна — возможно, дело в неудачном старте VNC сервера или процесса Win-KeX, на это указывает строка «Win-KeX process ID 1618… which was already dead», то есть процесс уже мёртвый.
Командой kex stop мы принудительно останавливаем Win-KeX, который при следующем запуске работает нормально.
Ошибка «E: Release file for http://http.kali.org/kali/dists/kali-rolling/InRelease is not valid yet (invalid for another 2h 43min 57s). Updates for this repository will not be applied»
При попытке обновления Kali Linux я столкнулся с ошибкой:
Суть её в том, что релизный файл для репозитория ещё не является действительным и, следовательно, обновление из этого репозитория невозможно.
Такое может произойти из-за неправильной цифровой подписи репозитория или неправильного времени.
Я столкнулся с этой ошибкой в WSL2 (подсистеме Windows для Linux), но, теоретически, она может возникнуть и в обычном дистрибутиве Kali Linux, а также в Docker.
При запуске команды:
Эта проблема вызвана тем, что неверно установлена временная зона (timezone) в Windows в следствии чего дистрибутив Linux в WSL также получает неверное время.
Время дистрибутив в WSL получает при своём запуске, то есть даже если вы впоследствии исправили время в Windows, в запущенных ранее дистрибутивах WSL по-прежнему время будет неправильным и ошибка сохранится.
Для исправления, как уже было сказано, начать нужно с установки правильного времени и правильной временной зоны в хостовом компьютере Windows.
Затем вам нужно использовать один из следующих способов:
1. Можно выключить и заново запустить все дистрибутивы Linux, для этого выполните команду:
2. Другой способ, внутри дистрибутива Linux выполните команду:
Эта команда получает последнее время от RTC вашей машины Windows и использует его для установки системного времени в Linux.
Вновь попробуйте сделать обновление:
Как можно убедиться по скриншоту, в этот раз обновление началось без ошибок: