在 WSL 中安装 Arch Linux
安装
在 Windows 应用商店 安装 Ubuntu。
确保默认用户为 root:
1 | ubuntu config --default-user root |
从开始菜单打开 Ubuntu。
从 Arch Linux Downloads 下载 Arch bootstrap .tar.gz 然后解压:
1 | tar -zxvf /mnt/c/Users/username/Downloads/archlinux-bootstrap-2017.06.01-x86_64.tar.gz |
在~/root.x86_64/etc/pacman.d/mirrorlist
文件中,选择需要的服务器,取消注释。
让 WSL 自动生成 /etc/resolv.conf:
1 | echo "# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line." > ~/root.x86_64/etc/resolv.conf |
退出所有打开的 Bash 命令行窗口。
在 Windows 资源管理器中打开 %localappdata%\Packages,并找到 CanonicalGroupLimited.UbuntuonWindows_* (其中, * 表示随机字符串 )。在 %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_*\LocalState\rootfs 中删除 bin, etc, lib, lib64, sbin, usr and var.
然后从rootfs\root\root.x86_64移动(不要复制)相同的文件到 rootfs
使用一台 Linux 电脑构建 fakeroot-tcp, 然后复制到 Windows 电脑。在 System V IPC 被完全实现之前 fakeroot-tcp 都是必需的。 (详情请见)。
github上有预编译的pkg文件,可以直接使用: 预编译的fakeroot-tcp包
(x86_64的1.23版本直接下载: fakeroot-tcp-1.22-1-x86_64.pkg.tar.xz)
再次打开Bash,开始安装Arch:
1 | pacman-key --init |
注意在base中取消fake-root
的安装(与fake-root-tcp有冲突
,wsl不支持fakeroot,因此需要用fakeroot-tcp替代)
基本设置
设置用户 (不需要和 Windows 用户名相同):
1 | useradd -m -G wheel -s /bin/bash username |
设置此用户为默认用户
1 | ubuntu config --default-user username |
完成以后还需要进行locale的设置,编辑/etc/locale.gen
文件,取消注释需要的语言(如zh_CN.UTF-8 UTF-8),然后执行:
1 | locale-gen |
附录
LxRunOffline 对安装提供了更加优雅的方式,可以不通过替换rootfs的方式来进行arch的安装,限于篇幅不做介绍。