Windows Subsystem for Linux 環境整備その1
VMWareのUbuntuイメージが壊れたので、ちょうどよい機会とばかりに、Windows Subsystem for Linuxの環境を整えることにした。Windows 10 バージョン1607以降を前提とする。
機能有効化
次のサイトを参考にして、Windows Subsystem for Linuxを有効にする。
- 「Windows 機能の有効化または無効化」を開き、以下のように「Windows Subsystem for Linux (Beta)」にチェックを入れて OK を押下。
- 変更を反映のためにWindows 10を再起動
- スタートメニューの「設定」から「更新とセキュリティ」を選択し、左のメニューから「開発者向け」を選択し、「開発者モード」を選択。
- Windows 10のコマンドプロンプトを起動し、「bash」を実行。
- 初回起動時は Ubuntu のダウンロードが実行される。
- ダウンロード完了後に任意のユーザーアカウントの作成が求められるので設定。作成完了後に Ubuntu が起動し、Bash シェル上での操作が可能となるが終了させる。
- 終了前にcat /etc/os-releaseを実行してOSのバージョンを確認するべきだろう。
初期設定の変更
次のサイトを参考にして、初期設定を変更する。
qiita.com
配置・版・設定などを確かめる。
次のサイトを参考にして、いろいろと確かめてみる。
rcmdnk.github.io
- Bash on Ubuntu on Windows上で次のコマンドを実行してバージョンなどを確認
- エクスプローラーでファイルシステムを確認
- 先ず、エクスプローラーの「表示」タブにあるオプションを押下して、フォルダーオプションのダイアログを出現させる
- その中の「表示」タブを選び、「詳細設定」の最後の方にある「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外して適用ボタンを押下
- %USERPROFILE%\AppData\Local\lxssにrootfsやhomeがあることを確認
- %USERPROFILE%は大抵はC:\Users\
\AppData\Local\lxssになっていて、Windows 10を一人のユーザーで使っている場合はC:\Users\user\AppData\Local\lxssになっていることが多いだろう。 - %LocalAppData%\lxssとも表現されるが、同じことである。
- %USERPROFILE%は大抵はC:\Users\
- 確認できたら、「保護されたオペレーティングシステムファイルを表示しない(推奨)」をチェックして適用を押下
- そのままでもよい。
- 次のコマンドでメモリの利用状況を見てみる
- free -h を実行
- メモリが全て使えていない記述を散見するが、当方ではWindows 10が認識しているメモリ空間とほぼ同等の情報が表示された。8GBメモリ搭載PCであれば、memtotalが8GBを示すなど。
- free -h を実行
- Windows 10のファイルシステムへアクセスしてみる
sshd
とりあえず次のページに書いてあることを行えばクライアントから接続できる。
fftest33.blog.fc2.com
- 「Windows 管理ツール」の「サービス」でSSH Server BrokerとSSH Server Proxyを停止・無効に。
- 「Windows ファイアウォール」で新しい規則を選び、TCP port22を有効にする。
- bash上で
- 他の端末から接続できるか試してみる。
- よりセキュアにしたければ公開鍵と秘密鍵を生成して公開鍵を交換すればよい。
因みに、Windowsを再起動するなどして再びbashを起動したときにsshdに接続できなくなったときは、SSH Server BrokerとSSH Server Proxyが起動している可能性が高い。停止ではなく無効にするがよい。Bashでsshdが起動していないも関わらず、その二つが起動しているとssh接続をしているかのように錯覚するようなことがある。実際はパスワード/公開鍵認証などができなくて「おかしいぞ?!」ということになる。
その他
- rootユーザーになるには、su -i
- Bash on Ubuntu on Windowsを再構築するには、PowerShellもしくはコマンドプロンプトで下記のコマンドを順に実行
他の参考サイト:
ascii.jp
www.buildinsider.net
qiita.com
www.compnet.jp
mattn.kaoriya.net
qiita.com