WSL にインストール
Windows 10 には Linux カーネルのインターフェイスをエミュレートするサブシステムが搭載されており、通常の Linux アプリケーションを実行することができます。Wine と同じような仕組みですが、もっと低水準です。デフォルトでは Ubuntu のユーザー空間がセットアップされていますが、Arch に置き換えることが可能です。動作させるにはパッケージをビルドするための Arch 環境が必要です。このページの手順は こちらのガイド を基にしています。
準備
Windows 10 の creator's update が必要です。まだ Windows Subsystem for Linux を有効にしていない場合、こちら の手順に従って有効化してください。基本的に以下のように有効化します:
- 設定 > 更新とセキュリティ > 開発者向け にある開発者モードを選択
- Windows の機能の有効化または無効化 にある Windows Subsystem for Linux (beta) にチェック
既にインストールしている場合、以下のコマンドを使って既存環境を削除してください (重要なデータは先に保存してください):
> lxrun /uninstall /full /y
インストール
コマンドプロンプトを開いて公式の Ubuntu をインストール:
> lxrun /install /y
bash を起動:
> bash ~
Arch のブートストラップ .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 エクスプローラで C:\Users\username\AppData\Local\lxss\rootfs
を開いて bin
, etc
, lib
, lib64
, sbin
, usr
, var
を削除してください。
そして上記と同じフォルダを C:\Users\username\AppData\Local\lxss\root\root.x86_64
から C:\Users\username\AppData\Local\lxss\rootfs
に移動してください (コピーでは駄目です)。
Linux コンピュータを使って fakeroot-tcpAUR と glibc-wslAUR をビルドしたら Windows PC にパッケージをコピーしてください。glibc-wsl には このバグ に対応する修正が含まれており、fakeroot-tcp は WSL によって System V IPC が完全に実装されるまで必要です (こちら を参照)。WSL のバグが修正されればこの手順は不要になります。
再度 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 コマンドプロンプトで以下のコマンドを実行することでユーザーをデフォルトに設定できます:
> lxrun /setdefaultuser username