Install on WSL (简体中文)

From ArchWiki
Jump to: navigation, search
翻译状态: 本文是英文页面 Install on WSL翻译,最后翻译时间:2017-11-05,点击这里可以查看翻译后英文页面的改动。

Windows 10 包含一个模拟 Linux 内核的子系统,使得 windows 可以运行 Linux 原生应用程序。这个子系统有点像反过来的 Wine,但是它比 Wine 更加底层。默认情况下,此子系统使用 Ubuntu 用户空间,但是它可以被替换成 Arch。你需要使用一个现有的 Arch 安装去构建一些软件包,这篇说明基于这篇教程

准备

注意: 如果你在2017年秋季的创造者更新前已经使用WSL,首先从命令提示符卸载它(你可能需要先保存一些数据):
> lxrun /uninstall /full /y

如果你还没有使用过 Linux 子系统,请按照官方安装指南进行安装。简单来说,需要启用位于 启用或关闭 Windows 功能 的适用于 Linux 的 Windows 子系统。

安装

注意: 如果你未安装 Windows 10 2017年秋季的创造者更新,你可以打开命令行,输入以下命令安装官方提供的 Ubuntu:
> lxrun /install /y

Windows 应用商店安装 Ubuntu。

注意: 如果你未安装 Windows 10 2017年秋季的创造者更新, 使用 %localappdata%\lxss\rootfs 代替 %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_*\LocalState\rootfs.


确保默认用户为 root:

> ubuntu config --default-user root

从开始菜单打开 Ubuntu。

Arch Linux Downloads 下载 Arch bootstrap .tar.gz 然后解压:

$ 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

$ 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-tcpAURglibc-wslAUR, 然后复制到你的 Windows 电脑。 glibc-wsl 用于解决 这个bug在17046后已被修复,因此不再需要)。而直到 System V IPC 被完全实现之前 fakeroot-tcp 都是必需的。 ((详情请见)

再次打开Bash,开始安装Arch:

# pacman-key --init
# pacman-key --populate archlinux
# pacman -U /mnt/c/Users/username/Downloads/glibc-wsl-2.25-2-x86_64.pkg.tar.xz
# pacman -U /mnt/c/Users/username/Downloads/fakeroot-tcp-1.21-2-x86_64.pkg.tar.xz
# pacman -Syyu base base-devel

设置用户 (不需要和 Windows 用户名相同):

# useradd -m -G wheel -s /bin/bash username
# passwd root
# passwd username

设置此用户为默认用户

注意: 如果未安装 Windows 10 2017年秋季的创造者更新, 使用这个命令: lxrun /setdefaultuser username
> ubuntu config --default-user username