Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

Windows Subsystem for Linux(WSL)で Linux (LinuC)を学習する方法

こんにちは、鯨井貴博@opensourcetechです。

 

今回は、Windowsに実装されている機能(WSL)を使って

Linux(LinuCなどの資格勉強もOK)を学習する方法を紹介します。

 

WSLとは?

「Windows Subsystem for Linux」の略で、

Windows上のプロセスとしてLinuxディストリビューションを動作させるものです。

docs.microsoft.com

 動作させるLinuxディストリビューションは、ストアから入手します。

f:id:opensourcetech:20180418015916p:plain

f:id:opensourcetech:20180418015921p:plain

 

「linux」などで検索すると表示される「WindowsでLinuxを実行する」がWSLになります。

f:id:opensourcetech:20180418015927p:plain

 

導入可能なLinuxディストリビューションは、現時点では以下のものとなりますが、

順次追加されていくのではないかと思います。

f:id:opensourcetech:20180418015931p:plain

 

Kali Linux

f:id:opensourcetech:20180418015935p:plain

f:id:opensourcetech:20180418015939p:plain

 

Debian GUI/Linux

f:id:opensourcetech:20180418015943p:plain

f:id:opensourcetech:20180418015947p:plain

 

SUSE Linux Enterprise Server 12

f:id:opensourcetech:20180418015951p:plain

f:id:opensourcetech:20180418015955p:plain

 

openSUSE Leap 42

f:id:opensourcetech:20180418015958p:plain

f:id:opensourcetech:20180418020002p:plain

 

Ubuntu

f:id:opensourcetech:20180418020006p:plain

f:id:opensourcetech:20180418020010p:plain

 

 

WSLインストールの準備

Windowsが最新の状態である必要があるため、Windows Updateを実施します。

 

f:id:opensourcetech:20180418020014p:plain

f:id:opensourcetech:20180418020018p:plain

f:id:opensourcetech:20180418020022p:plain

f:id:opensourcetech:20180418020026p:plain

f:id:opensourcetech:20180418020030p:plain

f:id:opensourcetech:20180418020034p:plain

 

 

WSL(各Linuxディストリビューション)のインストール

ストアからそれぞれのLinuxディストリビューションを選択して、購入とします。

※購入となってますが、お金を請求されることはないので大丈夫です。

f:id:opensourcetech:20180418020037p:plain

 

f:id:opensourcetech:20180418020045p:plain

f:id:opensourcetech:20180418020048p:plain

 

インストール後、起動します。

f:id:opensourcetech:20180418020054p:plain

 

なお、以下のようになった場合、

WSLの機能がWindowsで有効になっていない為、次の手順で有効化します。

f:id:opensourcetech:20180418020059p:plain

 

コントロールパネル > プログラム > Windowsの機能の有効化または無効化 にて、

Windows Subsystem for Linuxにチェックを入れ、

Windowsを再起動します。

f:id:opensourcetech:20180418020102p:plain

f:id:opensourcetech:20180418020105p:plain

f:id:opensourcetech:20180418020109p:plain

 

再起動完了後は、スタートメニューから追加したLinuxディストリビューションを起動できます。

f:id:opensourcetech:20180418020112p:plain

f:id:opensourcetech:20180418020116p:plain

 

以下の場合Kali Linuxが起動しており、

使い方は通常のKali LinuxをCLIで操作していているのと変わりません。

f:id:opensourcetech:20180418020120p:plain

 

Debian GNU/Linuxも同様です。

f:id:opensourcetech:20180418020123p:plain

f:id:opensourcetech:20180418020126p:plain

f:id:opensourcetech:20180418020130p:plain

 

Debian GNU/Linuxの場合は、

ユーザーアカウント(一般ユーザー)を作成する必要があります。

f:id:opensourcetech:20180418020133p:plain

f:id:opensourcetech:20180418020137p:plain

 

ユーザー作成後は、lsなどの各種コマンドやディレクトリ構造、シェルのファイルなどを実施して、Linux(LPICやLinuCなどの資格)の学習が出来ます。

f:id:opensourcetech:20180418020140p:plain

 

Webサーバ(Apache)のインストール・構築

各Linuxディストリビューションでは、パッケージインストーラー(apt-getなど)も使えますので、サーバパッケージをインストールできます。

sudo apt-get update(インストール関連情報を最新にする)

f:id:opensourcetech:20180418020144p:plain

sudo apt-get install apache2(apache2のインストール)

f:id:opensourcetech:20180418020148p:plain

dpkg -l | grep apache2(インストールパッケージの確認)

f:id:opensourcetech:20180418020151p:plain

sudo /etc/init.d/apache2 start(apache2の起動)

f:id:opensourcetech:20180418020155p:plain

設定ファイルは、/etc/apache2/apache2.confになります。

※後述する理由から、今回は「Linsten 8080」と使用するポート番号を変更しています。

また、apachectl configtestでコンフィグの構文チェックが出来、

ブラウザから「http://windowsのIPアドレス:8080」とすればデフォルトページが表示されます。

f:id:opensourcetech:20180418020158p:plain

 

なお、スタートメニューから以外も、

以下のような起動方法もあります。慣れるとこちらの方が早そうですね。

f:id:opensourcetech:20180418020201p:plain

f:id:opensourcetech:20180418020205p:plain

 

Apache2をポート番号8080で起動した理由

WSLを使ってサーバを構築する際にハマりそうなポイントですが、

WSLはあくまでもWindowsの1プロセスとして動作しているので、

Windowsの別プロセスが各ポートを使用している場合には、

サーバプログラムが使用ポートの重複から起動が出来ないので注意が必要です。

 

重複しているプログラムがある場合は、

コマンドプロンプトやタスクマネージャなどから確認が出来ます。

 

netstat -nao(該当ポートのプロセスのPIDがいくつか確認します)

※以下だと、PID 4

f:id:opensourcetech:20180418020208p:plain

 

調べたPIDのプロセス名を確認します。

※以下の場合、System(NT Kernel & System)となっており、IISやSkypeなどが該当します。

f:id:opensourcetech:20180418020210p:plain

 

Windowsの機能から、IIS(インターネットインフォメーションサービス)を無効化すれば、TCPポート 80が空き、WSLで使用可能になります。

f:id:opensourcetech:20180418020213p:plain

f:id:opensourcetech:20180418020216p:plain

f:id:opensourcetech:20180418020219p:plain

 

 

 

www.slideshare.net

github.com

www.facebook.com

twitter.com

www.instagram.com

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

 

Opensourcetech by Takahiro Kujirai