Bash on Windows: Bash on SUSE on Windowsについて

Windows Subsystem for LinuxでOpenSUSE Leap 42.2のルートファイルシステムを利用する手順を記載します。

1 インストール方法

Windows Subsystem for Linuxを有効にしてからBash on Ubuntu on Windowsを最初にインストールしてから、ルートファイルシステムをOpenSUSEのものに変更します。

  • こちらの手順でWindows Subsystem for Linuxを有効にし、Bash on Ubuntu on Windowsをインストールします。
  • こちらの手順でBash on SUSE on Windowsをインストールします。

上記の手順が完了するとOpenSUSEのルートファイルシステム上でrootユーザのbashが起動できるようになります。

2 ユーザの追加

bash.exeのユーザをrootに変更してbash.exeを起動します。

C:\Users\hiroom2\AppData\Local\lxss>lxrun /setdefaultuser root
C:\Users\hiroom2\AppData\Local\lxss>bash

新規ユーザを追加するだけではzypperなどのprivilegeな操作ができません。rootのパスワードを設定するか、sudoを利用する必要があります。この記事ではsudoを利用します。

sudoをインストールしてwheelグループのコメントアウトを解除します。

# zypper -n in sudo
# sed -e 's/# \(%wheel.*NOPASSWD:.*\)/\1/g' -i /etc/sudoers

visudoを使う場合はエディタをインストールします。

# zypper -n in nano
# EDITOR=nano visudo # vi does not need EDITOR.

新規ユーザを追加します。

# useradd hiroom2
# passwd hiroom2
New password:
Retype new password:
# gpasswd -a hiroom2 wheel

bashを終了します。

# exit

bash.exeのユーザを追加したユーザに変更してbash.exeを起動します。

C:\Users\hiroom2\AppData\Local\lxss>lxrun /setdefaultuser hiroom2
C:\Users\hiroom2\AppData\Local\lxss>bash
$ # This is added user bash.

3 sshサーバを起動する

D-BUSが動作しないのでsystemctlは使うことはできません。直にコマンドを実行する必要があります。

$ sudo zypper -n in openssh
$ sudo /usr/sbin/sshd-gen-keys-start
$ sudo /usr/sbin/sshd -D &