Интерфейс windows для линукса

Содержание
  1. Записки IT специалиста
  2. Общий взгляд на подсистему Windows для Linux
  3. Как установить подсистему Windows для Linux
  4. Администрирование Linux-систем
  5. Разработка
  6. Сайтостроение
  7. Работа с файлами и данными Windows
  8. HackWare.ru
  9. Этичный хакинг и тестирование на проникновение, информационная безопасность
  10. WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем
  11. Оглавление
  12. I. Управление дистрибутивами Linux
  13. Как включить WSL2 (подсистему Windows для Linux второй версии) и установить последнюю версию ядра
  14. Характеристика дистрибутивов Linux в WSL
  15. Как установить дистрибутив Linux в WSL
  16. Как просмотреть список установленных дистрибутивов Linux в WSL
  17. Как пользоваться Linux в WSL
  18. Как в WSL сбросить Linux до начального состояния
  19. Как удалить дистрибутив Linux в WSL
  20. Как узнать, какие дистрибутивы запущены
  21. Как выключить все дистрибутивы
  22. Как перезагрузить или выключить отдельный дистрибутив
  23. Как в Linux открыть файл Windows
  24. Как смонтировать съёмные диски в подсистеме Windows для Linux
  25. Как смонтировать сетевые папки
  26. Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
  27. Подсказки по использованию дистрибутивов на основе Debian
  28. Подсказки по использованию дистрибутивов на основе openSUSE
  29. Подсказки по использованию дистрибутивов на основе Fedora
  30. II. Установка и использование программ, свойства и настройка системы
  31. Double Commander (бесплатный аналог Total Commander) в Linux (WSL)
  32. Как запустить веб-сервер в Linux на WSL
  33. Как получить доступ к службам Linux в WSL (какой IP у Linux)
  34. Как получить доступ к службам Windows из Linux на WSL
  35. Как установить аналог Диспетчера задач в Linux на WSL
  36. Как посмотреть открытые порты в Linux на WSL
  37. Как запустить СУБД MySQL в Linux на WSL
  38. Поддерживает ли Linux в WSL графический пользовательский интерфейс
  39. III. Решение проблем в WSL
  40. Ошибка «WslRegisterDistribution failed with error: 0x80370102»
  41. Ошибка «Address already in use … make_sock: could not bind to address»
  42. Почему Linux в WSL не видит Wi-Fi адаптеры
  43. Может ли Linux в WSL использовать видеокарты для выполнения вычислений
  44. Ошибка в WSL (Kali Linux, Ubuntu) «sleep: cannot read realtime clock: Invalid argument»
  45. Ошибка «unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)»
  46. Ошибка «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»

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Общий взгляд на подсистему Windows для Linux

Общий взгляд на подсистему Windows для Linux

Взаимоотношения Windows и Linux долгое время были натянутыми, а совместному применению обеих систем мешало большое количество разного рода барьеров, многие из которых были возведены искусственно. Но в последнее время все поменялось и Microsoft неожиданно для многих представила подсистему Windows для Linux, более известную как «Ubuntu в Windows 10». В данной статье мы расскажем, чем данная подсистема является, чем не является и для чего ее можно использовать.

Что такое подсистема Windows для Linux (Windows Subsystem for Linux, WSL)? Это не эмулятор и не виртуальная машина, а именно подсистема, основная задача которой — создать для разработчиков и тестеров привычное Linux окружение в среде Windows. Цели создать полноценную систему у разработчиков не стояло и не стоит, поэтому не следует рассматривать WSL как полноценную замену виртуальной машине, у WSL иные задачи.

Кроме предоставления пользователям Windows привычного Linux окружения разработчики WSL поставили во главу угла вопрос максимальной интеграции двух систем, чтобы вы могли без особых затруднений работать с вашими данными из любой среды. Собственно, с этим и связан ряд ограничений.

Прежде всего это коснулось файловой системы, для работы Linux подсистемы с диском используется дополнительный слой абстракции в виде Virtual File System (VFS), которая позволяет Linux работать с собственными файлами, расположенными на NTFS, и вообще вся инсталляция Linux представляет собой обычную папку, которую вы можете открыть через проводник, точно также в среде Linux вы можете перемещаться по файловой системе Windows.

Удобно? Да. Но ради этого пришлось отказаться от собственных инструментов Linux по работе с файловой системой и дисками, также вы не сможете использовать FUSE.

Второе ограничение связано с сетью, в Windows 10 1607 сетевая подсистема Linux в WSL не реализована, частично это исправлено в Windows 10 1703, но рассчитывать на полноценную работу с сетью не стоит, потому как сетевой стек Linux в WSL заменен еще одним слоем абстракции, позволяющим использовать для работы сетевые возможности Windows.

После прочтения этих строк многим может показаться, что Microsoft подсунула им какую-то урезанную версию Linux, но здесь следует остановиться и еще раз перечитать первые абзацы данной статьи: WSL — не виртуальная машина, это — подсистема.

В чем плюсы данного подхода? Во-первых — экономия ресурсов, запущенная виртуальная машина гарантированно потребляет нужный для работы ОС объем оперативной памяти, не оптимально расходует дисковое пространство, хотя бы потому что вам придется держать две копии рабочих файлов, на хосте и внутри виртуалки. Это может быть критично для слабых машин, например, для ноутбука, который, зато удобно брать с собой для демонстрации результата работы заказчику.

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

И наконец, это полноценная Linux среда, аналогичная производственной, поэтому вы можете быть уверены, что с переносом в рабочую среду проблем у вас не возникнет, особенно если там вы используете аналогичные версии ПО.

Как установить подсистему Windows для Linux

Установить WSL довольно просто, для начала воспользуйтесь новой Панелью управления и включите в ней Режим разработчика.

Затем в классической Панели управления откройте оснастку Программы и компоненты — Включение и отключение компонентов Windows и установите компонент Подсистема Windows для Linux (бета-версия).

Теперь откройте командную строку и выполните команду:

затем ответьте на несколько простых вопросов.

Важно! Для успешной установки WSL вы должны осуществить вход в систему с учетной записью Microsoft.

На этом установка закончена и вас встречает командная строка Linux, можете начинать обживать систему. В этом плане WSL ничем не отличается от обычного Linux, в вашем распоряжении привычный пакетный менеджер и родные репозитории Ubuntu. В Windows 10 1607 это Ubuntu 14.04 LTS, а в выпуске 1703 — Ubuntu 16.04 LTS, которая также была доступна в инсайдерских версиях.

Подсистема установлена, это хорошо, самое время рассмотреть ее типичные применения.

Администрирование Linux-систем

Как известно, для удаленного администрирования Linux нет ничего лучше Linux. Если же ваша основная система Windows, то для работы с Linux серверами вам потребуется сразу несколько инструментов, как правило джентельменский набор составляют PuTTY и WinSCP, если вы используете аутентификацию по ключам, то к ним еще добавится Pageant. Это проверенные временем и эффективные инструменты, но постоянно переключаться между ними не совсем удобно.

Используя WSL, вы окунаетесь в родную среду и вам не нужно постоянно скакать между окнами. Тем более что SSH позволяет делать много интересных вещей. Например, удаленно выполнять команды и скрипты, получая результат на свой ПК. Допустим вы хотите скопировать с рабочего сервера свой конфиг Squid, чтобы разместить его на форуме. Нет ничего проще, выполните что-то вроде:

Первая часть команды соединяется по SSH с удаленным сервером example.com под учетной записью user и выводит в стандартный поток локальной системы содержимое squid.conf. Затем мы выбираем все строки, кроме комментариев, удаляем пустые, и выводим то, что осталось в файл на рабочем столе Windows-системы.

Как видим, WSL позволяет удобно соединить в единое пространство удаленную систему, локальный Linux и вашу Windows. Никаких преград больше нет, передавайте и обрабатывайте файлы не задумываясь где они находятся и откуда и куда их надо скопировать или переместить.

Также вы можете легко выполнять на удаленном сервере локальные скрипты, особенно если их размещение в удаленной системе нежелательно (потенциально небезопасны, содержат приватные данные и т.д.). Для этого выполните:

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

Разработка

Если вы занимаетесь разработкой на PHP, Python и т.п. языках, то вы можете отлаживать собственные проекты сразу в родной среде, продолжая при этом использовать привычные инструменты разработки. Достаточно разместить проект в контейнере WSL и одновременно работать с ним из Windows-приложений, так как все данные внутри WSL доступны через обычный проводник.

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

Кроме того, можно и наоборот использовать Linux-инструменты для работы с Windows проектами, например, git. Да, он существует и под Windows, но более удобно работать с ним в его родной среде.

Чтобы создать git-репозиторий, скажем, проекта Visual Studio, достаточно перейти в в его каталог и инициализировать новый репозиторий:

Собственно, данная задача — одно из основных предназначений WSL — предоставить разработчикам удобную мультиплатформенную среду. Следует признать, что это у Microsoft получилось.

Сайтостроение

Мы сознательно не стали включать этот вид деятельности в разработку, так как при всей схожести они имеют и достаточно различий. Если разработка подразумевает написание собственного веб-приложения или серьезную доработку существующего, то сайтостроение чаще подразумевает работу с готовыми решениями, а основные изменения как правило касаются внешнего вида и вносятся на уровне шаблона или CSS.

В качестве тестового сервера для такой работы обычно используется что-то вроде XAMMP/Денвер/Open Server и т.д. Нисколько не умаляя достоинств этих пакетов следует признать и их серьезные недостатки. Главный из которых — существенное отличие тестовой среды от производственной, что может породить проблемы при переносе проекта. Это могут быть как ошибки в путях, так и более серьезные проблемы, связанные с неправильным конфигурированием веб-сервера (например, через директивы htaccess), либо отсутствием каких-либо модулей.

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

Подсистема Windows для Linux будет настоящей находкой в данном случае, потому что позволяет запустить локально полную копию производственной среды и работать в условиях максимально приближенным к реальным. А дополнительное удобство обеспечивается тем, что все файлы вашего сайта также будут доступны локально в Windows-системе, что дает возможность использовать привычные инструменты для работы с ними.

Кроме того, вы можете использовать все богатство инструментов Linux для отладки вашего сайта, например, curl для работы c HTTP-запросами. Да, curl есть и под Windows, но в Linux мы легко можем передать результат по конвейеру и обработать его нужным нам образом. Довольно распространенной задачей при переходе на HTTPS является поиск небезопасного содержимого, обычно это картинки или скрипты подключенные в коде страницы по небезопасному протоколу, эту задачу легко решить, скомбинировав работу двух команд:

Читайте также:  Как изменить разрешения для каталогов службы поиска windows

Как видим, для веб-разработчика WSL представляет не только удобную тестовую среду, но и является удобным инструментом по отладке, заменяя множество отдельных утилит и инструментов.

Работа с файлами и данными Windows

Мы думаем, что каждый, кто работал в Linux отмечал все богатство и широкие возможности консольных утилит в плане обработки и изменения данных. Быстро найти и отобрать по фильтру, произвести замену одного значения на другое, причем все это одновременно и с выводом результата в нужное место. Теперь все это доступно вам и в Windows.

Многие задачи, которые в Windows требуют применения стороннего софта или написания пакетных файлов в Linux часто решаются в одну строку. Например, пакетное переименование по маске:

Приведенная выше команда переименует в текущей директории все файлы JPG с именем типа DSCN1023.JPG в файлы вида My_Photo1023.JPG. Другая распространенная задача — заменить пробелы в именах файлов на подчеркивание. Тоже очень просто:

Задача посложнее. Есть некая база в формате CSV, которая содержит ФИО, телефон и еще некоторую информацию, допустим нам надо отобрать из нее записи по каждому из мобильных операторов. Отлично, набираем в консоли:

После ее выполнения получим новый файл, который содержит записи только с телефонами оператора МТС, коды которого мы указали как условие для утилиты egrep.

Естественно, возможности подсистемы Windows для Linux не исчерпываются перечисленными примерами, мы привели лишь некоторые из них, чтобы вы могли лучше понять, для чего предназначена данная подсистема и что можно делать с ее помощью. Надеемся, что данный инструмент займет достойное место в вашей системе и поможет наиболее эффективно использовать все достоинства каждой из ОС.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

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.

Например, если вы введёте «alex» и «hackware» в качестве учётных данных, ваше имя пользователя в среде Linux будет «alex», а пароль, который вы используете в среде Linux, будет «hackware» — независимо от вашего имени пользователя Windows и его пароля.

Вы можете запустить установленную среду 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 может перестать работать в будущем.

Читайте также:  Ошибка сценария windows 10 logincdn

Если у вас есть опыт использования оболочки 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:

  • Изменить каталог: cd в Bash, cd или chdir в DOS
  • Список содержимого каталога: ls в Bash, dir в DOS
  • Перемещение или переименование файла: mv в Bash, move и rename в DOS
  • Скопировать файл: cp в Bash, copy в DOS
  • Удалить файл: rm в Bash, del или erase в DOS
  • Создайте каталог: mkdir в Bash, mkdir в DOS
  • Используйте текстовый редактор: vi или nano в Bash, edit в DOS

Связанная статья: Азы работы в командной строке 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, тогда команда следующая:

Обратите внимание, что имя дистрибутива не совпадает с командой запуска. Например, для Kali Linux команда запуска kali, а имя дистрибутива — kali-linux. Приведённые выше команды (wsl —list -v) показывают имя дистрибутива, которое вы можете использовать для его выключения.

Как в 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:

  • используются слэши, а не обратные слэши, как в Windows
  • регистр букв имеет значение. То есть file.txt и File.txt это совершенно разные вещи.

Если вы используете графический интерфейс в 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:, вы можете запустить следующие команды, чтобы подключить его:

Вы также можете указать диск, используя его путь UNC (Universal Naming Convention). Например, если путь к общему сетевому ресурсу — \\СЕРВЕР\ПАПКА, вы должны выполнить следующую команду. Опять же, используйте любую точку монтирования вместо /mnt/ПАПКА.

Подсистема 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

Регулярное обновление системы

Обновления исправляют баги в работе системы и несут новые функции. Для выполнения полного обновления выполните команду:

Регулярная очистка системы

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

Для этого применяется команда:

Её использование безопасно и не должно приводить к проблемам.

При каждом обновлении программ файлы пакетов скачиваются в кэш. После обновления скаченные файлы (можно назвать их установочными) не удаляются, и постепенно кэш разрастается до больших размеров. Это сделано намерено с той идеей, что если после очередного обновления вы обнаружите, что новый пакет имеет проблемы, а старая версия уже недоступна в онлайн репозитории, то вы сможете окатиться до старой версии установив её из файла, сохранённого в кэше.

Читайте также:  Терминальный сервер аналог windows

Для роллинг дистрибутивов кэш разрастается очень быстро, и если вы недостаточно квалифицированы, чтобы откатиться до старой версии, установочный пакет которой сохранён в кэше, то для вас эти сотни мегабайт или даже несколько гигабайт – это зря потраченное место на жестком диске. Поэтому время от времени можно выполнять команды

clean — удалить скачанные файлы архивов

clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.

autoclean — удалить старые скачанные файлы архивов

Как и clean, autoclean вычищает из локального репозитория скаченные файлы пакетов. Разница только в том, что она удаляет только файлы пакетов, которые не могут быть больше загружены и в значительной степени бесполезны.

Это позволяет поддерживать кэш в течение долгого периода без его слишком большого разрастания. Опция настройки APT::Clean-Installed не даст быть удалёнными установочным файлам тех пакетов, которые установлены в данный момент.

Исправление ошибок установки пакетов и зависимостей

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

Опция -f, —fix-broken исправляет, пытается привести в норму систему с нарушенными зависимостями. Эта опция, когда используется с install/remove, может пропустить какие-либо пакеты, чтобы позволить APT найти вероятное решение. Если пакеты указаны, это должно полностью исправить проблему. Эта опция иногда необходима при запуске APT в первый раз; APT сама по себе не позволяет существовать в системе пакетам со сломанными зависимостями. Вполне возможно, что структура зависимостей системы может быть настолько нарушена, что потребуется ручное вмешательство (что обычно означает использование dpkg —remove для устранения некоторых пакетов-нарушителей). Использование этой опции совместно с -m в некоторых ситуациях может вызвать ошибку. Пункт в файле настройки: APT::Get::Fix-Broken.

Поиск пакетов программ

Поиск доступных пакетов (замените СЛОВО словом, по которому нужно искать пакеты в именах и описаниях):

Установка и удаление пакетов

Установить пакет приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):

Удаление пакета приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):

Подсказки по использованию дистрибутивов на основе 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.

Это означает, что

  1. Веб-сервер действительно работает
  2. Мы можем получить доступ к сетевым службам Linux из Windows

Что мне осталось непонятным — все запущенные дистрибутивы имеют один и тот же 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»

Если при попытке запуска дистрибутива вы получили ошибку:

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

  • вы отключили виртуализацию в БИОСе
  • процессор вообще не поддерживает виртуализацию
  • вы запускаете Windows уже в виртуальной машине (независимо от модели, там процессоры не поддерживают виртуализацию).

Ошибка «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.

Вновь попробуйте сделать обновление:

Как можно убедиться по скриншоту, в этот раз обновление началось без ошибок:

Оцените статью