目次
WSLを導入するメリット
WSLは全てのLinux上のソフトウェアを動かせるようになるわけではありませんが、bashやコマンドラインツール(find,sed,grepなど)、スクリプト(Ruby,Pythonなど)を使えるようになるので、ファイルのgrep一括置換や、大容量ファイル一覧表作成など、Windows上からLinuxコマンドで実行できるようになります。
powershellでも出来るじゃんという話もありますが、powershellよりもLinuxのほうが意識が高いのでLinuxを入れます。
例:windows上のディスク容量を圧迫する大きなファイルを探したい場合。
ディレクトリの下で、10M以上のファイルの一覧をファイルサイズの降順でリスト化して取得する。
1 2 3 4 5 6 7 |
uchi@CP747755-01:/mnt/c/Users/uchi/Documents/geekfeed$ find ./ -size +100M | xargs ls -l |sort -rn -k 5 -rwxrwxrwx 1 uchi uchi 4470079488 10月 15 2018 ./CentOS-7-x86_64-DVD-1804.iso -rwxrwxrwx 1 uchi uchi 3991928832 2月 8 14:56 ./CentOS-6.10-x86_64-bin-DVD1.iso -rwxrwxrwx 1 uchi uchi 1324351488 8月 25 2018 ./issabel4-USB-DVD-x86_64-20180102.iso -rwxrwxrwx 1 uchi uchi 728922112 12月 11 13:13 ./ubcd538.iso -rwxrwxrwx 1 uchi uchi 146861984 1月 18 15:54 ./jdk-7u79-windows-x64.exe -rwxrwxrwx 1 uchi uchi 138762248 2月 21 17:46 ./VMware-player-15.0.2-10952284.exe |
例:言語ファイルの一括置換翻訳
ディレクトリ配下にあるphpの言語ファイルで’Save’という英語訳を全て’保存’という日本語訳に置換する。
1 |
grep -l 'Save'\' *.php | xargs sed -i.bak -e "s/'Save'/'保存'/g" |
導入手順
WSLを有効化
コントロールパネルから有効化する方法もありますが、ここは意識高くpowershellからコマンドで有効化します。
Cortana検索ボックスにpowershellと入力すると、Windows Poershellデスクトップアプリが表示されるので、右クリックから管理者権限で、起動します。
1 |
powershell |
起動したpowershellで以下コマンドを入力します。
1 |
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
実行後に以下、「この操作を完了するために、今すぐコンピューターを再起動しますか?」と表示されます。
WSLを有効化するには再起動が必要になりますので、準備が整い次第「Y」もしくは「Yes」
と入力し、再起動を行ってください。
再起動後にWSLが有効になったかどうかの確認をしたい場合は、同様にpowershellを管理者権限で起動した後に以下コマンドを実行して、
「State」が「Enabled」となっていれば、OKです。
1 |
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
Kali Linuxインストール
2019年5月現時点でMicrosoft Storeから無料でインストールできるLinuxは
- Ubuntu
- openSUSE
- SUSE Linux Enterprise Server
- Kali Linux
- Debian
とありますが、ここではハッカーに人気で最も意識の高いKali Linuxを選択します。
以下URIスキームから直接StoreのKali Linuxページリンクを開いて、意識高くインストールします。
Kali Linux
ちなみにストアのKali Linuxページを開くURLスキームは以下です。
1 |
ms-windows-store://review/?ProductId=9PKR34TNCV07 |
意識低い方法になってしまいますが、Microsoft Storeを起動して、検索窓にKali Linuxと入れて検索して、
インストールすることも可能です。。
Kali Linux初期設定
ユーザー名とパスワード設定
ユーザー名とパスワードを入力する初期設定画面が表示されるので、任意のユーザー名とパスワードを入力すれば、
インストールと初期設定完了です。
最新版にアップデート
インストールしたKali Linuxを最新版にします。
最新版にするにはroot権限が必要です。
Kali Linuxでrootになるには、先ほど設定したパスワードでsudoします。
1 |
sudo su |
最新版にするために以下コマンドを順に実行します。
1 2 |
apt-get update apt-get dist-upgrade |
dist-upgrade途中で、以下画面が表示され、アップグレード最中に無断でサービスを再起動していいか聞かれます、Windowsや、Kali自体が再起動されるわけではないので、「Yes」を選んで時間短縮しましょう。
日本語環境設定
Kali Linuxインストール後のデフォルトのロケールはen_US.UTF-8,タイムゾーンはDSTになっているので、
ロケールはja_JP.UTF-8に、タイムゾーンはJSTに変更します。
タイムゾーン&ロケール変更前:
root@CP747755-01:/home/uchi# date
Sat 04 May 2019 08:30:11 AM DST
タイムゾーン変更
1 |
dpkg-reconfigure tzdata |
を実行し、Azia->Tokyoの順に選択します。
ロケール変更
1 2 |
apt-get install locales update-locale LANG=ja_JP.UTF-8 |
一度kaliからログアウトし、kaliコマンドからシェルを起動しなおすと、
タイムゾーン、ロケールともに変更されてます。
タイムゾーン&ロケール変更後:
root@CP747755-01:/home/uchi# date
2019年 5月 4日 土曜日 08:37:39 JST
ついでにman本体と日本語manが入ってないので入れておきましょう。
1 |
apt-get install man manpages-ja manpages-ja-dev |
metasploit-frameworkのインストール
metasploit-frameworkは、ペネトレーションテストでexploitコードの作成と実行を行うためのフレームワークです。
通常のKali Linuxには標準でインストールされているmetasploit-frameworkがWSLにはインストールされてないので、せっかくなのでインストールします。
ウィルススキャンソフトを使用していると、反応しまくりますので、Kali Linuxが配置されているフォルダをウィルススキャンソフトの対象外にするなり、対策をしましょう、こちらはセキュリティリスクになりますので自己責任でお願いします。
ちなみに、Windows上から見たKali Linuxの/ルートディレクトリは
1 |
C:\Users\<ユーザー名>\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState\rootfs |
です。
インストール
1 |
apt-get install metasploit-framework |
Kali Linuxの使い方
起動:Cortana窓に「kali」と入力してエンターをおすとkaliのbashプロンプトが起動します。
1 |
kali |
Windows上のCドライブに移動:Cドライブは、/mnt/cにマウントされています。
1 |
cd /mnt/c |
Kali linuxをインストールする方法まとめ
以上で、Windowsから通常のLinuxコマンドが実行できるようになりました。
Windowsのドライブがデフォルトでマウントされている状態なので、Windows上のファイル操作をLinuxコマンドを使って行えるという点が特に便利ですね。
WSLを利用した応用パターンを以降の回に紹介したいと思います。
あわせて読みたい
- 2023年ギークフィードが評価されて表彰されたことの振り返りとアピール - 2023-12-24
- Linuxコンソールで、本番、ステージング、テスト環境を混同しないための4つの工夫 - 2023-09-13
- Amazon Linux 2023を触ってみて質問がありそうなことをまとめてみました。 - 2023-03-22
- AmazonLinux3じゃなくってAmazon Linux 2022 (AL2022) だってさ。 - 2022-01-31
- 【祝:月間PV6万越え】2021年のギークブログ大賞を発表します。 - 2022-01-10