WSL:Windows Subsystem for Linux

WSL:Windows Subsystem for Linux

学习文档(待更新)

WSL1 的支持

文档:WSL Linux 子系统,完整实操 - 知乎 (zhihu.com)

  1. 开启 WSL 支持

    按 Win+X,找到 Windows PowerShell (管理员),并复制执行命令。

    # 该命令会激活WSL服务,然后需要重启系统
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  2. 安装 WSL 发行版

    在 Windows 应用商店搜索 ubuntu ,选择自己喜欢的版本,安装即可。

    在这里插入图片描述

    下载,安装之后,第一次打开会初始化一会;

    然后设置个用户名,密码。

  3. apt 换源

    sudo apt 是 Linux 操作系统中一个用于管理软件包的高级命令。

    换源地址: ubuntu | 清华大学开源软件镜像站

    # 执行下面命令,备份 apt 安装源
    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
    # vim 编辑 sources.list
    $ sudo vim /etc/apt/sources.list
    

    sources.list 中的替换内容由换源地址提供。

  4. 更新软件

    # 更新软件源中的所有软件列表
    $ sudo apt-get update
    
    # 更新软件
    $ sudo apt-get upgrade
    
  5. 配置 SSH 服务器

    # 停止ssh服务
    $ sudo service ssh stop
    
    # 移除 openssh-server
    $ sudo apt purge openssh-server
    
    # 下载 openssh-server
    $ sudo apt install openssh-server
    

    然后需要配置 /etc/ssh/sshd_config,用 sudo 权限运行 vim 修改如下三个关键字

    Port 22
    # 这两行允许了 root 账户和密码登录
    PermitRootLogin yes
    PasswordAuthentication yes
    
    # 重启 ssh 服务
    $ sudo service ssh restart
    
    # 查看 ssh 服务状态
    $ sudo service ssh status
    
    # 设置密码
    $ sudo passwd root
    

WSL2 的支持

  1. 启用 “虚拟机平台” 可选组件

    # 以管理员身份运行 PowerShell
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    

    重启计算机,以更新配置

  2. WSL 2 设置为默认版本

    # WSL 提供了版本转换工具,将 wsl1 转为 wsl2
    wsl --set-version Ubuntu-22.04 2
    
    # 将 WSL2 设置为默认版本
    wsl --set-default-version 2
    
    # 查看结果
    wsl -l -v
    

常用指令

  • 软件包管理

    # 下载软件包
    $ sudo apt-get install <package>
    
    # 卸载软件包
    $ sudo apt purge <package>
    

常用服务

  • ssh

    # 停止ssh服务
    $ sudo service ssh stop
    
    # 移除 openssh-server
    $ sudo apt purge openssh-server
    
    # 下载 openssh-server
    $ sudo apt install openssh-server
    

    然后需要配置 /etc/ssh/sshd_config,用 sudo 权限运行 vim 修改如下三个关键字

    $ sudo vim /etc/ssh/sshd_config
    
    Port 22
    # 这两行允许了 root 账户和密码登录
    PermitRootLogin yes
    PasswordAuthentication yes
    
    # 重启 ssh 服务
    $ sudo service ssh restart
    
    # 查看 ssh 服务状态
    $ sudo service ssh status
    
    # 设置密码
    $ sudo passwd root
    
  • docker

    # 安装docker
    $ curl -skSL https://mirror.azure.cn/repo/install-docker-ce.sh | sh -s -- --mirror AzureChinaCloud
    
    # 启动Docker
    $ sudo service docker start
    
    # 产看Docker版本
    $ sudo docker version
    

    sudo usermod -aG docker shaw 是一个 Linux 命令,用于修改用户权限。这个命令的作用是将用户 Shaw 添加到名为 “docker” 的用户组中。
    命令的各个参数解释如下:
    sudo:表示以超级用户权限运行此命令。在使用此命令时,需要输入当前用户的密码。
    usermod:用于修改用户信息的命令。
    -a:表示添加用户到指定组,这里是添加用户 Shaw 到 docker 组。
    -G:表示更改组,将用户 Shaw 的所属组更改为 docker。
    总之,这个命令将把用户 Shaw 添加到 docker 组,使得 Shaw 可以使用 docker 相关的功能和命令。在执行此命令后, Shaw 无需使用 sudo 即可执行 docker 命令。

Windows和Linux之间的文件操作

  • Windows访问Linux文件

    通过 \\wsl$ 访问 Linux 文件时将使用 WSL 分发版的默认用户。因此,任何访问 Linux 文件的 Windows 应用都具有与默认用户相同的权限。

  • Linux访问Windows文件

    在从 WSL 访问 Windows 文件时,可以直接使用/mnt/{Windows盘符}进入对应的盘中。

    $ cd /mnt/c
    

FAQ

1. WSL登录失败:未授权用户再次计算机上的请求登录类型

解决方法:

# 重启虚拟机
Get-Service vmcompute | Restart-Service

2. 让外界访问wsl中运行的docker镜像服务

以管理员权限运行:

netsh interface portproxy add v4tov4 listenaddress=<host_ip> listenport=8081 connectaddress=<ubuntu_ip> connectport=8081

3. WSL 设置默认用户

# /etc/wsl.conf
##############################################
[boot]
# 启用systemctl命令
systemd=true

[network]
# 设置虚拟主机的名称,可不设
hostname = ubuntu

[user]
# 启动的默认用户,设为root吧,不然以后命令都要加sudo有点麻烦
default = root
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值