WSL2を試すために調べました
Windows Subsystem for Linux
これが、WSLと略されます。
Windowsの話です。
下記の記事で、実際に準備をした記録をまとめています。
作業をしていくと、
「へ~、こんな方法があるんだ。」
「そうだったのか・・!」
と躓くと調べます。全部まとめた一つの記事にしていたのですが・・。
分かり辛かったので、分割しました。
雑談
どうしてもDockerを使いたかった過去の私は、 VirtualBox + Vagrant を使ってました(Vagrantfileに、起動時dockerインストールとかも)。でも、起動が遅い…。
あと、細かなバージョンの差異が本当に嫌…。うまく動かない時もあった…。
ちなみに、VirtualBox + Vagrant は良いですよ。
他の人も同じ環境を手っ取り早く準備してもらうなら・・。今回は、
私「Docker が使いたかっただけなんです。」
??「Windows10 Home だとHyper-V 使えないので、Proにする?」
私「ちょっと値段が高くなるので、無理です!!」
そう、docker だけが欲しかったんです。
そして選択肢として、お金かかるなら諦める!というのが私です…。
そんな時にWSL2 で…というのを見つけて、試したくなりました。
ちょうど今作成しているものも、実際のDBに接続してテストしないとリリースできないな…と思っていたので、タイミングとしては丁度良い。
Docker Desktop は意地でも入れません!!
※ 使う容量も最小限にしたい人間だからです。コマンド叩くか、シェル準備すれば良いじゃん派・・。
実際に方法を調べていく中で、色々な手順と遭遇しました。
その時見つけたものをそのままなかったことにするのは、何だかもったいないので、それをまとめていきます。
『Windows の機能』 を開く 方法
【コントロールパネル経由】
1-1-1. Win + R
1-1-2. control を入力してOK(『コントロールパネル』を開く)
1-1-3. プログラム を選択
1-1-4. プログラムと機能 を選択
1-1-5. Windows の機能の有効化または無効化 を選択
【設定経由】
1-1-1. Win + X ⇒ Win + N(『設定』を開く)
1-1-2. 「設定の検索」に、「windows の機能」を入力して、Windows の機能の有効化または無効化 を選択
・「Windows Subsystem for Linux」もしくは、
「Linux 用 Windows サブシステム」 を探して、チェック
色々なサイトでは、英語のみを見ることが多かったですが、
ただ単に 名称が翻訳されたもので、同じものとのことです。
※ WSL をコマンドで一気に有効化する 方法
『Windowsの機能』を開く必要はなく、
PowerShell を管理者権限で起動して、下記実行だけでもOKらしい。
再起動は必要とのこと。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Linux環境を選んで準備する
【Microsoft Store経由の場合】
・WSL で調べて、好きなのをポチポチっとダウンロード
【手動の場合】
・https://docs.microsoft.com/ja-jp/windows/wsl/install-manual
・好きなものを選んで、ダウンロード
・Add-AppxPackage 【ダウンロードしたファイル.appx】
・上記を実行することで、インストール完了となる
【手動でインストール箇所も制御したい】
・ディストリビューションのtar.gz をダウンロード
・wsl.exe --import 【名前】 【インストール場所】 【tar.gzファイル】
今回は、3つめの方法を取りました。理由は、
インストール箇所を自由に設定したかったからです。
この方法に辿り着くまでに時間がかかりすぎました・・。
調べても全然ヒットしない・・。
それもそのはず。 「Add-AppxPackage」の方で、指定しようとしていたんですから。(方法は一つしかないらしいです)
そんな中、ディストリビューションを移動する方法を知りました。
やっていることは、
「tarにexportしてimportする」ということ。それは、wslコマンドで。
ちょうどその時、少しの時間外に出ることになったので作業を中断したのですが、
「最初からtarを準備して、importすれば良いのでは?!」
と歩きながら思い、調べた結果。ありました。
直接そのサイトは記載しませんが、他にもtar をダウンロードする再度があったのでメモとして残しておきます。
・Ubuntu の他のtar
https://wiki.ubuntu.com/WSL
「Installing Ubuntu on WSL via rootfs」から選ぶ。
・CentOS の場合
https://github.com/wsldl-pg/CentWSL
のリンク(Archiveですけど)から、選ぶ。
※ Microsoft Store or Add-AppxPackage 経由の人が、
インストール先のDriveを変えたい場合は、「設定 > システム > 記憶域」の「新しいコンテンツの保存先を変更する」で変更するとできるらしいです。
参考サイト
ちゃんと公式にWSL導入の手順が書いてありました。
もちろん、docker も導入手順が公式にちゃんと書いてありますね。
・ docker の公式手順
・ docker-compose の公式手順
公式が手順を書いているのは、本当に有難い。
それが分かりやすいのであれば、なおのこと助かりますね!
作業後記(感想)
WSL2、良いですね。
Windows10 ユーザーであれば、やっておいて損はないです。
docker や docker-compose を導入する時は、bash 化してすぐに準備ができるようにすれば良いですし(私は準備済みです。改行コードを LF にし忘れてうまく動かなかったのは内緒です・・)。
まだ試していませんが、
「.wslconfig」というファイルを、 ユーザーフォルダの中に作成。
localhostForwarding=True
を準備しておけばOKらしいです。
これなら、普通にインストールした時と動作が変わらないですね。
素晴らしい!業務でも使えると思います!!
もう一つ、「.wslconfig」に下記の設定をした方が良いらしいです。
[wsl2]
memory=3GB
swap=0
WSL って、PC搭載メモリの80% が使えるらしいです。
そんなに使わないで・・!という場面もあります。(コーディング中にVSCodeが結構メモリを使う場合があるため)
つまり、本来やりたかったコーディングが遅くなる…というのを避けるため、WSLが使うメモリを制限しておこう!
という話ですね。(暫定処置だそうです)
会社のPCなら、容赦なくDBをインストールしたりとかしますが、自分のPCだと汚したくない気持ちが生まれます(おい)。
この方法なら、 自宅のPCでも利用できますね。いらなくなったら、 wsl の登録を外して、「ext4.vhdx」を削除しちゃえば良い。
しかも、docker image が自分のPCではなく、「ext4.vhdx」の中にあるのも嬉しい。自分のPCのどこに…とか探したりして削除…とか、image 探して削除…とか、面倒な手間がない。
今後、使っていきたいと思うような体験でした。
※ 下記みたいに、ちょっと変態(褒め言葉)なこともできるみたいですね。
さて、そろそろ本題のプラグイン作成に戻ります。
上記の続きです(1週間で終わるとか言ってた自分、見積もりが甘いぞ)。
次に記事を書くのは、プラグインが出来上がった時にします。
(そうじゃないと、書く内容がなさすぎるので・・)
読んでくださった方、ありがとうございました。
それでは、また。
いただいたサポートは、今後の創作活動に役立てさせていただきます。