概要
Windows11において
- Windows Subsystem for Linux 2(以下WSL2)
- Docker Desktop for Windows(以下Docker)
- Visual Studio Code(以下VSCode)
- GitHub
を導入する手順を解説します。
導入手順
WSL2の導入
BIOSのCPUの仮想化設定の有効化
WSL2を導入する前にBIOSからCPUの仮想化設定を有効にする必要があります。
BIOSから設定変更する手順はCPUとマザーボードによって異なりますが、
筆者が使用しているASUSのマザーボードでは、
Advanced Mode > Advanced > CPU Configuration > Intel Virtualization Technology
から設定することができました。
仮想化が有効になっているかどうかは、タスクマネージャーの
パフォーマンス > CPU > 仮想化
から確認することができます。
Windowsの機能の有効化
WSL2を導入する前に「Windowsの機能の有効化」から「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」 を有効にする必要があります。
直近ではWSL2導入時に自動で有効になるみたいですが、念のため手動で有効にしておきましょう。
コントロールパネルから設定する場合は、
プログラム > プログラムと機能 > Windowsの機能の有効化
から「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れ有効化します。
コマンドラインから設定する場合は、管理者としてPowerShellで以下を実行します。
# Windows Subsystem for Linuxの有効化
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# Virtual Machine Platformの有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Linux カーネル更新プログラムパッケージをインストール
以下よりLinux カーネル更新プログラムパッケージをダウンロードしインストールします。
手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする
WSLののデフォルトのバージョンを「2」に設定
WSLのデフォルトのバージョンを「2」に設定します。
こちらも直近ではWSL2導入時に自動で有効になるみたいですが、念のため事前に有効にしておきましょう。
管理者としてPowerShellで以下を実行します。
wsl --set-default-version 2
WSL2のインストール
WSL2のインストールを実行します。
Microsoft StoreよりUbuntu 20.04 LTSをインストールします。
コマンドラインからインストールする場合は、管理者としてPowerShellで以下を実行します。
wsl --install -d Ubuntu-20.04
WSL2のシステムのアップデート
初回起動し、ユーザー名とパスワードを設定した後、WSL2のシステムをアップデートします。
Ubuntu(WSL2)で下記を実行します。
sudo apt update
sudo apt upgrade -y
Docker Desktop for Windowsの導入
WindowsではGUIベースでDockerを操作できる「Docker Desktop for Windows」が提供されています。
公式サイトよりインストーラーをDLしインストールします。
Docker Desktopは個人利用もしくはスモールビジネス(従業員数250人未満かつ年間売上高1000万ドル未満)、教育機関、非商用のオープンソースプロジェクトにおいては無料で利用可能ですが、該当しない場合は有償のサブスクリプションプランに加入する必要があります。
VSCodeの導入
VSCodeのインストール
公式サイトよりインストーラーをDLしインストールします。
Remote Developmentのインストール
VSCodeの拡張機能「Remote Development」をインストールします。
コマンドラインからインストールする場合は、PowerShellで以下を実行します。
code --install-extension ms-vscode-remote.vscode-remote-extensionpack
GitHubの導入
SSH keyの作成
Ubuntu(WSL2)のユーザールート配下に.sshフォルダを作成し、フォルダ内にSSH keyを作成します。
mkdir .ssh
cd .ssh
ssh-keygen -t rsa -f id_rsa_for_github
秘密鍵の権限がオープンになっているので、所有者のみが閲覧・書き込めるように権限を変更しておきます。
chmod 600 ~/.ssh/id_rsa_for_github
configの作成
上記で作成した.sshフォルダ内に「config」ファイルを作成して下記のように接続情報を記載します。
Host github.com
IdentityFile ~/.ssh/id_rsa_for_github
User git
IdentitiesOnly yes
Compression yes
GitHubへSSH keyを登録
GitHubのアカウント設定から作成したSSH keyの情報を登録します。
SSH keyの設定は、
Settings > SSH and GPG keys > SSH keys > New SSH key
より設定することができます。
id_rsa_for_github.pubファイルの内容を下記の「Key」に丸ごとコピペします。
Ubuntu(WSL2)で下記を実行することで、問題なく接続することができるか確認することができます。
ssh -T git@github.com
コンテナ内にSSH keyを転送する設定
Ubuntu(WSL2)にopenssh-clientとsocatをインストールします。
sudo apt install openssh-client socat
そしてUbuntu(WSL2)よりコンテナ内にSSH keyを転送するために下記のように.bash_profileに記載します。
これによりbashをログイン時にssh-agentが自動的に起動するようになります。
if [ -z "$SSH_AUTH_SOCK" ]; then
RUNNING_AGENT="`ps -ax | grep 'ssh-agent -s' | grep -v grep | wc -l | tr -d '[:space:]'`"
if [ "$RUNNING_AGENT" = "0" ]; then
ssh-agent -s &> $HOME/.ssh/ssh-agent
fi
eval `cat $HOME/.ssh/ssh-agent`
fi
ssh-add $HOME/.ssh/id_rsa_for_github
以上で導入手順は終了です。
最後までお読み頂きありがとうございました。