Difference between revisions of "Install on WSL (简体中文)"

From ArchWiki
Jump to: navigation, search
(update Pkg/AUR templates)
(Tag: wiki-scripts)
(Update page.)
Line 2: Line 2:
 
[[ja:ArchWiki:アーカイブ]]
 
[[ja:ArchWiki:アーカイブ]]
 
[[ru:Install on WSL]]
 
[[ru:Install on WSL]]
{{TranslationStatus (简体中文)|Install on WSL|2017-11-05|494812 }}
+
{{TranslationStatus (简体中文)|Install on WSL|2017-11-05|494812}}
 
Windows 10 包含一个模拟 Linux 内核的子系统,使得 windows 可以运行 Linux 原生应用程序。这个子系统有点像反过来的 [[Wine]],但是它比 Wine 更加底层。默认情况下,此子系统使用 Ubuntu 用户空间,但是它可以被替换成 Arch。你需要使用一个现有的 Arch 安装去构建一些软件包,这篇说明基于[https://www.reddit.com/r/bashonubuntuonwindows/comments/5vnne8/howto_installing_arch_on_wsl_manually/ 这篇教程]。
 
Windows 10 包含一个模拟 Linux 内核的子系统,使得 windows 可以运行 Linux 原生应用程序。这个子系统有点像反过来的 [[Wine]],但是它比 Wine 更加底层。默认情况下,此子系统使用 Ubuntu 用户空间,但是它可以被替换成 Arch。你需要使用一个现有的 Arch 安装去构建一些软件包,这篇说明基于[https://www.reddit.com/r/bashonubuntuonwindows/comments/5vnne8/howto_installing_arch_on_wsl_manually/ 这篇教程]。
  
Line 12: Line 12:
  
 
如果你还没有使用过 Linux 子系统,请按照[https://msdn.microsoft.com/en-gb/commandline/wsl/install_guide 官方安装指南]进行安装。简单来说,需要启用位于 ''启用或关闭 Windows 功能'' 的适用于 Linux 的 Windows 子系统。
 
如果你还没有使用过 Linux 子系统,请按照[https://msdn.microsoft.com/en-gb/commandline/wsl/install_guide 官方安装指南]进行安装。简单来说,需要启用位于 ''启用或关闭 Windows 功能'' 的适用于 Linux 的 Windows 子系统。
 +
 +
安装 Windows 10 2017 年秋季创造者更新,这个版本解决了之前的一些问题,建议所有 WSL 都基于这个版本进行安装。
  
 
== 安装 ==
 
== 安装 ==
 
{{注意|如果你未安装 Windows 10 2017年秋季的创造者更新,你可以打开命令行,输入以下命令安装官方提供的 Ubuntu:
 
> lxrun /install /y
 
}}
 
  
 
在[https://www.microsoft.com/en-us/store/p/ubuntu/9nblggh4msv6 Windows 应用商店]安装 Ubuntu。
 
在[https://www.microsoft.com/en-us/store/p/ubuntu/9nblggh4msv6 Windows 应用商店]安装 Ubuntu。
 
{{注意|如果你未安装 Windows 10 2017年秋季的创造者更新, 使用 {{ic|%localappdata%\lxss\rootfs}} 代替 {{ic|%localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_*\LocalState\rootfs}}.}}
 
 
  
 
确保默认用户为 root:
 
确保默认用户为 root:
Line 44: Line 39:
 
然后从{{ic|rootfs\root\root.x86_64}}移动(不要复制)相同的文件到 {{ic|rootfs}}
 
然后从{{ic|rootfs\root\root.x86_64}}移动(不要复制)相同的文件到 {{ic|rootfs}}
  
使用一台Linux电脑构建 {{Aur|fakeroot-tcp}} 和 {{Aur|glibc-wsl}}{{Broken package link|package not found}}, 然后复制到你的 Windows 电脑。 ''glibc-wsl'' 用于解决 [https://github.com/Microsoft/BashOnWindows/issues/1878 这个bug][https://github.com/Microsoft/WSL/issues/1878#issuecomment-350322200 在17046后已被修复,因此不再需要])。而直到 System V IPC 被完全实现之前 ''fakeroot-tcp'' 都是必需的。 ([https://github.com/Microsoft/BashOnWindows/issues/1016 (详情请见)]
+
使用一台 Linux 电脑构建 {{Aur|fakeroot-tcp}}, 然后复制到 Windows 电脑。在 System V IPC 被完全实现之前 ''fakeroot-tcp'' 都是必需的。 ([https://github.com/Microsoft/BashOnWindows/issues/1016 (详情请见)]
 +
 
 +
之前的 Win10 版本需要安装 ''glibc-wsl'' 以解决 [https://github.com/Microsoft/BashOnWindows/issues/1878 这个bug][https://github.com/Microsoft/WSL/issues/1878#issuecomment-350322200 17046后已此问题已经被修复],因此不再需要。
  
 
再次打开Bash,开始安装Arch:
 
再次打开Bash,开始安装Arch:
 
  # pacman-key --init
 
  # pacman-key --init
 
  # pacman-key --populate archlinux
 
  # 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 -U /mnt/c/Users/''username''/Downloads/fakeroot-tcp-1.21-2-x86_64.pkg.tar.xz
 
  # pacman -Syyu base base-devel
 
  # pacman -Syyu base base-devel
Line 59: Line 55:
  
 
设置此用户为默认用户
 
设置此用户为默认用户
 
{{注意|如果未安装 Windows 10 2017年秋季的创造者更新, 使用这个命令: {{ic|lxrun /setdefaultuser ''username''}}}}
 
  
 
  > ubuntu config --default-user username
 
  > ubuntu config --default-user username

Revision as of 08:28, 6 February 2018

翻译状态: 本文是英文页面 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 年秋季创造者更新,这个版本解决了之前的一些问题,建议所有 WSL 都基于这个版本进行安装。

安装

Windows 应用商店安装 Ubuntu。

确保默认用户为 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-tcpAUR, 然后复制到 Windows 电脑。在 System V IPC 被完全实现之前 fakeroot-tcp 都是必需的。 ((详情请见)

之前的 Win10 版本需要安装 glibc-wsl 以解决 这个bug17046后已此问题已经被修复,因此不再需要。

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

# pacman-key --init
# pacman-key --populate archlinux
# 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

设置此用户为默认用户

> ubuntu config --default-user username