Wsl相关

Posted by Nabla CFD的博客 on November 2, 2017

WSL相关

WSL正式版已经发布,可在win商店中安装和卸载,并且安装路径已经更新。 WSL office website

Find installed directory (通过store安装的distros都在这个目录下C:\Users\Qiang\AppData\Local\Packages>),例如可以通过以下命令找到: ubuntu: echo ($env:LOCALAPPDATA + ‘\Packages' + ($(get-appxpackage).PackageFamilyName|findstr UbuntuonWindows)) | cd SUSE: echo ($env:LOCALAPPDATA + ‘\Packages' + ($(get-appxpackage).PackageFamilyName|findstr SUSE)) cd LocalState\rootfs

一些基本命令:

PS C:\> wslconfig /?

在 Linux Windows 子系统上执行管理操作


用法:

    /l, /list [/all] - 列出已注册的分发内容。
        /all - 有选择地列出所有分发内容,包括目前
               正安装或未安装的分发内容。
    /s, /setdefault <DistributionName> - 将指定的分发内容设置为默认值。
    /u, /unregister <DistributionName> - 注销分发内容。


`wslconfig.exe /l`  List installed Linux distros, for the whole command is `wslconfig /list /all`
>wslconfig /list /all
Windows Subsystem for Linux Distributions:
Legacy (Default)
Ubuntu

make sure the legacy distro is the default one: 
`wslconfig /s legacy`

set default user for the legacy distro to root: 
`lxrun /setdefaultuser root`

delete/rename folder: %localappdata%\lxss\temp

sudo apt install dbus-x11

在Windows上用管理员权限打开 CMD 或者 PowerShell(win+x,A) 修改默认登录用户为 root : lxrun /setdefaultuser root 现在登录打开 WSL 直接就是 root 登录,并不需要密码 使用 passwd 命令修改用户密码 passwd your_username 将默认登录用户由 root 修改回普通用户 lxrun /setdefaultuser your_username

  1. WSL Release Notes for Each Insider Build 包含每次发布修复的bug,新增的功能(包括新实现了哪些syscall),还有LTP的测试结果。

  2. WSL团队的blog 对一些重要的功能会有详细介绍,部分会解释实现方式/原理

  3. WSL issue tracker 用户反馈的各种bug和建议,可以看到哪些解决了、哪些没解决、哪些解决了但还没发布,一些还没解决的问题可能会有人提供workaround

  4. User voice about CMD/WSL/Console

  5. How to install WSL into Windows Server

  6. WSL API


20171124

Install ArchLinux into WSL

(1) At first, go to ArchLinux Download page, Choose the latest version and ownload the ISO file.

(2) Mount the iso file and extract the SquashFS file named AIROOTFS.SFS in \ARCH\X86_64\ folder. For example: Enter bash.exe, install squashfs-tools with apt-get, run ‘sudo unsquashfs /path/to/airootfs.sfs’ in /root, ‘cd squashfs-root/’ and ‘sudo tar -czf ../ArchLinux.tar.gz *’

(3) move ArchLinux.tar.gz into LxRunOffline.exe dir, then in CMD run ‘LxRunOffline.exe install -n archLinux -f ArchLinux.tar.gz -d d:\archlinux’

(4) ‘LxRunOffline.exe list’ and ‘LxRunOffline.exe default -n archLinux’, then ‘wsl’ into archLinux bash as root user, ‘useradd user1, passwd user1, id user1, cd /home, mkdir user1’ to create user1, set password, obtain UID and build the home dir of user1. finally, change default user from root to user1: ‘LxRunOffline.exe config-uid -n archLinux -v 1000’. Need note: root’s UID is 0.

现在的主要问题时不能上网。