Общие сведения о сборке Windows 21364 доступны в блоге о Windows.
Доступны приложения с графическим пользовательским интерфейсом! Дополнительные сведения см. в этой записи блога.
Устранена ошибка при доступе к файлам через \\wsl.localhost\.
Исправлена потенциальная взаимоблокировка в службе LxssManager.
Сборка 21354
Общие сведения о сборке Windows 21354 доступны в блоге о Windows.
Чтобы избежать проблем, связанных с наличием в сети компьютера с именем wsl, необходимо изменить префикс \wsl на \wsl.localhost. Имя \wsl$ допускается.
Щелкните значок быстрого доступа Linux для процессов WoW.
Ошибка обновления, из-за которой версия 2 всегда передается через wslapi RegisterDistribution.
Измените fmask для каталога /usr/lib/wsl/lib на 222, чтобы файлы были помечены как исполняемые [GH 3847].
Устраните сбой службы WSL, если платформа виртуальной машины не включена.
Сборка 21286
Общие сведения о сборке Windows 21286 доступны в блоге о Windows.
Введена команда wsl.exe --cd для указания текущего рабочего каталога команды.
Улучшено сопоставление кодов ошибок NTSTATUS и Linux. [GH 6063]
Улучшены отчеты об ошибках при выполнении команды wsl.exe --mount.
В etc/wsl.conf добавлен параметр для включения команд запуска:
[boot]
command=<string>
Сборка 20226.
Общие сведения о сборке Windows 20226 доступны в блоге о Windows.
Устранен сбой в службе LxssManager. [GH 5902]
Сборка 20211
Общие сведения о сборке Windows 20211 доступны в блоге о Windows.
Исправлена ошибка, приводившая к зависанию при перенаправлении выходных данных процесса Windows. [GH 5648]
Добавлен параметр %userprofile%\.wslconfig для управления временем ожидания при простое виртуальной машины (wsl2.vmIdleTimeout=<время_в_миллисекундах>).
Включена поддержка запуска псевдонимов выполнения приложений из WSL.
Включена поддержка установки ядра WSL2 и дистрибутивов с помощью команды wsl.exe --install.
Сборка 20175
Общие сведения о сборке Windows 20175 доступны в блоге о Windows.
В качестве выделяемого по умолчанию объема памяти виртуальной машины WSL2 теперь используется 50 % от памяти узла или 8 ГБ в зависимости от того, что меньше [GH 4166].
Префикс \\wsl$ изменен на \\wsl для поддержки синтаксического анализа URI. Старый путь \\wsl$ по-прежнему поддерживается.
В архитектуре AMD64 вложенная виртуализация для WSL2 включена по умолчанию. Вы можете отключить ее с помощью команды %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false).
По запросу wsl.exe --update запускается Центр обновления Майкрософт.
В DrvFs поддерживается переименование файлов, доступных только для чтения.
Сообщения об ошибках всегда выводятся на правильной странице кода.
Сборка 20150
Общие сведения о сборке Windows 20150 см. в блоге о Windows.
Добавлен параметр wsl.exe --install командной строки для быстрой настройки WSL.
Добавлен параметр командной строки wsl.exe --update для управления обновлениями ядра WSL2.
Используйте WSL2 в качестве значения по умолчанию.
Увеличено время ожидания корректного завершения работы виртуальной машины WSL2.
Исправлено состояние гонки virtio-9p при сопоставлении памяти устройства.
Не запускайте сервер 9p с повышенными привилегиями, если контроль учетных записей отключен.
Сборка 19640
Общие сведения о сборке Windows 19640 см. в блоге о Windows.
[WSL2] Улучшения стабильности для virtio-9p (drvfs).
Сборка 19555
Общие сведения о сборке Windows 19555 см. в блоге Windows.
[WSL2] Применение memory cgroup для ограничения объема памяти, используемой операциями установки и преобразования [GH 4669].
Предоставление команды wsl.exe для улучшения обнаружения компонентов, если дополнительный компонент подсистемы Windows для Linux не включен.
Изменение wsl.exe для вывода текста справки, если дополнительный компонент WSL не установлен.
Устранение состояния гонки при создании экземпляров.
Создание файла wslclient.dll, который содержит все функции командной строки.
Предотвращение аварийного завершения при остановке службы LxssManagerUser.
Исправление завершения работы wslapi.dll при первой ошибке, если значение параметра distroName равно NULL.
Сборка 19041
Общие сведения о сборке Windows 19041 см. в блоге Windows.
[WSL2] Очищение маски сигналов перед запуском процессов.
[WSL2] Обновление ядра Linux до версии 4.19.84.
Обработка созданной символической ссылки /etc/resolv.conf, если символическая ссылка не является относительной.
Сборка 19028
Общие сведения о сборке Windows 19028 доступны в блоге о Windows.
[WSL2] Ядро Linux обновлено до версии 4.19.81
[WSL2] Разрешение по умолчанию /dev/net/tun изменено на 0666 [GH 4629]
[WSL2] Объем памяти, назначенный виртуальной машине Linux по умолчанию, оптимизирован до 80 % памяти узла
[WSL2] Внесены исправления в работу сервера взаимодействия для обработки запросов со временем ожидания, чтобы сервер не перестал отвечать на запросы из-за неправильных вызовов
Сборка 19018
Общие сведения о сборке Windows 19018 доступны в блоге о Windows.
[WSL2] Для исправления неполадок с приложениями .NET по умолчанию используется параметр cache=mmap для подключения ресурсов 9p.
[WSL2] Исправления для ретранслятора localhost [GH 4340].
[WSL2] Добавлен подключаемый общедоступный ресурс tmpfs для передачи состояний между дистрибутивами.
Исправлено восстановление постоянного сетевого диска для \\wsl$.
Сборка 19013
Общие сведения о сборке Windows 19013 доступны в блоге о Windows.
[WSL2] Повышение производительности памяти служебной виртуальной машины WSL. Память, которая больше не используется, будет освобождена для узла.
[WSL2] Ядро обновлено до версии 4.19.79. (Добавлены модули CONFIG_HIGH_RES_TIMERS, CONFIG_TASK_XACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_SCHED_HRTICK и CONFIG_BRIDGE_VLAN_FILTERING.)
[WSL2] Исправлен ретранслятор ввода для обработки ситуаций, когда STDIN является незакрытым обработчиком канала [GH 4424].
При проверке наличия \\wsl$ не учитывается регистр.
[wsl2]
pageReporting = <bool> # Enable or disable the free memory page reporting feature (default true).
idleThreshold = <integer> # Set the idle threshold for memory compaction, 0 disables the feature (default 1).
Сборка 19002
Общие сведения о сборке Windows 19002 доступны в блоге о Windows.
[WSL] Исправлена редко возникавшая проблема, приводившая к отмене регистрации дистрибутива, если он запускался сразу после обновления сборки новой сборкой.
[WSL] Устранена незначительная проблема с wsl.exe --shutdown, из-за которой таймеры бездействия экземпляра не отменялись.
Сборка 18995
Общие сведения о сборке Windows 18995 доступны в блоге о Windows.
[WSL2] Устранена проблема, из-за которой подключения DrvFs прекращали работать после прерывания операции (например, нажатия клавиш CTRL+C) [GH 4377].
[WSL2] Исправлена обработка очень больших сообщений hvsocket [GH 4105].
[WSL2] Устранена проблема с взаимодействием, возникавшая, если в качестве stdin использовался файл [GH 4475].
[WSL2] Устранено аварийное завершение службы при обнаружении непредвиденного состояния сети [GH 4474].
[WSL2] Запрос имени дистрибутива с сервера взаимодействия, если текущий процесс не имеет переменной среды.
[WSL2] Устранена проблема с взаимодействием, возникавшая, если в качестве stdin использовался файл.
[WSL2] Ядро Linux обновлено до версии 4.19.72.
[WSL2] Добавлена возможность указать дополнительные параметры командной строки ядра с помощью wslconfig.
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments
Сборка 18990
Общие сведения о сборке Windows 18990 доступны в блоге о Windows.
[WSL2] Исправлено взаимодействие с Windows при использовании su или sudo [GH 4465].
Сборка 18980
Общие сведения о сборке Windows 18980 доступны в блоге о Windows.
Исправлено чтение символических ссылок, которые запрещают FILE_READ_DATA. Сюда входят все символические ссылки Windows, создаваемые для обеспечения обратной совместимости, такие как "C:\Document and Settings", а также множество символических ссылок в каталоге профиля пользователя.
Непредвиденное состояние файловой системы перестало быть неустранимым [GH 4334, 4305].
[WSL2] Добавлена поддержка arm64, если ЦП или встроенное ПО поддерживает виртуализацию.
[WSL2] Непривилегированным пользователям разрешено просматривать журнал ядра.
[WSL2] Исправлена ретрансляция вывода при закрытии сокетов stdout и stderr [GH 4375].
[WSL2] Поддержка сквозного режима батареи и адаптера питания.
[WSL2] Ядро Linux обновлено до версии 4.19.67.
Добавлена возможность задать имя пользователя по умолчанию в /etc/wsl.conf:
[user]
default=<string>
Сборка 18975
Общие сведения о сборке Windows 18975 доступны в блоге о Windows.
[WSL2] Исправлен ряд проблем с надежностью localhost [GH 4340].
Сборка 18970
Общие сведения о сборке Windows 18970 доступны в блоге о Windows.
[WSL2] Синхронизация времени с временем узла при выходе системы из спящего режима [GH 4245].
[WSL2] Создание символических ссылок NT на тома Windows, если это возможно.
[WSL2] Создание дистрибутивов в пространствах имен UTS, IPC, PID и Mount.
[WSL2] Исправлена ретрансляция портов localhost при привязке сервера к localhost напрямую [GH 4353].
[WSL2] Исправлено взаимодействие при перенаправлении вывода [GH 4337].
[WSL2] Поддержка преобразования абсолютных символических ссылок NT.
[WSL2] Ядро обновлено до версии 4.19.59.
[WSL2] Правильное задание маски подсети для eth0.
[WSL2] Изменение логики для выхода из циклов консольного рабочего процесса при получении сигнала о событии выхода.
[WSL2] Если дистрибутив не работает, то его VHD-файл можно извлечь.
[WSL2] Исправлена библиотека анализа конфигурации, чтобы правильно обрабатывать пустые значения.
[WSL2] Поддержка рабочего стола Docker путем создания подключений между дистрибутивами. Дистрибутив можно настроить для такого режима, добавив следующую строку в файл /etc/wsl.conf:
[automount]
crossDistro = true
Сборка 18945
Общие сведения о сборке Windows 18945 доступны в блоге о Windows.
WSL
[WSL2] Разрешен доступ к ожидающим передачи данных TCP-сокетам в WSL2 с узла по адресу localhost:<порт>.
[WSL2] Устранены сбои при установке и преобразовании. Добавлена дополнительная диагностика для отслеживания будущих проблем [GH 4105].
[WSL2] Улучшена диагностируемость проблем с сетью WSL2.
[WSL2] Ядро обновлено до версии 4.19.55.
[WSL2] Ядро обновлено с помощью параметров конфигурации, необходимых для Docker [GH 4165].
[WSL2] Увеличено число ЦП, назначаемых упрощенной служебной виртуальной машине, чтобы оно совпадало с числом ЦП узла (ранее это значение было ограничено 8 ЦП с помощью параметра CONFIG_NR_CPUS в конфигурации ядра) [GH 4137].
[WSL2] Создание файла подкачки для упрощенной виртуальной машины WSL2.
[WSL2] Разрешено отображение подключений пользователей в \\wsl$\<имя_дистрибутива> (например, SSHFS) [GH 4172].
[WSL2] Повышена производительность файловой системы 9p.
[WSL2] Обновлена конфигурации ядра для поддержки squashfs и xt_conntrack [GH 4107, 4123].
[WSL2] Исправлен параметр interop.enabled в /etc/wsl.conf [GH 4140].
[WSL2] Если файловая система не поддерживает EA, возвращается ENOTSUP.
[WSL2] CopyFile больше не зависает при работе с \\wsl$.
Параметр umask по умолчанию переключен на значение 0022, и добавлен параметр filesystem.umask в /etc/wsl.conf.
Исправлен wslpath, чтобы правильно разрешать символические ссылки, что повторно происходило в 19h1 [GH 4078].
Введен файл %UserProfile%\.wslconfig для оптимизации параметров WSL 2.
[wsl2]
kernel=<path> # An absolute Windows path to a custom Linux kernel.
memory=<size> # How much memory to assign to the WSL2 VM.
processors=<number> # How many processors to assign to the WSL2 VM.
swap=<size> # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path> # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).
# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB
Сборка 18917
Общие сведения о сборке Windows 18917 доступны в блоге о Windows.
WSL
Уже доступна версия WSL 2! Дополнительные сведения см. в блоге.
Устранена регрессия, из-за которой запуск процессов Windows через символические ссылки выполнялся некорректно [GH 3999].
Добавлены следующие параметры wsl.exe: wsl.exe --list --verbose, wsl.exe --list --quiet и wsl.exe --import --version.
Добавлен параметр wsl.exe --shutdown.
Plan 9: для успешной работы разрешено открытие каталога для записи.
Сборка 18890
Общие сведения о сборке Windows 18890 доступны в блоге о Windows.
WSL
Утечка сокетов не блокирует работу [GH 2913].
Ввод EOF в терминал может заблокировать последующие операции чтения [GH 3421].
В заголовок resolv.conf добавлена ссылка на wsl.conf [рассмотрено в GH 3928].
Взаимоблокировка в коде epoll delete [GH 3922].
Обработка пробелов в аргументах параметров --import и --export [GH 3932].
Расширение файлов, обработанных с помощью mmap, не работает должным образом [GH 3939].
Устранена проблема с доступом ARM64 к \\wsl$.
Улучшен значок по умолчанию для wsl.exe.
Сборка 18342
Общие сведения о сборке Windows 18342 доступны в блоге о Windows.
WSL
Мы добавили возможность доступа пользователей к файлам Linux в дистрибутиве WSL из Windows. Доступ к этим файлам можно получить с помощью командной строки. Кроме того, такие приложения для Windows, как проводник, VSCode и т. д., могут взаимодействовать с этими файлами. Чтобы получить доступ к файлам, перейдите в папку \\wsl$\<имя_дистрибутива>, или просмотрите список выполняющихся дистрибутивов, перейдя в \\wsl$.
Добавлены дополнительные теги сведений о ЦП и исправлены значения Cpus_allowed[_list] [GH 2234].
Поддержка выполнения из ведомого потока [GH 3800].
Ошибки обновления конфигурации не считаются критическими [GH 3785].
Подсистема binfmt обновлена для правильной обработки смещений [GH 3768].
Включено сопоставление сетевых дисков для Plan 9 [GH 3854].
Поддержка преобразования путей Windows -> Linux и Linux -> Windows для подключения привязок.
Создание разделов только для чтения для сопоставлений файлов, открытых только для чтения.
Сборка 18334
Общие сведения о сборке Windows 18334 доступны в блоге о Windows.
WSL
Перепроектирован способ сопоставления часового пояса Windows с часовым поясом Linux [GH 3747].
Устранены утечки памяти и добавлены новые функции преобразования строк [GH 3746].
Выполнение SIGCONT для группы потоков без потоков является холостой командой [GH 3741].
Правильное отображение дескрипторов файлов socket и epoll в /proc/self/fd.
Сборка 18305
Общие сведения о сборке Windows 18305 доступны в блоге о Windows.
WSL
Когда основной поток завершает работу, pthreads утрачивает доступ к файлам [GH 3589].
Команда TIOCSCTTY должна игнорировать параметр force, если он не является обязательным [GH 3652].
Усовершенствована командная строка wsl.exe и добавлены функции импорта и экспорта.
Usage: wsl.exe [Argument] [Options...] [CommandLine]
Arguments to run Linux binaries:
If no command line is provided, wsl.exe launches the default shell.
--exec, -e <CommandLine>
Execute the specified command without using the default Linux shell.
--
Pass the remaining command line as is.
Options:
--distribution, -d <DistributionName>
Run the specified distribution.
--user, -u <UserName>
Run as the specified user.
Arguments to manage Windows Subsystem for Linux:
--export <DistributionName> <FileName>
Exports the distribution to a tar file.
The filename can be - for standard output.
--import <DistributionName> <InstallLocation> <FileName>
Imports the specified tar file as a new distribution.
The filename can be - for standard input.
--list, -l [Options]
Lists distributions.
Options:
--all
List all distributions, including distributions that are currently
being installed or uninstalled.
--running
List only distributions that are currently running.
-setdefault, -s <DistributionName>
Sets the distribution as the default.
--terminate, -t <DistributionName>
Terminates the distribution.
--unregister <DistributionName>
Unregisters the distribution.
--upgrade <DistributionName>
Upgrades the distribution to the WslFs file system format.
--help
Display usage information.
Сборка 18277
Общие сведения о сборке Windows 18277 доступны в блоге о Windows.
WSL
Устранена ошибка "Интерфейс не поддерживается" в сборке 18272 [GH 3645].
Игнорируется флаг MNT_FORCE для umount syscall [GH 3605].
Переключено взаимодействие WSL для использования официального API CreatePseudoConsole.
При перезапуске FUTEX_WAIT значение времени ожидания не сохраняется.
Сборка 18272
Общие сведения о сборке Windows 18272 доступны в блоге о Windows.
WSL
Предупреждение. В этой сборке есть проблема, делающая компонент WSL неработоспособным. При попытке запустить дистрибутив появится сообщение об ошибке "Интерфейс не поддерживается". Эта проблема устранена, и соответствующее исправление будет добавлено в сборку для предварительной оценки с ранним доступом, выпускаемую на следующей неделе. Если вы установили эту сборку, вы можете выполнить откат к предыдущей сборке Windows с помощью команды "Вернуться к предыдущей версии Windows 10" в Параметры-Update> и Security-Recovery>.
Сборка 18267
Общие сведения о сборке Windows 18267 доступны в блоге о Windows.
WSL
Устранена проблема, из-за которой зомби-процесс мог быть не удален и существовал неограниченное время.
WslRegisterDistribution переставал отвечать на запросы, если сообщение об ошибке превышало максимальную длину [GH 3592].
Разрешено использование fsync с файлами только для чтения в DrvFs [GH 3556].
Перед созданием символических ссылок в каталогах /bin и /sbin убедитесь, что эти каталоги существуют [GH 3584].
Добавлен механизм времени ожидания завершения экземпляра для экземпляров WSL. Сейчас время ожидания равно 15 секундам, то есть работа экземпляра завершается через 15 секунд после завершения последнего процесса WSL. Чтобы немедленно завершить дистрибутив, используйте следующую команду.
wslconfig.exe /terminate <DistributionName>
Сборка 17763 (1809)
Общие сведения о сборке Windows 17763 доступны в блоге о Windows.
WSL
Проверка разрешения SetPriority для syscall была слишком строгая для изменения приоритета того же потока [GH 1838].
Убедитесь, что для времени загрузки используется несмещенное время прерывания, чтобы избежать возврата отрицательных значений clock_gettime (CLOCK_BOOTTIME) [GH 3434].
Обработка символических ссылок в интерпретаторе binfmt для WSL [GH 3424].
Улучшена обработка очистки дескриптора файла ведущего потока группы потоков.
Чтобы избежать переполнения, переключите WSL на использование KeQueryInterruptTimePrecise вместо KeQueryPerformanceCounter [GH 3252].
Подключение Ptrace могло вызывать неправильное возвращаемое значение из системных вызовов [GH 1731].
Устранено несколько проблем, связанных с AF_UNIX [GH 3371].
Устранена проблема, которая могла привести к сбою взаимодействия WSL, если длина текущего рабочего каталога была меньше 5 знаков [GH 3379].
Предотвращена задержка в 1 секунду при сбое замыкания на себя подключений к несуществующим портам (GH 3286).
Исполняемый файл Win32, запущенный с помощью символической ссылки NTFS, не учитывал имя символической ссылки [GH 2909].
Улучшена поддержка зомби [GH 1353].
Добавление записей wsl.conf для управления поведением взаимодействия Windows [GH 1493]
[interop]
enabled=false # enable launch of Windows binaries; default is true
appendWindowsPath=false # append Windows path to $PATH variable; default is true
Устранена проблема, из-за которой команда getsockname не всегда возвращала тип семейства сокетов UNIX [GH 1774].
Добавлена поддержка TIOCSTI [GH 1863].
Неблокирующие сокеты в процессе подключения должны возвращать EAGAIN для попыток записи [GH 2846].
Поддержка взаимодействия с подключенными виртуальными жесткими дисками [GH 3246, 3291].
Устранена проблема с проверкой разрешений для корневой папки [GH 3304].
Ограниченная поддержка вызовов ioctl с аргументами KDGKBTYPE, KDGKBMODE и KDSKBMODE для клавиатуры tty.
Приложения пользовательского интерфейса Windows должны выполняться, даже если они запущены в фоновом режиме.
Добавлен параметр wsl --u или --user [GH 1203].
Устранены проблемы с запуском WSL, когда включен быстрый запуск [GH 2576].
Сокеты UNIX должны хранить учетные данные отключенных одноранговых узлов [GH 3183].
Работа неблокирующих сокетов UNIX неограниченное время завершалась сбоем и возвращалось значение EAGAIN [GH 3191].
case=off — это новый тип подключения drvfs по умолчанию [GH 2937, 3212, 3328]
Добавлен параметр wslconfig /terminate для остановки выполнения дистрибутивов.
Устранена проблема с пунктами в контекстном меню оболочки WSL, из-за которой неправильно обрабатывались пути с пробелами.
Учет регистра в именах каталогов реализован в качестве расширенного атрибута.
ARM64: имитация операций обслуживания кэша. Устранена проблема с dotnet.
DrvFs: в частном диапазоне допускаются только неэкранированные знаки, которые соответствуют экранированному знаку.
Устранена ошибка завышения или занижения на единицу при проверке длины интерпретатором анализатора ELF [GH 3154].
Абсолютные таймеры WSL со временем в прошлом не срабатывали [GH 3091].
Убедитесь, что вновь созданные точки повторного анализа указаны как таковые в родительском каталоге.
Атомарное создание каталогов с учетом регистра в DrvFs.
Устранена дополнительная проблема, из-за которой многопоточные операции могли возвращать ENOENT, даже если файл существовал. [GH 2712]
Устранена ошибка запуска WSL при включенном режиме UMCI. [GH 3020]
Добавлено контекстное меню обозревателя для запуска WSL [GH 437, 603, 1836]. Чтобы открыть его, нажмите и удерживайте клавишу SHIFT и щелкните правой кнопкой мыши в окне проводника.
Устранено неблокирующее поведение сокетов UNIX [GH 2822, 3100].
Устранена проблема, из-за которой команда NETLINK переставала отвечать на запросы, как было сообщено в GH 2026.
Добавлена поддержка флагов распространения подключения [GH 2911].
Устранена проблема, из-за которой усечение не вызывало события inotify [GH 2978].
Добавлен параметр --exec для wsl.exe, позволяющий вызвать отдельный двоичный файл без оболочки.
Добавлен параметр --distribution для wsl.exe, позволяющий выбрать конкретный дистрибутив.
Ограниченная поддержка dmesg. Теперь приложения могут входить в dmesg. Драйвер WSL записывает ограниченные сведения в dmesg. В будущем эти возможности можно будет расширить, чтобы записывать другие сведения и данные диагностики из драйвера.
Примечание. Сейчас dmesg поддерживается через интерфейс устройства /dev/kmsg. Интерфейс syscall syslog пока не поддерживается. Поэтому некоторые параметры командной строки dmesg, такие как -S и -C, не работают.
Изменены GID и режим по умолчанию для последовательных устройств, чтобы обеспечить соответствие собственному режиму [GH 3042].
Теперь DrvFs поддерживает расширенные атрибуты.
Примечание. В DrvFs были некоторые ограничения для имен расширенных атрибутов. Некоторые знаки (например, "/", ":" и "*") не допускаются, а в именах расширенных атрибутов в DrvFs не учитывается регистр.
Сборка 18252 (Skip Ahead)
Общие сведения о сборке Windows 18252 доступны в блоге о Windows.
WSL
Двоичные файлы init и bsdtar перемещены из библиотеки DLL lxssmanager в отдельную папку tools.
Устранено состязание при закрытии дескриптора файла в случае использования CLONE_FILES.
Обработка необязательных полей в /proc/pid/mountinfo при преобразовании путей DrvFs.
Допускается успешное выполнение mknod DrvFs без поддержки метаданных для S_IFREG.
Файлы только для чтения, созданные в DrvFs, должны иметь атрибут readonly [GH 3411].
Добавлено вспомогательное приложение /sbin/mount.drvfs для управления подключением DrvFs.
Использование переименования POSIX в DrvFs.
Разрешено преобразование путей в томах без GUID тома.
Сборка 17738 (Fast)
Общие сведения о сборке Windows 17738 доступны в блоге о Windows.
WSL
Проверка разрешения SetPriority для syscall была слишком строгая для изменения приоритета того же потока [GH 1838].
Убедитесь, что для времени загрузки используется несмещенное время прерывания, чтобы избежать возврата отрицательных значений clock_gettime (CLOCK_BOOTTIME) [GH 3434].
Обработка символических ссылок в интерпретаторе binfmt для WSL [GH 3424].
Улучшена обработка очистки дескриптора файла ведущего потока группы потоков.
Сборка 17728 (Fast)
Общие сведения о сборке Windows 17728 доступны в блоге о Windows.
WSL
Чтобы избежать переполнения, переключите WSL на использование KeQueryInterruptTimePrecise вместо KeQueryPerformanceCounter [GH 3252].
Подключение Ptrace могло вызывать неправильное возвращаемое значение из системных вызовов [GH 1731].
Устранен ряд проблем, связанных с AF_UNIX [GH 3371].
Устранена проблема, которая могла привести к сбою взаимодействия WSL, если длина текущего рабочего каталога была меньше 5 знаков [GH 3379].
Сборка 18204 (Skip Ahead)
Общие сведения о сборке Windows 18204 доступны в блоге о Windows.
Исполняемый файл Win32, запущенный с помощью символической ссылки NTFS, не учитывал имя символической ссылки [GH 2909].
Сборка 17713
Общие сведения о сборке Windows 17713 доступны в блоге о Windows.
WSL
Улучшена поддержка зомби [GH 1353].
Добавление записей wsl.conf для управления поведением взаимодействия Windows [GH 1493]
[interop]
enabled=false # enable launch of Windows binaries; default is true
appendWindowsPath=false # append Windows path to $PATH variable; default is true
Устранена проблема, из-за которой команда getsockname не всегда возвращала тип семейства сокетов UNIX [GH 1774].
Добавлена поддержка TIOCSTI [GH 1863].
Неблокирующие сокеты в процессе подключения должны возвращать EAGAIN для попыток записи [GH 2846].
Поддержка взаимодействия с подключенными виртуальными жесткими дисками [GH 3246, 3291].
Устранена проблема с проверкой разрешений для корневой папки [GH 3304].
Ограниченная поддержка вызовов ioctl с аргументами KDGKBTYPE, KDGKBMODE и KDSKBMODE для клавиатуры tty.
Приложения пользовательского интерфейса Windows должны выполняться, даже если они запущены в фоновом режиме.
Сборка 17704
Общие сведения о сборке Windows 17704 доступны в блоге о Windows.
WSL
Добавлен параметр wsl --u или --user [GH 1203].
Устранены проблемы с запуском WSL, когда включен быстрый запуск [GH 2576].
Сокеты UNIX должны хранить учетные данные отключенных одноранговых узлов [GH 3183].
Работа неблокирующих сокетов UNIX неограниченное время завершалась сбоем и возвращалось значение EAGAIN [GH 3191].
case=off — это новый тип подключения drvfs по умолчанию [GH 2937, 3212, 3328]
Добавлен параметр wslconfig /terminate для остановки выполнения дистрибутивов.
Сборка 17692
Общие сведения о сборке Windows 17692 доступны в блоге о Windows.
WSL
Устранена проблема с пунктами в контекстном меню оболочки WSL, из-за которой неправильно обрабатывались пути с пробелами.
Учет регистра в именах каталогов реализован в качестве расширенного атрибута.
ARM64: имитация операций обслуживания кэша. Устранена проблема с dotnet.
DrvFs: в частном диапазоне допускаются только неэкранированные знаки, которые соответствуют экранированному знаку.
Сборка 17686
Общие сведения о сборке Windows 17686 доступны в блоге о Windows.
WSL
Устранена ошибка завышения или занижения на единицу при проверке длины интерпретатором анализатора ELF [GH 3154].
Абсолютные таймеры WSL со временем в прошлом не срабатывали [GH 3091].
Убедитесь, что вновь созданные точки повторного анализа указаны как таковые в родительском каталоге.
Атомарное создание каталогов с учетом регистра в DrvFs.
Сборка 17677
Общие сведения о сборке Windows 17677 доступны в блоге о Windows.
WSL
Устранена дополнительная проблема, из-за которой многопоточные операции могли возвращать ENOENT, даже если файл существовал. [GH 2712]
Устранена ошибка запуска WSL при включенном режиме UMCI. [GH 3020]
Сборка 17666
Общие сведения о сборке Windows 17666 доступны в блоге о Windows.
WSL
ПРЕДУПРЕЖДЕНИЕ! Существует проблема, препятствующая запуску WSL на некоторых наборах микросхем AMD [GH 3134]. Исправление готово и находится в процессе добавления в ветвь сборок для программы предварительной оценки Windows.
Добавлено контекстное меню обозревателя для запуска WSL [GH 437, 603, 1836]. Чтобы открыть его, нажмите и удерживайте клавишу SHIFT и щелкните правой кнопкой мыши в окне проводника.
Устранено неблокирующее поведение сокетов UNIX [GH 2822, 3100].
Устранена проблема, из-за которой команда NETLINK переставала отвечать на запросы, как было сообщено в GH 2026.
Добавлена поддержка флагов распространения подключения [GH 2911].
Устранена проблема, из-за которой усечение не вызывало события inotify [GH 2978].
Добавлен параметр --exec для wsl.exe, позволяющий вызвать отдельный двоичный файл без оболочки.
Добавлен параметр --distribution для wsl.exe, позволяющий выбрать конкретный дистрибутив.
Сборка 17655 (Skip Ahead)
Общие сведения о сборке Windows 17655 доступны в блоге о Windows.
WSL
Ограниченная поддержка dmesg. Теперь приложения могут входить в dmesg. Драйвер WSL записывает ограниченные сведения в dmesg. В будущем эти возможности можно будет расширить, чтобы записывать другие сведения и данные диагностики из драйвера.
Примечание. Сейчас dmesg поддерживается через интерфейс устройства /dev/kmsg. Интерфейс sycall syslog еще не поддерживается. Поэтому некоторые параметры командной строки dmesg, такие как -S и -C, не работают.
Устранена проблема, из-за которой многопоточные операции могли возвращать ENOENT, даже если файл существовал. [GH 2712]
Сборка 17639 (Skip Ahead)
Общие сведения о сборке Windows 17639 доступны в блоге о Windows.
WSL
Изменены GID и режим по умолчанию для последовательных устройств, чтобы обеспечить соответствие собственному режиму [GH 3042].
Теперь DrvFs поддерживает расширенные атрибуты.
Примечание. В DrvFs были некоторые ограничения для имен расширенных атрибутов. В частности, некоторые знаки (например, "/", ":" и "*") не допускаются, а в именах расширенных атрибутов в DrvFs не учитывается регистр.
Сборка 17133 (Fast)
Общие сведения о сборке Windows 17133 доступны в блоге о Windows.
WSL
Устранено прекращение ответа на запросы в WSL. [GH 3039, 3034]
Сборка 17128 (Fast)
Общие сведения о сборке Windows 17128 доступны в блоге о Windows.
WSL
Нет
Сборка 17627 (Skip Ahead)
Общие сведения о сборке Windows 17627 доступны в блоге о Windows.
WSL
Добавлена поддержка фьютексных операций с поддержкой числа пи. [GH 1006]
Обратите внимание на то, что приоритеты в настоящее время не поддерживаются компонентом WSL, так что существуют ограничения, но стандартное использование должно быть доступно.
Поддержка брандмауэра Windows для процессов WSL. [GH 1852]
Например, чтобы разрешить процессу Python в WSL ожидать передачи данных через какой-либо порт, используйте командную строку Windows с повышенными привилегиями: netsh.exe advfirewall firewall add rule name=wsl_python dir=in action=allow program="C:\users\<username>\appdata\local\packages\canonicalgrouplimited.ubuntuonwindows_79rhkp1fndgsc\localstate\rootfs\usr\bin\python2.7" enable=yes
Дополнительные сведения о добавлении правил брандмауэра доступны по этой ссылке.
При использовании wsl.exe учитывается оболочка по умолчанию пользователя. [GH 2372]
Все сетевые интерфейсы отображаются как Ethernet. [GH 2996]
Общие сведения о сборке Windows 17618 доступны в блоге о Windows.
WSL
Введена функция псевдоконсоли для взаимодействия с NT [GH 988, 1366, 1433, 1542, 2370, 2406].
Устаревший механизм установки (lxrun.exe) является нерекомендуемым. Для установки дистрибутивов используется Microsoft Store.
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17110
Общие сведения о сборке Windows 17110 доступны в блоге о Windows.
WSL
Разрешено завершение /init из Windows [GH 2928].
Теперь DrvFs по умолчанию учитывает регистр в имени отдельно для каждого каталога (аналогично параметру подключения case=dir).
Для использования параметра case=force (прежнее поведение) требуется задать раздел реестра. Выполните следующую команду, чтобы включить режим case=force, если его необходимо использовать: reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
Если у вас есть каталоги, созданные с помощью WSL в более ранней версии Windows, в которых должен учитываться регистр, используйте fsutil.exe, чтобы пометить их как каталоги с учетом регистра: fsutil.exe file setcasesensitiveinfo <path> enable
Строки, возвращаемые из uname syscall, завершаются значением NULL.
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17107
Общие сведения о сборке Windows 17107 доступны в блоге о Windows.
WSL
Поддержка TCSETSF и TCSETSW на главных конечных точках PTY [GH 2552].
Запуск одновременных процессов взаимодействия мог привести к возвращению EINVAL [GH 2813].
Устранена проблема с PTRACE_ATTACH для отображения правильного состояния трассировки в /proc/pid/status.
Устранено состязание, когда кратковременные процессы, клонированные с флагами CLEARTID и SETTID, могли завершиться без очистки адреса TID.
Отображается сообщение, если при переходе со сборки, предшествующей сборке 17093, выполняется обновление каталогов файловой системы Linux. Дополнительные сведения об изменениях в файловой системе в сборке 17093 доступны в заметках о выпуске 17093.
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17101
Общие сведения о сборке Windows 17101 доступны в блоге о Windows.
WSL
Поддержка signalfd. [GH 129]
Поддержка имен файлов, содержащих недопустимые знаки NTFS, благодаря их кодированию в виде частных знаков Юникода. [GH 1514]
Функция автоматического подключения будет переключаться в режим только для чтения, если запись не поддерживается. [GH 2603]
Допускается вставка суррогатных пар Юникода (например, знаков эмодзи). [GH 2765]
Псевдофайлы в /proc и /sys должны возвращаться готовыми для чтения и записи после выполнения команд select, poll, epoll и т. д. [GH 2838].
Устранена проблема, из-за которой служба могла уйти в бесконечный цикл, если реестр был незаконно изменен или поврежден.
Сообщения NETLINK исправлены для работы с более новой версией iproute2 (начиная с версии 4.14).
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17093
Общие сведения о сборке Windows 17093 доступны в блоге о Windows.
Важно!
При запуске WSL в первый раз после обновления до этой сборки необходимо выполнить некоторые действия, чтобы обновить каталоги файловой системы Linux. Это может занять несколько минут, поэтому может показаться, что WSL медленно запускается. Это должно произойти только один раз для каждого дистрибутива, установленного из Store.
Улучшена поддержка учета регистра в DrvFs.
Теперь DrvFs поддерживает учет регистра отдельно для каждого каталога. Это новый флаг, который можно задать для каталогов, чтобы указать, что все операции в этих каталогах должны выполняться с учетом регистра, что позволит даже приложениям для Windows правильно открывать файлы, отличающиеся только регистром в именах.
DrvFs имеет новые параметры подключения, управляющие конфиденциальности регистра на основе каталога
case=force: для всех каталогов учитывается регистр (за исключением корневого диска). Новые каталоги, созданные с помощью WSL, помечаются как каталоги с учетом регистра. Это устаревшее поведение, за исключением пометки новых каталогов как каталогов с учетом регистра.
case=dir: регистр учитывается только для каталогов с флагом учета регистра; для других каталогов регистр не учитывается. Новые каталоги, созданные с помощью WSL, помечаются как каталоги с учетом регистра.
case=off: регистр учитывается только для каталогов с флагом учета регистра; для других каталогов регистр не учитывается. Новые каталоги, созданные с помощью WSL, помечаются как каталоги без учета регистра.
Примечание. Каталоги, созданные WSL в предыдущих выпусках, не имеют этого флага, поэтому для них регистр не будет учитываться, если задан параметр case=dir. Способ задания этого флага для существующих каталогов будет реализован в ближайшее время.
Пример подключения с этими параметрами (существующие диски необходимо сначала отключить, чтобы подключить их с другими параметрами): sudo mount -t drvfs C: /mnt/c -o case=dir
Пока что параметр "case=force" все еще используется по умолчанию. В будущем по умолчанию будет использоваться параметр case=dir.
Теперь вы можете использовать косую черту в путях Windows при подключении DrvFs, например: sudo mount -t drvfs //server/share /mnt/share
WSL теперь обрабатывает файл /etc/fstab во время запуска экземпляра [GH 2636].
Это делается до автоматического подключения дисков DrvFs. Все диски, которые уже были подключены fstab, не будут автоматически подключаться. Это позволит вам изменить точку подключения для конкретных дисков.
Это поведение можно отключить с помощью wsl.conf.
Файлы mount, mountinfo и mountstats в /proc правильно экранируют специальные знаки, такие как символы обратной косой черты и пробелы [GH 2799].
Теперь можно копировать и перемещать из Windows специальные файлы, созданные с помощью DrvFs, такие как символьные ссылки WSL, или файлы FIFO и сокеты, если метаданные включены.
Можно настроить больше параметров WSL с помощью wsl.conf.
Мы добавили метод для автоматической настройки определенных функций в WSL, которые будут применяться при каждом запуске подсистемы. Сюда входят параметры автоподключения и конфигурация сети. Дополнительные сведения об этом можно получить из нашей записи блога: https://aka.ms/wslconf
AF_UNIX позволяет устанавливать подключения через сокет между процессами Linux в собственных процессах WSL и Windows.
Теперь приложения WSL и приложения для Windows могут взаимодействовать друг с другом через сокеты UNIX. Представьте, что вы хотите запустить службу в Windows и сделать ее доступной для приложений для Windows и приложений WSL. Теперь это возможно благодаря сокетам UNIX. Узнайте больше в записи блога https://aka.ms/afunixinterop
WSL
Поддержка mmap() с MAP_NORESERVE [GH 121, 2784].
Поддержка CLONE_PTRACE и CLONE_UNTRACED [GH 121, 2781].
Обработка сигнала завершения без SIGCHLD в клоне [GH 121, 2781].
Добавлены заглушки /proc/sys/fs/inotify/max_user_instances и /proc/sys/fs/inotify/max_user_watches [GH 1705].
Устранена ошибка при загрузке двоичных файлов ELF, содержащих заголовки загрузки с ненулевыми смещениями [GH 1884].
Заполнение нулями конечных байтов страниц при загрузке образов.
Сокращены случаи, когда execve автоматически завершает процесс.
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17083
Общие сведения о сборке Windows 17083 доступны в блоге о Windows.
WSL
Исправлена критическая ошибка, связанная с epoll [GH 2798, 2801, 2857].
Исправлено прекращение реагирования на запросы при отключении ASLR [GH 1185, 2870].
Обеспечена атомарность операций mmap [GH 2732].
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17074
Общие сведения о сборке Windows 17074 доступны в блоге о Windows.
WSL
Исправлен формат хранения метаданных DrvFs [GH 2777] Важно! Метаданные DrvFs, созданные до этой сборки, будут отображаться неправильно или вообще не будут отображаться. Чтобы исправить затронутые файлы, используйте chmod и chown для повторного применения метаданных.
Устранена проблема с несколькими сигналами и перезапускаемыми вызовами syscall.
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17063
Общие сведения о сборке Windows 17063 доступны в блоге о Windows.
WSL
DrvFs поддерживает дополнительные метаданные Linux. Это позволяет задать владельца и режим файлов с помощью chmod или chown, а также создать специальные файлы, такие как FIFO, сокеты UNIX и файлы устройств. Сейчас эта функция отключена по умолчанию, так как еще является экспериментальной.
Note: Исправлена ошибка в формате метаданных, используемом DrvFs. Хотя метаданные используются в этой сборке в качестве эксперимента, будущие сборки не будут правильно считывать метаданные, созданные этой сборкой. Возможно, потребуется вручную обновить владельца измененных файлов, а устройства с пользовательским идентификатором устройства потребуется создать заново.
Чтобы включить эту функцию, подключите DrvFs с параметром metadata (чтобы включить эту функцию для существующего подключения, его необходимо сначала отключить):
mount -t drvfs C: /mnt/c -o metadata
Разрешения Linux добавляются в файл в качестве дополнительных метаданных; они не влияют на разрешения Windows. Помните, что изменение файла с помощью редактора Windows может привести к удалению метаданных. В этом случае будут восстановлены разрешения этого файла по умолчанию.
Добавлены параметры подключения к DrvFs для управления файлами без метаданных.
uid: идентификатор пользователя, используемый для владельца всех файлов.
gid: идентификатор группы, используемый для владельца всех файлов.
umask: восьмеричная маска разрешений, исключаемых для всех файлов и каталогов.
fmask: восьмеричная маска разрешений, исключаемых для всех обычных файлов.
dmask: восьмеричная маска разрешений, исключаемых для всех каталогов.
Например:
mount -t drvfs C: /mnt/c -o uid=1000,gid=1000,umask=22,fmask=111
Используйте вместе с параметром metadata, чтобы указать разрешения по умолчанию для файлов без метаданных.
Появилась новая переменная среды, WSLENV, позволяющая настроить поток переменных среды между WSL и Win32.
Например:
WSLENV=GOPATH/l:USERPROFILE/pu:DISPLAY
WSLENV — разделенный двоеточиями список переменных среды, которые могут быть добавлены при запуске процессов WSL из Win32 или при запуске процессов Win32 из WSL. Каждая переменная может иметь суффикс с косой чертой, за которой следуют флаги для указания способа преобразования.
p: значение — это путь, который должен быть преобразован между WSL и Win32.
l: значение — это список путей. В WSL это список, разделенный двоеточиями. В Win32 это список, разделенный точками с запятой.
u: это значение должно добавляться только при вызове WSL из Win32.
w: это значение должно добавляться только при вызове Win32 из WSL.
Вы можете задать WSLENV в bashrc или в пользовательской среде Windows для пользователя.
Подключения DrvFs правильно сохраняют метки времени из tar, cp -p (GH 1939).
Символические ссылки DrvFs сообщают правильный размер (GH 2641).
Операции чтения и записи могут обрабатывать очень большие объемы ввода-вывода (GH 2653).
Функция waitpid работает с идентификаторами групп процессов (GH 2534).
Значительно улучшена производительность mmap для больших резервных регионов. Повышена производительность ghc (GH 1671).
Personality поддерживает READ_IMPLIES_EXEC; реализованы исправления для maxima и clisp (GH 1185).
Mprotect поддерживает PROT_GROWSDOWN; реализованы исправления для clisp (GH 1128).
Устранены сбои страниц в режиме перегрузки; реализованы исправления для sbcl (GH 1128).
Функция clone поддерживает больше сочетаний флагов.
Поддержка select/epoll для файлов epoll (ранее это считалось холостой командой).
Уведомление ptrace о нереализованных вызовах syscall.
Игнорирование интерфейсов, которые не выполняются, при создании серверов имен resolv.conf [GH 2694].
Перечисление сетевых интерфейсов без физического адреса. [GH 2685]
Дополнительные исправления ошибок и улучшения.
Инструменты Linux, доступные для разработчиков в Windows
Цепочка инструментов командной строки Windows включает в себя bsdtar (tar) и curl.
Ознакомьтесь с этим блогом, чтобы узнать больше о добавлении этих двух новых инструментов и о том, как они меняют возможности разработки в Windows.
AF_UNIX доступен в пакете SDK для программы предварительной оценки Windows (начиная со сборки 17061).
Ознакомьтесь с этим блогом, чтобы узнать больше о AF_UNIX и способах его использования разработчиками в Windows.
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17046
Общие сведения о сборке Windows 17046 доступны в блоге о Windows.
Фиксированный
WSL
Разрешено выполнение процессов без активного терминала. [GH 709, 1007, 1511, 2252, 2391 и т. д.]
Улучшена поддержка CLONE_VFORK и CLONE_VM. [GH 1878, 2615]
Пропуск драйверов фильтра TDI для сетевых операций WSL. [GH 1554]
DrvFs создает символические ссылки NT при выполнении определенных условий. [GH 353, 1475, 2602]
Цель ссылки должна быть относительной, не должна пересекать точки подключения или символические ссылки и должна существовать.
Пользователь должен иметь разрешение SE_CREATE_SYMBOLIC_LINK_PRIVILEGE (обычно для этого требуется запустить wsl.exe с повышенными привилегиями), если режим разработчика не включен.
Во всех остальных случаях DrvFs по-прежнему создает символические ссылки WSL.
Разрешено одновременное выполнение экземпляров WSL с повышенными привилегиями и без повышенных привилегий.
Поддержка /proc/sys/kernel/yama/ptrace_scope.
Добавлена функция wslpath для преобразования путей WSL<->Windows. [GH 522, 1243, 1834, 2327 и т. д.]
wslpath usage:
-a force result to absolute path format
-u translate from a Windows path to a WSL path (default)
-w translate from a WSL path to a Windows path
-m translate from a WSL path to a Windows path, with '/' instead of '\\'
EX: wslpath 'c:\users'
Консоль
Исправления отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17040
Общие сведения о сборке Windows 17040 доступны в блоге о Windows.
Фиксированный
WSL
Исправления с момента выпуска сборки 17035 отсутствуют.
Консоль
Исправления с момента выпуска сборки 17035 отсутствуют.
Результаты LTP:
выполняется тестирование.
Сборка 17035
Общие сведения о сборке Windows 17035 доступны в блоге о Windows.
Фиксированный
WSL
Иногда не удавалось получить доступ к файлам в DrvFs с ошибкой EINVAL. [GH 2448]
Консоль
Устранена небольшая потеря цветов при вставке или удалении строк в режиме VT.
Результаты LTP:
выполняется тестирование.
Сборка 17025
Общие сведения о сборке Windows 17025 доступны в блоге о Windows.
Фиксированный
WSL
Запуск начальных процессов в новой группе процессов переднего плана [GH 1653, 2510].
Исправления доставки SIGHUP [GH 2496].
Создание имени виртуального моста по умолчанию, если оно не указано [GH 2497].
Дополнительные исправления взаимодействия с каналом stdout/stderr.
Заглушка системного вызова syncfs.
Консоль
Исправление входного преобразования VT для консолей сторонних разработчиков [GH 111].
Результаты LTP:
выполняется тестирование.
Сборка 17017
Общие сведения о сборке Windows 17017 доступны в блоге о Windows.
Фиксированный
WSL
Пропуск пустых заголовков программы ELF [GH 330].
LxssManager разрешено создавать экземпляры WSL для неинтерактивных пользователей (поддержка SSH и запланированных задач) [GH 777, 1602].
Поддержка сценариев WSL ->Win32 ->WSL ("порождение") [GH 1228].
Ограниченная поддержка завершения работы консольных приложений, вызванных посредством взаимодействия [GH 1614].
Поддержка параметров подключения для devpts [GH 1948].
Устранена блокировка Ptrace запуска дочерних процессов [GH 2333].
В EPOLLET отсутствовали некоторые события [GH 2462].
PTRACE_GETSIGINFO возвращает больше данных.
Функция getdents с lseek выдавала неправильные результаты.
Устранены некоторые сценарии, в которых взаимодействующее приложение Win32 переставало отвечать на запросы, ожидая входных данных в канале, который больше не содержал данные.
Поддержка O_ASYNC для файлов tty и pty.
Дополнительные улучшения и исправления.
Консоль
В этом выпуске нет изменений, связанных с консолью.
Результаты LTP:
выполняется тестирование.
Обновление Fall Creators Update
Сборка 16288
Общие сведения о сборке Windows 16288 доступны в блоге о Windows.
Фиксированный
WSL
Правильная инициализация и отображение UID, GID и режима для дескрипторов файлов сокетов [GH 2490].
Дополнительные улучшения и исправления.
Консоль
В этом выпуске нет изменений, связанных с консолью.
Результаты LTP:
Изменения с момента выпуска сборки 16273 отсутствуют.
Сборка 16278
Общие сведения о сборке Windows 162738 доступны в блоге о Windows.
Фиксированный
WSL
Явная отмена сопоставления сопоставленных представлений разделов с файлами при завершении состояния LX MM [GH 2415].
Дополнительные улучшения и исправления.
Консоль
В этом выпуске нет изменений, связанных с консолью.
Результаты LTP:
Изменения с момента выпуска сборки 16273 отсутствуют.
Сборка 16275
Общие сведения о сборке Windows 162735 доступны в блоге о Windows.
Фиксированный
WSL
В этом выпуске нет изменений, связанных с WSL.
Консоль
В этом выпуске нет изменений, связанных с консолью.
Результаты LTP:
Изменения с момента выпуска сборки 16273 отсутствуют.
Сборка 16273
Общие сведения о сборке Windows 16273 доступны в блоге о Windows.
Фиксированный
WSL
Исправлена проблема, из-за которой DrvFs иногда сообщал о неправильном типе файла для каталогов [GH 2392].
Разрешено создание сокетов NETLINK_KOBJECT_UEVENT для разблокирования программ, использующих uevent [GH 1121, 2293, 2242, 2295, 2235, 648, 637].
Изменения с момента выпуска сборки 16251 отсутствуют.
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
В сборке 16257 в WSL возникли проблемы при перечислении файлов и папок Windows с помощью /mnt/c/....
Эта проблема устранена, и исправление будет выпущено в сборке для программы предварительной оценки в течение недели после 14 августа 2017 года.
Сборка 16251
Общие сведения о сборке Windows 16251 доступны в блоге о Windows.
Фиксированный
WSL
Удален тег бета-версии из дополнительного компонента WSL. Дополнительные сведения см. в этой записи блога.
Правильная инициализация сохраненных заданных UID и GID для двоичных файлов set-user-ID и set-group-ID при выполнении [GH 962, 1415, 2072].
Добавлена поддержка PTRACE_O_TRACEEXIT в ptrace [GH 555].
В ptrace добавлена поддержка PTRACE_GETFPREGS и PTRACE_GETREGSET с NT_FPREGSET [GH 555].
Исправлена проблема, из-за которой выполнение ptrace останавливалось на пропущенных сигналах.
Дополнительные улучшения и исправления.
Консоль
В этом выпуске нет изменений, связанных с консолью.
Результаты LTP:
Число пройденных тестов: 768 Число непройденных тестов: 244 Число пропущенных тестов: 96
Сборка 16241
Общие сведения о сборке Windows 16241 доступны в блоге о Windows.
Фиксированный
WSL
В этом выпуске нет изменений, связанных с WSL.
Консоль
Исправлено вывода неправильного знака для пересечения линий DEC, о котором первоначально было сообщено здесь.
Исправлено отсутствие вывода текста в кодовой странице 65001 (UTF8).
Изменения, внесенные в значения RGB одного цвета, не переносятся в другие части палитры при изменении выбора. Это заметно облегчит использование страницы свойств консоли.
Нажатие клавиш Ctrl+S не работало правильно.
Un-Bold и -Dim полностью отсутствуют в escape-кодах ANSI [GH 2174].
Консоль неправильно поддерживала цветовые темы Vim [GH 1706].
Не удавалось вставить определенные знаки [GH 2149].
Изменение размера расплавления приводило к необычному изменению размера окна Bash, когда что-то было введено в строке редактирования или командной строке [GH ConEmu 1123].
Нажатие клавиш CTRL+L не очищало экран [GH 1978].
Устранена ошибка отрисовки консоли при отображении VT в HDPI [GH 1907].
Японские символы выглядят странно с символом Юникода U+30FB [GH 2146]
Дополнительные улучшения и исправления.
Сборка 16237
Общие сведения о сборке Windows 16237 доступны в блоге о Windows.
Фиксированный
Использование атрибутов по умолчанию для файлов без EA в lxfs (root, root, 0000).
Добавлена поддержка дистрибутивов, использующих расширенные атрибуты.
Исправлено заполнение записей, возвращаемых getdents и getdents64.
Исправлена проверка разрешений для системного вызова shmctl SHM_STAT [GH 2068].
Исправлено неправильное начальное состояние epoll для tty [GH 2231].
Устранена проблема в DrvFs, из-за которой команда readdir не возвращала все записи [GH 2077].
Исправлена операция LxFs readdir с несвязанными файлами [GH 2077].
Допускается повторное открытие несвязанных файлов DrvFs с помощью procfs.
Добавлено переопределение глобального раздела реестра для отключения функций WSL (взаимодействие и монтирование дисков).
Исправлено неправильное число блокировок в "stat" для DrvFs (и LxFs) [GH 1894].
Дополнительные улучшения и исправления.
Сборка 16232
Общие сведения о сборке Windows 16232 доступны в блоге о Windows.
Фиксированный
В этом выпуске нет изменений, связанных с WSL.
Сборка 16226
Общие сведения о сборке Windows 16226 доступны в блоге о Windows.
Фиксированный
Поддержка системных вызовов, связанных с xattr (getxattr, setxattr, listxattr, removexattr).
поддержка xattr security.capability.
Улучшена совместимость с некоторыми файловыми системами и фильтрами, включая серверы SMB сторонних производителей. [GH 1952]
Улучшена поддержка заполнителей OneDrive, заполнителей GVFS и сжатых файлов Compact OS.
Дополнительные улучшения и исправления.
Сборка 16215
Общие сведения о сборке Windows 16215 доступны в блоге о Windows.
Правильная обработка разрешений для сетевых файловых систем в DrvFs.
Добавлена поддержка удаленных дисков в DrvFs.
Включена поддержка файловой системы FAT в DrvFs.
Дополнительные исправления и улучшения.
Результаты LTP
Изменения с момента выпуска сборки 15042 отсутствуют.
Сборка 16170
Общие сведения о сборке Windows 16170 доступны в блоге о Windows.
Мы опубликовали новуюзапись блога, в которой обсуждаем наши усилия по тестированию WSL.
Фиксированный
Поддержка параметров сокета IP_ADD_MEMBERSHIP и IPV6_ADD_MEMBERSHIP [GH 1678].
Добавлена поддержка PTRACE_OLDSETOPTIONS. [GH 1692]
Дополнительные исправления и улучшения.
Результаты LTP
Изменения с момента выпуска сборки 15042 отсутствуют.
Сборка 15046 для Windows 10 Creators Update
В обновление Creators Update для Windows 10 больше не планируется добавлять какие-либо исправления или функции WSL. Публикация заметок о выпуске WSL будет возобновлена в ближайшие недели, чтобы охватить дополнения, запланированные в следующих основных версиях в Центре обновления Windows. Общие сведения о сборке Windows 15046 и будущих выпусках для программы предварительной оценки доступны в блоге о Windows.
Сборка 15042
Общие сведения о сборке Windows 15042 доступны в блоге о Windows.
Фиксированный
Устранена взаимоблокировка при удалении пути, завершающегося "..".
Устранена проблема, из-за которой функция FIONBIO не возвращала 0 при успешном выполнении [GH 1683].
Устранена проблема с чтением сокетов датаграмм INET нулевой длины.
Устранена возможная взаимоблокировка из-за состояния состязания при поиске DrvFs в DrvFs [GH 1675].
Расширена поддержка вспомогательных данных сокетов UNIX, SCM_CREDENTIALS и SCM_RIGHTS [GH 514, 613, 1326].
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 737 Число невыполненных тестов (непройденных, пропущенных и т. д.): 255
Сборка 15031
Общие сведения о сборке Windows 15031 доступны в блоге о Windows.
Фиксированный
Исправлена ошибка, из-за которой поведение time(2) иногда было неправильным.
Исправлена проблема, из-за которой системный вызов *SIGPROCMASK мог повредить маску сигнала.
Теперь в уведомлении о создании процесса WSL возвращается полная длина командной строки. [GH 1632]
Теперь WSL сообщает о выходе из потока посредством ptrace, если GDB перестает отвечать на запросы. [GH 1196]
Исправлена ошибка, из-за которой устройства pty переставали отвечать на запросы после интенсивного ввода-вывода tmux. [GH 1358]
Исправлена проверка времени ожидания во многих системных вызовах (futex, semtimedop, ppoll, sigtimedwait, itimer, timer_create).
Добавлена поддержка eventfd EFD_SEMAPHORE [GH 452].
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 737 Число невыполненных тестов (непройденных, пропущенных и т. д.): 255
Сборка 15025
Общие сведения о сборке Windows 15025 доступны в блоге о Windows.
Фиксированный
Исправлена ошибка, которая нарушала работу grep 2.27 [GH 1578].
Реализован флаг EFD_SEMAPHORE для системного вызова eventfd2 [GH 452].
Исправлена проблема, из-за которой функция recvmsg() возвращала EINVAL для флага MSG_DONTWAIT для сокетов INET [GH 1296].
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 732 Число невыполненных тестов (непройденных, пропущенных и т. д.): 255
Сборка 15019
Общие сведения о сборке Windows 15019 доступны в блоге о Windows.
Фиксированный
Исправлена ошибка, из-за которой отображались неправильные данные об использовании ЦП в procfs для таких инструментов, как htop [GH 823, 945, 971].
Теперь при вызове Open() с O_TRUNC для существующего файла inotify теперь создает IN_MODIFY до IN_OPEN.
Исправления для сокета unix getsockopt SO_ERROR для включения postgres [GH 61, 1354]
Реализация /proc/sys/net/core/somaxconn для языка GO.
Теперь фоновая задача обновления пакета apt-get запускается из представления в скрытом режиме.
Очищена область для IPv6-адреса localhost (сбой (Spring-Framework(Java)).
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 714 Число невыполненных тестов (непройденных, пропущенных и т. д.): 249
Сборка 15014
Общие сведения о сборке Windows 15014 доступны в блоге о Windows.
Фиксированный
Нажатие клавиш CTRL+C теперь работает ожидаемым образом.
Теперь htop и ps auxw показывают правильные данные об использовании ресурсов (GH 516).
Простое преобразование исключений NT в сигналы. (GH 513)
Теперь при нехватке пространства fallocate завершается ошибкой ENOSPC вместо EINVAL (GH 1571).
Добавлен /proc/sys/kernel/sem.
Реализованы системные вызовы semop и semtimedop.
Устранены ошибки nslookup, связанные с параметрами сокета IP_RECVTOS и IPV6_RECVTCLASS (GH 69).
Поддержка параметров сокета IP_RECVTTL и IPV6_RECVHOPLIMIT.
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 709 Число невыполненных тестов (непройденных, пропущенных и т. д.): 255
Сводка по системным вызовам
Всего системных вызовов: 384 Всего реализовано: 235 Всего заглушено: 22 Всего не реализовано: 127
Сборка 15007
Общие сведения о сборке Windows 15007 доступны в блоге о Windows.
Известная проблема
Существует известная ошибка, из-за которой консоль не распознает некоторые клавиши CTRL+<key>. Например, это может быть сочетание CTRL+C, которое будет функционировать как обычное нажатие клавиши C.
Возможное решение. Сопоставьте альтернативную клавишу с клавишами CTRL+C. Например, чтобы сопоставить клавиши CTRL+K с CTRL+C, выполните следующее: stty intr \^k. Это сопоставление действует в пределах терминала и должно выполняться при каждом запуске Bash. Пользователи могут изучить этот параметр, чтобы включить его в .bashrc.
Фиксированный
Исправлена ошибка, из-за которой подсистема WSL потребляла 100 % ресурсов ядра ЦП.
Теперь поддерживаются параметры сокета IP_PKTINFO и IPV6_RECVPKTINFO. (GH 851, 987)
Усечение физического адреса сетевого интерфейса до 16 байтов в lxcore (GH #1452, 1414, 1343, 468, 308).
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 709 Число невыполненных тестов (непройденных, пропущенных и т. д.): 255
Сборка 15002
Общие сведения о сборке Windows 15002 доступны в блоге о Windows.
Известная проблема
Две известные проблемы:
Существует известная ошибка, из-за которой консоль не распознает некоторые клавиши CTRL+<key>. Например, это может быть сочетание CTRL+C, которое будет функционировать как обычное нажатие клавиши C.
Возможное решение. Сопоставьте альтернативную клавишу с клавишами CTRL+C. Например, чтобы сопоставить клавиши CTRL+K с CTRL+C, выполните следующее: stty intr \^k. Это сопоставление действует в пределах терминала и должно выполняться при каждом запуске Bash. Пользователи могут изучить этот параметр, чтобы включить его в .bashrc.
Во время выполнения WSL системный поток потребляет 100 % ресурсов ядра ЦП. Первопричина устранена и исправлена внутри компонента.
Фиксированный
Все сеансы Bash теперь должны создаваться на одном уровне разрешений. Попытка запустить сеанс на другом уровне будет заблокирована. Это означает, что консоль администратора и консоль пользователя, не являющегося администратором, не могут работать одновременно. (GH No 626)
Реализованы следующие NETLINK_ROUTE сообщения (требуется администратор Windows)
RTM_NEWADDR (поддерживает ip addr add);
RTM_NEWROUTE (поддерживает ip route add);
RTM_DELADDR (поддерживает ip addr del);
RTM_DELROUTE (поддерживает ip route del).
Проверка запланированных задач для пакетов, которые необходимо обновить, больше не будет выполняться при лимитном подключении (GH 1371).
Исправлена ошибка, из-за которой канал переставал отвечать на запросы, например bash -c "ls -alR /" | bash -c "cat" (GH 1214).
Исправлена ошибка, из-за которой имя ярлыка было неправильно локализовано (GH 696).
Исправлена логика анализа ELF, которая неправильно проверяла заголовки программ, которые должны быть меньше или равны PATH_MAX. (GH 1048)
Реализован обратный вызов statfs для procfs, sysfs, cgroupfs и binfmtf (GH 1378).
Исправлена проблема, из-за которой окна AptPackageIndexUpdate не закрывались (GH 1184, также обсуждается в GH 1193).
Добавлена поддержка флага персонализации ADDR_NO_RANDOMIZE в ASLR. [GH 1148, 1128]
Улучшена функция PTRACE_GETSIGINFO для SIGSEGV для обеспечения правильных трассировок стека GDB во время операций AV (GH 875).
Анализ ELF больше не завершается ошибкой для двоичных файлов patchelf. (GH 471)
DNS-сервер VPN добавлен в /etc/resolv.conf (GH 416, 1350).
Улучшено закрытие TCP-подключений для более надежной передачи данных. (GH 610, 616, 1025, 1335)
Теперь возвращается правильный код ошибки при открытии слишком большого числа файлов (EMFILE). [GH 1126, 2090]
Журнал аудита Windows теперь отображает имя образа при аудите процесса создания.
Теперь запуск bash.exe из окна Bash корректно завершается ошибкой.
Добавлено сообщение об ошибке, когда служба взаимодействия не может получить доступ к рабочему каталогу в LxFs (например, notepad.exe. bashrc).
Исправлена проблема, из-за которой путь Windows в WSL был усеченным.
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 690 Число невыполненных тестов (непройденных, пропущенных и т. д.): 274
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
shmctl shmget shmdt shmat
Сборка 14986
Общие сведения о сборке Windows 14986 доступны в блоге о Windows.
Фиксированный
Исправлены ошибки NETLINK и PTY IOCTL.
Теперь отображается версия ядра 4.4.0-43 для обеспечения согласованности с Xenial.
Теперь Bash.exe запускается, когда ввод направляется в "nul:" (GH 1259).
Теперь идентификаторы потоков отображаются правильно в procfs (GH 967).
Теперь в inotify_add_watch() поддерживаются флаги IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR (GH 1280).
Реализован timer_create и связанные системные вызовы. Это обеспечивает поддержку GHC (GH 307).
Исправлена проблема, из-за которой проверка связи возвращала время 0,000 мс (GH 1296).
Возвращается правильный код ошибки при открытии слишком большого числа файлов.
Исправлена проблема в WSL, когда запрос Netlink для данных сетевого интерфейса завершится ошибкой eINVAL, если аппаратный адрес интерфейса составляет 32 байта (например, интерфейс Teredo)
Обратите внимание на то, что служебная программа Linux "ip" содержит ошибку, из-за которой произойдет сбой, если WSL сообщит 32-байтовый адрес оборудования. Это ошибка в "ip", а не в WSL. В служебной программе ip прописана в коде длина строкового буфера, используемого для вывода аппаратного адреса, и этот буфер слишком мал для вывода 32-байтового аппаратного адреса.
Дополнительные исправления и улучшения.
Результаты LTP:
Число пройденных тестов: 669 Число невыполненных тестов (непройденных, пропущенных и т. д.): 258
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
Общие сведения о сборке Windows 14971 доступны в блоге о Windows.
Фиксированный
Из-за независящих от нас обстоятельств в этой сборке не будет обновлений для подсистемы Windows для Linux. Регулярный выпуск плановых обновлений будет возобновлен в следующем выпуске.
Результаты LTP:
Без изменений, начиная с 14965 Число пройденных тестов: 664 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Сборка 14965
Общие сведения о сборке Windows 14965 доступны в блоге о Windows.
Фиксированный
Поддержка RTM_GETLINK и RTM_GETADDR для NETLINK_ROUTE в сокетах NETLINK (GH 468).
Применение команд ifconfig и ip для перечисления сетей.
Теперь /sbin добавляется в путь пользователя по умолчанию.
Теперь путь пользователя NT по умолчанию добавляется к пути WSL (т. е. теперь можно ввести notepad.exe, не добавляя System32 в путь Linux).
Добавлена поддержка /proc/sys/kernel/cap_last_cap.
Теперь двоичные файлы NT можно запускать из WSL, если текущий рабочий каталог содержит знаки, отличные от ANSI (GH 1254).
Разрешено завершение работы при отключении сокета потока UNIX.
Добавлена поддержка PR_GET_PDEATHSIG.
Добавлена поддержка CLONE_PARENT.
Исправлена ошибка, из-за которой канал переставал отвечать на запросы, например bash -c "ls -alR /" | bash -c "cat" (GH 1214).
Обработка запросов на подключение к текущему терминалу.
Отметьте /proc/<pid>/oom_score_adj доступным для записи.
Добавлена папку /sys/fs/cgroup.
Функция sched_setaffinity должна возвращать значение маски битов сходства.
Исправлена логика проверки ELF, которая неправильно предполагала, что пути интерпретатора должны содержать менее 64 знаков. (GH 743)
Открытые дескрипторы файлов могут оставаться открытыми в окне консоли (GH 1187).
Исправлена ошибка, из-за которой переименование () не удалось с косой чертой на целевом имени (GH #1008)
Реализован файл /proc/net/dev.
Исправлена ошибка, из-за которой при проверке связи возвращалось значение 0,000 мс из-за разрешения таймера.
Реализован файл /proc/self/environ (GH 730).
Дополнительные исправления ошибок и усовершенствования.
Результаты LTP:
Число пройденных тестов: 664 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Сборка 14959
Общие сведения о сборке Windows 14959 доступны в блоге о Windows.
Фиксированный
Улучшены уведомления о процессе Pico для Windows. Дополнительные сведения см. в блоге о WSL.
Повышена стабильность взаимодействия с Windows.
Устранена ошибка 0x80070057, возникавшая при запуске bash.exe при включенной защите корпоративных данных (EDP).
Дополнительные исправления ошибок и усовершенствования.
Результаты LTP:
Число пройденных тестов: 665 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Сборка 14955
Общие сведения о сборке Windows 14955 доступны в блоге о Windows.
Фиксированный
Из-за независящих от нас обстоятельств в этой сборке не будет обновлений для подсистемы Windows для Linux. Регулярный выпуск плановых обновлений будет возобновлен в следующем выпуске.
Результаты LTP:
Число пройденных тестов: 665 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Сборка 14951
Общие сведения о сборке Windows 14951 доступны в блоге о Windows.
Новая функция: взаимодействие Ubuntu и Windows
Теперь двоичные файлы Windows можно вызывать непосредственно из командной строки WSL. Это дает пользователям возможность взаимодействовать со средой и системой Windows способом, который ранее был невозможен. Например, теперь пользователи могут выполнять следующие команды.
Ubuntu 16.04 (Xenial) теперь устанавливается для всех новых экземпляров WSL. Существующие у пользователей экземпляры Ubuntu 14.04 (Trusty) не будут обновляться автоматически.
Теперь отображается языковой стандарт, установленный во время установки.
Улучшения в терминале, включая устранение ошибки, из-за которой перенаправление процесса WSL в файл не всегда работало.
Время существования консоли должно быть связано со временем существования bash.exe.
Размер окна консоли должен быть основан на видимом размере, а не размере буфера.
Дополнительные исправления ошибок и усовершенствования.
Результаты LTP:
Число пройденных тестов: 665 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Сборка 14946
Общие сведения о сборке Windows 14946 доступны в блоге о Windows.
Фиксированный
Устранена проблема, которая не позволила создавать учетные записи WSL для пользователей с именами пользователей NT, содержащими пробелы или кавычки.
Внесены изменения в VolFs и DrvFs, чтобы возвращалось значение 0 для количества ссылок каталога в stat.
Поддержка параметра сокета IPV6_MULTICAST_HOPS.
Ограничение в один цикл ввода-вывода консоли на tty. Например, можно выполнить следующую команду:
Пробелы в /proc/cpuinfo заменены символами табуляции (GH 1115).
DrvFs теперь отображается в mountinfo с именем, совпадающим с подключенным томом Windows.
Теперь /home и /root отображаются в mountinfo с правильными именами.
Дополнительные исправления ошибок и усовершенствования.
Результаты LTP:
Число пройденных тестов: 665 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Сборка 14942
Общие сведения о сборке Windows 14942 доступны в блоге о Windows.
Фиксированный
Исправлен ряд ошибок, в том числе сбой сети ATTEMPTED EXECUTE OF NOEXECUTE MEMORY (Попытка выполнения в недоступной памяти), который блокировал SSH.
Поддержка inotify для уведомлений, созданных из приложений Windows на DrvFs, теперь находится в
Реализованы параметры TCP_KEEPIDLE и TCP_KEEPINTVL для mongod. (GH 695)
Реализован системный вызов pivot_root.
Реализован параметр сокета для SO_DONTROUTE.
Дополнительные исправления ошибок и усовершенствования.
Результаты LTP:
Число пройденных тестов: 665 Число невыполненных тестов (непройденных, пропущенных и т. д.): 263
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
pivot_root
Сборка 14936
Общие сведения о сборке Windows 14936 доступны в блоге о Windows.
Примечание. В предстоящем выпуске WSL будет устанавливать версию Ubuntu 16.04 (Xenial) вместо Ubuntu 14.04 (Trusty). Это изменение будет применено к участникам программы предварительной оценки, которые устанавливают новые экземпляры (lxrun.exe /install или первый запуск bash.exe). Существующие экземпляры с версией Trusty не будут обновлены автоматически. Пользователи могут обновить свой образ Trusty до версии Xenial с помощью команды do-release-upgrade.
Известная проблема
В WSL существует проблема с реализацией некоторых сокетов. Ошибка проявляется как сбой с сообщением ATTEMPTED EXECUTE OF NOEXECUTE MEMORY (Попытка выполнения в недоступной памяти). Чаще всего этот сбой происходит при использовании SSH. Первопричина исправлена во внутренних сборках, и исправление будет добавлено в сборки для программы предварительной оценки при первой возможности.
Фиксированный
Реализован системный вызов chroot.
Улучшения в inotify, включая поддержку уведомлений, созданных в приложениях для Windows в DrvFs.
Исправление: В настоящее время недоступна поддержка в inotify изменений, исходящих из приложений Windows.
Привязка сокета к IPV6::<port n> теперь поддерживает IPV6_V6ONLY (GH 68, 157, 393, 460, 674, 740, 982, 996).
Реализовано поведение WNOWAIT для системного вызова waitid (GH 638).
Поддержка параметров IP-сокета IP_HDRINCL и IP_TTL.
Результат read() нулевой длины должен возвращаться немедленно (GH 975).
Правильная обработка имен файлов и префиксов имен файлов, которые не содержат терминатор NULL в TAR-файле.
Поддержка epoll для /dev/null.
Исправлен источник времени /dev/alarm.
Теперь команда bash -c может выполнять перенаправление в файл.
Дополнительные исправления ошибок и усовершенствования.
Результаты LTP:
Число пройденных тестов: 664 Число невыполненных тестов (непройденных, пропущенных и т. д.): 264
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
chroot
Сборка 14931
Общие сведения о сборке Windows 14931 доступны в блоге о Windows.
Фиксированный
Из-за независящих от нас обстоятельств в этой сборке не будет обновлений для подсистемы Windows для Linux. Регулярный выпуск плановых обновлений будет возобновлен в следующем выпуске.
Сборка 14926
Общие сведения о сборке Windows 14926 доступны в блоге о Windows.
Фиксированный
Проверка связи теперь работает в консолях без привилегий администратора.
Теперь поддерживается ping6, также без привилегий администратора.
Поддержка в inotify файлов, измененных посредством WSL. (GH No 216)
Выходные данные чтения: LX_IN_ISDIR, LX_IN_IGNORED
Известная проблема: Изменение файлов из приложений Windows не приводит к созданию событий.
Сокет UNIX теперь поддерживает SCM_CREDENTIALS.
Результаты LTP:
Число пройденных тестов: 651 Число невыполненных тестов (непройденных, пропущенных и т. д.): 258
Сборка 14915
Общие сведения о сборке Windows 14915 доступны в блоге о Windows.
Фиксированный
Socketpair для сокетов датаграмм UNIX (GH 262).
Поддержка сокетов UNIX для SO_REUSEADDR.
Поддержка сокетов UNIX для SO_BROADCAST (GH 568).
Поддержка сокетов UNIX для SOCK_SEQPACKET (GH 758, 546).
Добавлена поддержка send, recv и shutdown для сокетов датаграмм UNIX.
Устранена ошибка из-за неправильной проверки параметров mmap для нефиксированных адресов. (GH 847)
Поддержка приостановки и возобновления состояний терминала.
Поддержка TIOCPKT ioctl для разблокировки программы Screen (GH #774)
Известная проблема: Не работают функциональные клавиши.
Исправлено состязание в TimerFd, которое могло привести к обращению LxpTimerFdWorkerRoutine к освобожденному элементу ReaderReady (GH 814).
Включена поддержка перезапускаемых системных вызовов для futex, poll и clock_nanosleep.
Добавлена поддержка подключения привязки.
unshare for mount namespace support
Известная проблема: При создании пространства имен подключения посредством unshare(CLONE_NEWNS) текущий рабочий каталог будет по-прежнему указывать на старое пространство имен.
Дополнительные улучшения и исправления.
Сборка 14905
Общие сведения о сборке Windows 14905 доступны в блоге о Windows.
Фиксированный
Теперь поддерживаются перезапускаемые системные вызовы (GH 349, GH 520).
Теперь функционируют символические ссылки на каталоги, которые заканчиваются косой чертой "/" (GH 650).
Реализован параметр RNDGETENTCNT ioctl для /dev/random.
Реализованы файлы /proc/[pid]/mounts, /proc/[pid]/mountinfo и /proc/[pid]/mountstats.
Дополнительные исправления ошибок и усовершенствования.
Сборка 14901
Первая сборка для программы предварительной оценки для выпуска после юбилейного обновления Windows 10.
Общие сведения о сборке Windows 14901 доступны в блоге о Windows.
Фиксированный
Исправлена проблема с косой чертой
Теперь работают такие команды, как $ mv a/c/ a/b/.
Теперь при установке отображается запрос, позволяющий установить языковый стандарт Ubuntu, совпадающий с языковым стандартом Windows.
Поддержка procfs для папки ns.
Добавлены функции подключения и отключения для файловых систем tmpfs, procfs и sysfs.
Исправлена 32-разрядная подпись ABI для mknod[at].
Сокеты UNIX переведены на модель диспетчеризации.
Размер буфера recv сокета INET, заданный с помощью setsockopt, должен учитываться.
Реализован флаг получения сообщения MSG_CMSG_CLOEXEC для сокетов UNIX.
Перенаправление канала stdin/stdout (GH #2)
Разрешена конвейерная передача команд bash -c в командную строку. Пример: >dir | bash -c "grep foo"
Теперь Bash можно установить в системах с несколькими файлами подкачки (GH 538, 358).
Размер буфера сокета INET по умолчанию должен соответствовать установке Ubuntu по умолчанию.
Системные вызовы xattr согласованы с listxattr.
SIOCGIFCONF возвращает только интерфейсы с допустимым IPv4-адресом.
Исправлено действие по умолчанию для сигнала при внедрении с помощью ptrace.
Реализован файл /proc/sys/vm/min_free_kbytes.
Использование значений регистра контекста компьютера при восстановлении контекста в sigreturn
Это устраняет проблему, из-за которой у некоторых пользователей java и javac переставали отвечать на запросы.
Реализован файл /proc/sys/kernel/hostname.
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
waitid epoll_pwait
Сборка 14388 для юбилейного обновления Windows 10
Общие сведения о сборке Windows 14388 доступны в блоге о Windows.
Фиксированный
Исправления для подготовки к юбилейной версии Windows 10 8/2
Дополнительные сведения о компоненте WSL в юбилейном обновлении можно найти на нашем блоге.
Сборка 14376
Общие сведения о сборке Windows 14376 доступны в блоге о Windows.
Фиксированный
Удалены некоторые экземпляры, в которых функция apt-get переставала отвечать на запросы (GH 493).
Исправлена проблема, из-за которой неправильно обрабатывались пустые подключения.
Исправлена проблема, из-за которой неправильно подключались диски ramdisk.
Изменена процедура принятия сокетов UNIX для поддержки флагов (частично GH 451).
Исправлена распространенная проблема с сетью, вызывавшая ошибку "синий экран".
Устранена ошибка "синий экран" при доступе к /proc/[pid]/task (GH 523).
Исправлена высокая загрузка ЦП для некоторых сценариев использования pty (GH 488, 504).
Дополнительные исправления ошибок и усовершенствования.
Сборка 14371
Общие сведения о сборке Windows 14371 доступны в блоге о Windows.
Фиксированный
Исправлено состязание за синхронизацию SIGCHLD и wait() при использовании ptrace.
Исправлена обработка путей, которые завершаются косой чертой "/" (GH 432).
Устранен сбой при переименовании или отмене связи из-за открытых дескрипторов дочерних элементов.
Дополнительные исправления ошибок и усовершенствования.
Сборка 14366
Общие сведения о сборке Windows 14366 доступны в блоге о Windows.
Фиксированный
Исправлено создание файла с помощью символических ссылок.
Добавлена функция listxattr для Python (GH 385).
Дополнительные исправления ошибок и усовершенствования.
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
listxattr
Сборка 14361
Общие сведения о сборке Windows 14361 доступны в блоге о Windows.
Фиксированный
Теперь в DrvFs учитывается регистр при выполнении в Bash для Ubuntu в Windows.
Пользователи могут хранить на дисках в /mnt/c и файл case.txt, и файл CASE.TXT.
Учет регистра поддерживается только в Bash для Ubuntu в Windows. За пределами Bash NTFS будет отображать сведения о файлах правильно, но при взаимодействии с этими файлами из Windows может наблюдаться непредвиденное поведение.
Корень каждого тома (т. е. /mnt/c) не учитывает регистр.
Дополнительные сведения об обработке этих файлов в Windows можно найти здесь.
Значительно улучшена поддержка pty и tty. Теперь поддерживаются такие приложения, как tmux (GH 40).
Исправлена проблема с установкой, из-за которой учетные записи пользователей создавались не всегда.
Оптимизирована структура аргументов командной строки, которая позволяет получить очень длинный список аргументов. (GH 153)
Теперь можно выполнять операции delete и chmod с файлами только для чтения в DrvFs.
Исправлены некоторые экземпляры, в которых терминал при отключении переставал отвечать на запросы (GH 43).
Теперь на устройствах tty работает chmod и chown.
Разрешено подключение к 0.0.0.0 и :: как localhost (GH 388).
Теперь sendmsg и recvmsg обрабатывают векторы ввода-вывода длиной >1 (частично GH 376).
Теперь пользователи могут отказаться от автоматически создаваемого файла hosts (GH 398).
Автоматическое сопоставление языкового стандарта Linux с языковым стандартом NT во время установки (GH 11).
Добавлен файл /proc/sys/vm/swappiness (GH #306).
Теперь strace завершается правильно.
Разрешено повторное открытие каналов через /proc/self/fd (GH 222).
Скрытие каталогов в %LOCALAPPDATA%\lxss из DrvFs (GH 270).
Улучшена обработка bash.exe ~. Теперь поддерживаются такие команды, как bash ~ -c ls (GH 467).
Сокеты теперь уведомляют epoll о доступе на чтение во время завершения (GH 271).
Команда lxrun /uninstall лучше удаляет файлы и папки.
Исправлена команда ps -f (GH 246).
Улучшена поддержка приложений x11, таких как xEmacs (GH 481).
Обновлен начальный размер стека потока в соответствии с параметром Ubuntu по умолчанию. Теперь при системном вызове get_rlimit размер отображается правильно (GH 172, 258).
Улучшено отображение имен образов процессов Pico (например, для аудита).
Реализован файл /proc/mountinfo для команды df.
Исправлен код ошибки символической ссылки для дочернего имени. И еще:
Дополнительные улучшения исправлений ошибок и усовершенствования.
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
Общие сведения о сборке Windows 14352 доступны в блоге о Windows.
Фиксированный
Исправлена проблема, из-за которой большие файлы скачивались и создавались неправильно. Это должно позволить использовать npm и реализовать другие сценарии (GH 3, GH 313).
Удалены некоторые экземпляры, в которых сокеты переставали отвечать на запросы.
Исправлены некоторые ошибки ptrace.
Исправлена проблема с WSL, и теперь можно использовать имена файлов длиннее 255 знаков.
Улучшена поддержка знаков языков, отличных от английского.
Добавление данных о текущем часовом поясе Windows и назначение его используемым по умолчанию.
Уникальный идентификатор устройства для каждой точки подключения (исправление JRE — GH 49).
Устранена ошибка с путями, содержащими . и .. (одну и две точки).
Добавлена поддержка FIFO (GH 71).
Обновлен формат resolv.conf в соответствии с собственным форматом Ubuntu.
Некоторая очистка procfs.
Включена проверка связи для консолей администратора (GH 18).
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
FALLOCATE EXECVE LGETXATTR FGETXATTR
Сборка 14342
Общие сведения о сборке Windows 14342 доступны в блоге о Windows.
Сведения о VolFs и DriveFs можно найти в блоге о WSL.
Фиксированный
Исправлена проблема с установкой, возникавшая, когда в имени пользователя Windows присутствовали знаки Юникода.
Теперь обходное решение для обновления apt-get с помощью udev, приведенное в разделе часто задаваемых вопросов, предоставляется по умолчанию при первом запуске.
Включены символические ссылки в каталогах DriveFs (/mnt/<drive>).
Теперь работают символические ссылки между DriveFs и VolFs.
Устранена проблема с анализом путей верхнего уровня. Теперь ls .// будет работать должным образом.
Теперь работает установка npm в DriveFs и параметры -g.
Обновлены значения среды по умолчанию, такие как $PATH, чтобы они больше соответствовали собственным переменным Ubuntu.
Добавлена еженедельная задача обслуживания в Windows для обновления кэша пакетов apt.
Исправлена проблема с проверкой заголовков ELF. Теперь WSL поддерживает все параметры Melkor.
Оболочка Zsh работает.
Теперь поддерживаются предварительно скомпилированные двоичные файлы Go.
Теперь запросы при первом запуске bash.exe локализованы правильно.
Теперь /proc/meminfo возвращает правильные сведения.
Сокеты теперь поддерживаются в VFS.
Теперь /dev подключен как tempfs.
FIFO теперь поддерживается.
Многоядерные системы теперь правильно отображаются в /proc/cpuinfo.
Дополнительные улучшения и сообщения об ошибках при скачивании во время первого запуска.
Усовершенствования и исправления системных вызовов. Список поддерживаемых системных вызовов приведен ниже.
Дополнительные исправления ошибок и усовершенствования.
Известные проблемы
Неправильное разрешение .. (две точки). в DriveFs в некоторых случаях.
Поддержка системных вызовов
Ниже приведен список новых или улучшенных системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
Общие сведения о сборке Windows 14332 доступны в блоге о Windows.
Фиксированный
Улучшенное создание resolv.conf, включая определение приоритета записей DNS.
Проблема с перемещением файлов и каталогов между дисками в /mnt и прочими дисками.
Теперь можно создавать TAR-файлы с помощью символических ссылок.
Добавлен каталог /run/lock по умолчанию, создаваемый при создании экземпляра.
Обновлен файл /dev/null для возврата правильных сведений stat.
Дополнительные ошибки при скачивании во время первого запуска.
Усовершенствования и исправления системных вызовов. Список поддерживаемых системных вызовов приведен ниже.
Дополнительные улучшения исправлений ошибок и усовершенствования.
Поддержка системных вызовов
Ниже приведен новый системный вызов, реализованный в WSL. Системный вызов в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут поддерживаться не все параметры.
READLINKAT
Сборка 14328
Общие сведения о сборке Windows 14332 доступны в блоге о Windows.
Новые возможности
Теперь поддерживаются пользователи Linux. При установке Bash для Ubuntu в Windows будет предложено создать пользователя Linux. Дополнительные сведения: https://aka.ms/wslusers
В качестве имени узла теперь указывается имя компьютера Windows, а не @localhost.
Улучшения symlink для файлов, отличных /mnt/<drive> от файлов
Теперь установка npm работает.
Теперь можно установить JDK или JRE с помощью этих инструкций.
Известная ошибка: символические ссылки не работали для подключений Windows. Эта функция будет доступна в последующей сборке.
Теперь отображаются top и htop.
Дополнительные сообщения об ошибке для некоторых сбоев при установке.
Усовершенствования и исправления системных вызовов. Список поддерживаемых системных вызовов приведен ниже.
Дополнительные улучшения исправлений ошибок и усовершенствования.
Поддержка системных вызовов
Ниже приведен список системных вызовов, которые реализованы в WSL. Системные вызовы в этом списке поддерживается по крайней мере в одном сценарии, но в настоящее время могут не поддерживаться все параметры.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о Windows Subsystem for Linux
Windows Subsystem for Linux — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
В этом модуле вы узнаете, как использовать подсистема Windows для Linux (WSL) с Visual Studio Code (VS Code). Мы рассмотрим процесс установки и основы использования WSL. Кроме того, мы устанавливаем и используем расширение WSL Visual Studio Code. Наконец, мы покажем, как отлаживать и запускать код Python в VS Code в нашей среде WSL.