Как стать автором
Обновить

Комментарии 97

Правильно ли я понимаю, что теперь из WSL есть доступ дискам в хост системе отформатированным не только в NTFS?
Другими словами, работать можно только с носителями, отформатированными в файловых системах FAT/FAT32/NTFS.

И, как установлено экспериментально, ReFS

Не знаю насколько жив проект, но можно попробовать через FUSE:
github.com/alperakcan/fuse-ext2

FUSE требует поддержки со "стороны эмулятора системных вызовов Линукс (WSL)" (чтобы вызовы read/write/stat завернулись из ядра в сторону libfuse). В WSL такой поддержки ещё нет.
Баг — https://github.com/Microsoft/BashOnWindows/issues/1962,
голосование (1 тыс. голосов) https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13522845-add-fuse-filesystem-in-userspace-support-in-wsl

Я когда-то агитировал разработчиков ReactOS поддержать fuse, но понимания не встретил. Забавно будет если ее поддержат в оригинале раньше.
В прошлый раз я Kali Linux поставил с бубнами в десятку, в этот раз, надеюсь, в бубен быть придется реже
А что со смартфонами? На какие модели и когда выкатят, известно?
А то у меня нагуглить не получается.
Подсистему линукса? ни на какие, и на Xbox не выкатят и на HoloLens не выкатят.

Если про сам FCU, то тоже не выкатят. Точнее в неизвестные сроки будет небольшой апдейт с багфиксами. После релиза Creators Update инсайдеров на телефонах отделили в другую ветку и выкатили туда фикс для continuum для моников в портретной ориентации. И все.
Смартфоны и мобильная ОС от Microsoft всё.
lenta.ru/news/2017/10/09/rip
Об этом я в курсе. Мне интересны как раз исправления безопасности и починка багов — они-то выпускаются.
В общем, 1709 уже доступно для телефонов…
Спасибо.
НЛО прилетело и опубликовало эту надпись здесь

попробуйте hyperterm(https://hyper.is)

Есть стороннии продукты. Я использую ConEmu, в основном с PowerShell. Почему выбрал именно его уже не помню, я смотрел много вариантов, были и другие неплохие.
Тогда лучше cmder, это улучшенный conemu.
Спасибо, посмотрел (потому что conemu глюконул :-)).
Возможно, это все чинится, но две вещи мне мешают работать, по этому откатился обратно.
Во первых conemu показывает id запущенного процесса, что позволяет в случае зависания его убить из другого таба. Во вторых, не заработал PsReadLine, а без него я жить не могу.
А жаль, я люблю новое пробовать, но сейчас не получилось.
Получится ли запустить, например, docker без лишних виртуальных машин?

Мог неправильно понять, но ведь уже давно имеется Docker для Windows...

Да, но он по сути устанавливает виртуальную машину с линуксом на борту, на котором и крутится докер. В итоге из-за проброса файловой системы на проектах с большим числом файлов (аля Symfony) имеются дикие тормоза.
Нет, это раньше было через VirtualBox, а теперь просто прослойка, которая в системные вызовы транслирует.
Я конечно не могу утверждать, так как давно не общаюсь с windows и последний раз докер на нем мучал года полтора назад, но все же даже их документация docs.docker.com/docker-for-windows говорит о том, что они до сих пор используют docker-machine. Она по сути и является виртуалкой, хотя и во многом модифицированной и облегченной по сравнению с VirtualBox.
В этом случае нет, в докере же (если совсем утрировать) процессы цепляются на второй/третий/четвертый скрытый init, в общем отдельной веткой. В WSL все цепляется к процессу bash пока. Там даже нельзя service apache2 start и закрыть консольку.
Спасибо, понятно. Жаль, ждем дальше)
Там оба варианта. Оригинальный с docker-machine под HyperV и новый с Windows containers — docs.docker.com/docker-for-windows/#switch-between-windows-and-linux-containers. Windows Containers это вполне нативная поддержка докера, но под Windows платформу. Обычные Linux контейнеры они запускать не умеют. Поэтому по факту это отдельный набор докер образов
Про это не знал, спасибо. Но в моем случае это бесполезно, так как хотелось универсализировать окружения разработчиков, сидящими под разными ОС, в том числе windows. С docker-machine уж больно все медленно выходит.
В случае docker-machine еще можно смотреть в чем сам bottleneck, так как там могут быть пути оптимизации. К примеру если в докер контейнере используется volume, и в этом volume-е 10-ки тысяч файлов, то HyperV\VirtualBox будут очень медленно работать с ними. И можно либо добавлять в ignore какие-то папки, которые не должны шариться. Либо пробовать разные механизмы кеширования volume-ов — docs.docker.com/docker-for-mac/osxfs-caching
Так и есть, затычка в большом количестве расшареных файлов. На макоси все решил проброс файлов в виртуалку через nfs. На Windows долго не сидел конечно, но сходу решения найти не удалось.
У нас была подобная проблема с emberjs приложением засчет громадной папки node_modules и tmp, которую Ember-cli активно использует для билда. Мы убрали эти две папки из volume-а, и проблема для Windows решилась, и время билда стало таким же как и на macOS-е
НЛО прилетело и опубликовало эту надпись здесь
Нет
НЛО прилетело и опубликовало эту надпись здесь
Спасибо. Решит ли этот подход проблему медленной работы с большим числом пробрасываемых файлов между хостом и контейнером?

Не знаю. Это раняя бета, что будет в релизе, неизвестно, но теоретически, вопросы взаимодействия с хотовой системы — важно для тех сценариев, где это может найти применение.

НЛО прилетело и опубликовало эту надпись здесь
Это точно факт!
Какого графического монстра? Во всех вариантах запускается именно командная строка, никаких иксов там нет.
НЛО прилетело и опубликовало эту надпись здесь

Ставить приложения из стора можно и через консоль:


Get-AppxPackage -allusers Microsoft.WindowsStore | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Пожалуйста, никакой рекламы

НЛО прилетело и опубликовало эту надпись здесь
Ну пишете «Microsoft.WindowsStore» название любого пакета и все. Это же просто пример, который еще кому-то и не понравился почему-то. Может так зайдет лучше?
Get-AppxPackage -Name Package1 –User domain\username
НЛО прилетело и опубликовало эту надпись здесь
Ну, никакого Find-AppxPackage документация не предлагает… Видимо, только искать в магазине, узнавать там, и рассказывать друзьям про айдишку пакета… Такое себе удобство, согласен.

Пример кому-то не понравился потому, что эта команда переустанавливает Windows Store, а не устанавливает приложения из него. Установить такие приложения из командной строки судя по всему невозможно (если не считать перехват трафика Windows Store для получения URL appx пакета и его установки с помощью Add-AppxPackage).


Впрочем, если кто-то не хочет запускать Store, это его проблемы.

И, в некоторой степени, проблемы Microsoft.

НЛО прилетело и опубликовало эту надпись здесь
Я пользовался Get-Package для винды, и со стором особо дел не имел, но вся интуиция говорит о том, что эта команда переустанавливает пакет с именем «Microsoft.WindowsStore». Если нужен пакет с именем Х, просто ставим его на место команды. Другой вопрос, где взять имя пакеты — увы, нормальной апишки для этого я не нашел…
система управления базой данных Oracle MySQL

только с хранилищем MyISAM. InnoDB не позволяет сделать в данной файловой системе.

Из-за файловой системы tail, хоть и работает, но при старте выдает
tail: неизвестный тип файловой системы 0x53464846


Git, rsync будут показывать, что все файлы изменены в одном и том же каталоге при запуске из WSL или и из Windows.

С другой стороны очень удобно, когда нужный обработчик существует только в виде sh скрипта. Недавно перегонял репы из меркуриала в гит из под WSL
После перезагрузки нужно выполнить поиск по слову Linux в Windows Store, выбрать подходящую систему и установить её.

Как быть пользователям Windows 10 LTSB, которая идёт без Windows Store?
Страдать? )

В бета-версии WSL Linux устанавливался командой lxrun /install — может быть эта возможность осталась?

Да, я удалил и поставил через командную строку.
Обратиться в службу тех-поддержки своего предприятия с просьбой перезалить образ вашего компьютера, так как вам по ошибке поставили сборку ОС, предназначенную для систем автоматизации производства, банкоматов и т.д. Судя по вашему желанию установить WSL, вам нужна обычная Enterprise версия.
Я думаю, тут предприятие не при чем. LTSB версия чуть меньше светит телеметрией и там меньше системных приложений. Поэтому некоторые советуют ставить такую версию для домашнего использования. Это как раньше из XP вырезали шрифты и драйверы.
Я не думаю, что пользователи пиратской LTSB версии вправе возмущаться отсутствием Store или недоступностью WSL.
Пользователи пиратской LTSB версии умудряются писать разработчикам Windows Store приложений с просьбой дать им appx )
НЛО прилетело и опубликовало эту надпись здесь
socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)
socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)

Вот это работает, остальные варианты — нет.
А починили баг с исчезающей прокруткой? Очень неприятно поведение, когда не можешь прокрутить вверх вывод консоли.
+ Когда появится вставка по Shift + Ins? Все никак не отвыкну от нее
Можно использовать сторонний терминал, например wsl-terminal. Там и настоек по-больше (по цветовым схемам, полосе прокрутки и тд), и вставка на СКМ и Shift+Ins есть.
спасибо!
Попробуйте ConEmu. Там Ctrl/Shift+Ins, и табы, и мышь в консоли почти адекватная.
Прочитав в заголовке «подсистема Windows для Linux» я немного удивился. Не правильнее будет ли «подсистема Linux для Windows»?
Вот и я тоже зашёл почитать неужели MS выдала официальный способ запуска Windows-приложений под Linux…
Странное у них название. Я сразу то испугался даже.

Нет, ведь это подсистема винды, предназначенная для запуска Linux'а, а не наоборот же. Что допиливали — того и подсистема, вполне логично.

тут двоякое прочтение в обоих случаях:
Подсистема (чего) Windows(а) для (запуска) Linux — Подсистема (какая) Windows для (чего) Linux
Подсистема (какая) Linux для (чего) Windows — Подсистема (чего) Linux(а) для (запуска) Windows
Называть подсистему под Windows «подсистема Windows» как-то глупо. Обычно есть подсистема ФС, подсистема IO и так далее. По аналогии подсистема Х будет подсистемой, реализующей работу с Х в той системе, которая упомянута в контексте, в данном случае — Windows.
Файловая подсистема Windows
Может кто-нибудь проверить, поддерживаются ли теперь junction (mklink /J) и symlink (mklink /D)?
Самая большая проблема при разработке под Windows — это файловая система.
Приходится пробрасывать в виртуалку через NFS/CIFS, теряя при этом возможность создавать симлинки и настраивать права доступа.
Как я понимаю, описанная технология этой проблемы не решает и разные установщики пакетов так и не смогут создавать симлинки?
В общем, нужна прямая поддержка линуксовых файловых систем.
НЛО прилетело и опубликовало эту надпись здесь
FUSE не поднять?
Хватило бы трансляции в NTFS, где всё нужное уже есть.

Симлинки-то есть, а как быть с регистронезависмостью?
olegart@Desktop ~ $ touch test
olegart@Desktop ~ $ touch Test
olegart@Desktop ~ $ ls *est
test Test
НЛО прилетело и опубликовало эту надпись здесь
olegart@Desktop /mnt/c/Users/Oleg/Desktop $ touch test
olegart@Desktop /mnt/c/Users/Oleg/Desktop $ ln -s test test.symlink
olegart@Desktop /mnt/c/Users/Oleg/Desktop $ ls -l test*
-rwxrwxrwx 1 root root 0 окт. 17 23:14 test
lrwxrwxrwx 1 root root 4 окт. 17 23:14 test.symlink -> test
olegart@Desktop /mnt/c/Users/Oleg/Desktop $ echo "Hello world" > test
olegart@Desktop /mnt/c/Users/Oleg/Desktop $ cat test.symlink
Hello world
olegart@Desktop /mnt/c/Users/Oleg/Desktop $
А этот Linux будет иметь доступ к видеокарте, например, CUDA драйвера поставить и TensorFlow гонять? Я знаю, что tf под windows работает, но некоторые нужные пакеты есть только под linux

Чтобы CUDA (OpenCL) приложение получило доступ к карте, требуется трансляция системных вызовов (устройство /dev/dri/card0, read/write/mmap к его драйверу) из linux-стиля к windows-драйверу видеокарты, и такой трансляции на данный момент ещё не написано. (WSL — это не ядро линукс, это слой эмуляции системных вызовов и соглашений линукс в вызовы ядра Windows; поверх WSL распаковывается дистрибутив линукса, но там работают только user-space линукс-приложения.)
Баги про отсутствие поддержки CUDA в WSL: https://github.com/microsoft/bashonwindows/issues/327, https://github.com/Microsoft/BashOnWindows/issues/1788, https://github.com/Microsoft/BashOnWindows/issues/2268,
голосование (2 тыс. голосов, одна из самых затребованных фич) https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/16108045-opencl-cuda-gpu-support ответ от 2016-10-25 — "It’s on the backlog, but not currently planned."

Уже появился данный дистрибутив винды в виде образа? А то мало теперь инфу без подписки не дает просматривать.
НЛО прилетело и опубликовало эту надпись здесь

Кто может объяснить, зачем запускать linux из под windows?

Ну как вариант, из-за bash команд
У нас одно время было корпоративное требование использовать windows (объяснялось сисадминами-оутсорсерами и оутлуком), но многим требовался (или был бы более удобен) Linux. Мне бы тогда эта поддержка упростила бы жизнь.
НЛО прилетело и опубликовало эту надпись здесь
cmd.exe теперь корректно работает с tmux и миллионами цветов в vim:
Остался один вопрос, как его найти в этом Store

Тыкаем Store, тыкаем Поиск, Linux <Enter>, в огромном окне с надписью "Linux on Windows? Totally." (это они зря, на рекламу похоже) тыкаем "Получить приложения".

Я так понимаю обязательно надо ставить WINDOWS 10 INSIDER PREVIEW? У меня он не встает, винда перестает загружаться.
надо ставить Windows 10 Fall Creators Update.
Fall Creators Update стоит. В магазине при попытке ставить Ubuntu отправляет с предложением присоединиться к Insider Preview.
Не могу проверить. Сам я Fall Creators Update получил через Release Preview Ring и мне магазин ничего не предлагает, просто скачивает.

Можете, кстати, попробовать в этом кольце та же сборка, что вчера зарелизили
Кстати, сейчас на Creators Update стор предлагает именно что обновиться, а не идти в инсайдеры. Вы точно уверены, что у вас Windows 10 1709 Fall Creators Update?

Хотел включить WSL в окне Включение или отключение компонентов Windows. Но почему-то не включается, в диспетчере задач мелькает отправка отчёта об ошибке и пару раз выпадало окно «SystemSettings.exe ошибка приложения». Установка WCU велась с помощью файла с оф.сайта майкрософта.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий