WSL にインストール

提供: ArchWiki
2017年9月30日 (土) 12:58時点におけるKusakata (トーク | 投稿記録)による版 (同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

Windows 10 には Linux カーネルのインターフェイスをエミュレートするサブシステムが搭載されており、通常の Linux アプリケーションを実行することができます。Wine と同じような仕組みですが、もっと低水準です。デフォルトでは Ubuntu のユーザー空間がセットアップされていますが、Arch に置き換えることが可能です。動作させるにはパッケージをビルドするための Arch 環境が必要です。このページの手順は こちらのガイド を基にしています。

準備

Windows 10 の creator's update が必要です。まだ Windows Subsystem for Linux を有効にしていない場合、こちら の手順に従って有効化してください。基本的に以下のように有効化します:

  • 設定 > 更新とセキュリティ > 開発者向け にある開発者モードを選択
  • Windows の機能の有効化または無効化 にある Windows Subsystem for Linux にチェック

既にインストールしている場合、以下のコマンドを使って既存環境を削除してください (重要なデータは先に保存してください):

> lxrun /uninstall /full /y

インストール

ノート: Windows ストア から Ubuntu をインストールすることもできますが、Windows Insider である必要があります (もしくは Fall Creators Update を導入済みであること)。詳しくは [1] を参照。

コマンドプロンプトを開いて公式の 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-tcpAURglibc-wslAUR をビルドしたら Windows PC にパッケージをコピーしてください。glibc-wslAUR をビルドするときは makepkg--nocheck を使うことで時間のかかるテストをスキップすることができます。

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