Windows Subsystem for Linux
2018年3月、Windows Subsystem for Linux (WSL)の仕組みによりWindows10で動作するDebian環境をインストールしました。
「Bash on Ubuntu on Windows」と呼ばれたベータ版のUbuntu環境が正式リリースしたので、まず最初にUbuntu環境をインストールしました。
2018年3月現在、以下のLinuxディストリビューションをインストールしてLinuxを実行することができます。
- Ubuntu
- OpenSUSE Leap 42
- SUSE Linux Enterprise Server 12
- Debian GNU/Linux
2018年3月7日に Debian on Windowsが登場してMicrosoft Storeから入手することができるようになりました。
私は、Raspberry Piを使用する機会が多く Raspbian (Debianをベース)を愛用しているので、Debian環境をインストールしました。
インストール方法
WindowsでLinuxをインストールするには、ふたつの手順で行います。
- 手順-1 WSLの有効化
- 手順-2 Linuxのインストール
手順-1 WSLの有効化
Ubuntuの説明と同じです。Windowsに対して有効化は一回のみ実施します。
【PowerShellコマンド実行でWSLを有効化】
PowerShellを管理者モードで起動して、下記コマンドを実行します。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
PC再起動のメッセージが表示されるので、再起動します。
手順-2 Linuxのインストール
Microsoft StoreからLinuxディストリビューションをダウンロードします。
Microsoft Storeのアイコンをクリックします。
検索窓に「Debian」と入力して検索します。
[入手]をクリックします。
ダウンロードを開始します。
ダウンロードが完了したら、[起動]をクリックします。
Debianが起動し、インストールを開始します。
ユーザー名を入力します。私は、ユーザー名 pi を登録しました。
パスワードを設定します。
Debianのインストールが完了しました。
最新版にアップデート
Debianを起動してバージョンを確認します。
$ uname -a Linux RZ82 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 GNU/Linux
$ cat /etc/debian_version 9.3
バージョンは、Debian 9.3 でした。最新版に更新します。
最初にパッケージ情報データベースのローカルキャッシュを最新状態に更新します。
sudo apt update
インストールしているパッケージを最新版に更新します。
sudo apt upgrade
再度バージョンを確認します。
$ uname -a Linux RZ82 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 GNU/Linux
$ cat /etc/debian_version 9.4
バージョンは、Debian 9.4 になりました。
インストール先は?
Windows Subsystem for Linux (Debian)は、どのディレクトリーにインストールされたでしょうか?
調べてみると、「C:\Users\pi\AppData\Local\Packages\TheDebianProject.DebianGNULinux_*\LocalState\rootfs」にルートファイルシステムがあります。
Windows側からDebian環境のファイルへの(追加/変更/削除)アクセスは禁止しています。もし、ファイルに書き込みした場合は、ファイルシステムが壊れてしまいますので注意が必要です。
逆に、Debian側からWindows環境のファイルへのアクセスは、Windowsファイルシステムを「/mnt/ドライブ名/」にマウントしていますので /mnt/c/ などでアクセス可能です。
DebianとWindowsの共有ディレクトリー
Debianで作業しているディレクトリーの内容をWindowsから参照・変更したいことがあります。indows側からDebian環境のファイルへの(追加/変更/削除)アクセスは禁止されています。そこで、作業ディレクトリーをWindows側にしたいと思います。
c:\Users\pi\MyHome をWindowsとDebianから共通でアクセスするディレクトリーにします。
$ pwd /home/pi $ cd /mnt/c/Users/pi $ sudo mkdir MyHome $ cd MyHome/
MyHome ディレクトリーを作成しました。
.bashrc の最後に、カレントディレクトリーを MyHome にするコマンドを入れます。
$ cd $ vi .bashrc cd /mnt/c/Users/pi/MyHome を最後に追加
次回ログインで /mnt/c/Users/pi/MyHome がカレントディレクトリーになります。
gccを使ってみる
gccを使用できるように開発ツールをインストールします。
sudo apt install build-essential
C言語で簡単なテストプログラムを書いて、ビルド&実行しました。
#include <stdio.h> main() { printf("Hellow \n"); }
プログラムをビルドします。
$ gcc hellow.c -o hellow
実行します。
$ ./hellow Hellow
最後に
2017年10月のWindows Updateで、Windows Subsystem for Linux (WSL)が正式リリースとなりました。そして、Microsoft StoreからUbuntuやDebianなどの Linuxディストリビューションがダウンロードできるようになりました。
Windowsに、UbuntuとDebianをインストールしました。スタートメニューにUbuntuとDebianが同居しています。
WindowsでLinuxが動作するという便利な時代となりました。WindowsとLinuxを連携した快適な環境を実現したいと考えています。