way-zer / way-zer.github.com

0 stars 0 forks source link

安装ArchWSL (Windows 下的Archlinux子系统) #2

Open way-zer opened 4 years ago

way-zer commented 4 years ago

转载请注明出处

简介

WSL是Windows 10的一个新功能,可以快速在windows下建立linux环境,且比虚拟机启动和运行更快 项目链接

局限性

目前WSL还有某些功能局限

基础安装

首先需要开启WSL功能

  1. 控制面板->程序->程序和功能->启动或关闭Windows功能,勾选适用于Linux的Windows子系统 安装图
  2. 安装ArchWSL 2.1 从Windows商店安装 较为快捷,如未修改,可能会安装在C盘 直接在商店搜索Archlinux即可 2.2 使用Zip版本安装 方便管理,甚至可以便携 在https://github.com/yuk7/ArchWSL/releases/latest中下载zip文件,解压到想安装的目录 运行Arch.exe来生成rootfs文件夹并且注册到WSL
  3. 初始化软件包系统,并更新 在搜索栏搜索wsl.exe打开终端(第一次打开可能略慢)
    pacman-key --init
    pacman-key --populate archlinux
    pacman -Syyu base base-devel #该操作较慢,可以先进行下方的更换镜像站

    额外配置过程(根据需要选择)

  4. 建立非root账号并设为默认
    useradd -m -G wheel -s /bin/bash username
    passwd root
    passwd username
    # 退出终端,打开一个CMD(Or powershell)窗口
    wsl config --default-user username
  5. 更换镜像站 更换镜像站可以使我们能快速安装软件包 此处使用清华镜像站

    编辑 /etc/pacman.d/mirrorlist, 在文件的最顶端添加: Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch 更新软件包缓存:# sudo pacman -Syy

  6. 安装ArchlinuxCN仓库 ArchlinuxCN从AUR选了些常用软件包,预编译好,给我们使用(例如IDEA等) 此处同样使用了清华的镜像站

    使用方法:在 /etc/pacman.conf 文件末尾添加以下两行:

    [archlinuxcn]
    Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

    之后安装 archlinuxcn-keyring 包导入 GPG key。 # pacman -S archlinuxcn-keyring

  7. 美化终端,安装Oh-my-zsh
    pacman -S zsh oh-my-zsh-git #需要ArchlinuxCN
    cp /usr/share/oh-my-zsh/zshrc ~/.zshrc
    chsh -s /bin/zsh #设置默认终端
    vim .zshrc #可选
  8. 安装图形界面(可选) 在windows上安装VcXsrv,并在linux配置环境变量DISPLAY=:0
    echo "export DISPLAY=:0" >> .bzshrc #WSL2与此不同

    此处只配置了图形显示(可以运行图形程序了),如需图形界面,请自行选择安装

  9. 关闭Windows PATH(让TAB不再卡顿)
    echo "[interop]" > /etc/wsl.conf
    echo "appendWindowsPath=false" >> /etc/wsl.conf
  10. 安装yaourt使用AUR AUR为用户软件仓库,有大量用户分享的软件包(未经审核,注意安全) 需要自己下载编译,此处使用yaourt来简化安装AUR步骤 注意: AUR编译不允许使用root (安全原因)
    pacman -S yaourt # archlinuxcn源
  11. 未完待续

WSL2相关安装

WSL2 需要win10 18917(20H1)或以上版本

安装步骤(见 https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install)

  1. 开启WSL2

    以管理员身份打开 PowerShell 并运行:

    Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  2. 转换WSL1为WSL2 ···wsl --set-version 2或先执行wsl --set-default-version 2```再安装发行版

    WSL2与WSL1不同说明

    WSL2 采用了轻型虚拟机架构(兼容性更好,比虚拟机快)

    • WSL2不与host共享ip,有自己单独的ip,外网不能直接访问(端口映射见下)
    • WSL2有完整linux内核,可以使用Docker等软件
    • WSL2根目录采用vhdx+ext4,速度更快,但访问windows挂载目录会变慢
    • Windows下可以通过\\wsl$\Arch\访问WSL2根目录 此处内核仍为WSL版本,但可以通过技巧使用Systemd(见下)

      WSL2额外步骤(可选)

      未完待续

way-zer commented 4 years ago

一个好(坏)消息,我的wsl被我玩坏了,我将在这记录安装配置的全过程(具体含义见上面)

pacman-key --init
pacman-key --populate archlinux
echo "Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist
echo "[archlinuxcn]" >>/etc/pacman.conf 
echo "Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/\$arch" >> /etc/pacman.conf
pacman -Syyu base base-devel archlinuxcn-keyring
pacman -S zsh oh-my-zsh-git
cp /usr/share/oh-my-zsh/zshrc ~/.zshrc
chsh -s /bin/zsh
vim .zshrc # 可选, 相关zsh配置
echo "export DISPLAY=\$(cat /etc/resolv.conf | grep nameserver | awk '{print \$2}'):0" > .profile #我是WSL2
vim .zshrc # 前面添加'source .profile' 
echo "[interop]" > /etc/wsl.conf
echo "appendWindowsPath=false" >> /etc/wsl.conf
pacman -S yaourt
yaourt -S intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre #IDE啦!我自己的需求