こんにちは。
Windows 10 (64 bit) の Windows Subsystem for Linux (WSL)「Linux用Windowsサブシステム」を利用し、Linux 環境を構築しました1(合わせて Linuxbrew もインストールしました)。
1. Powershell を管理者権限で起動する
そして、ExecutionPolicy
を RemoteSigned
へ設定する。
PS> Set-ExecutionPolicy RemoteSigned
続いて、Linux ディストリビューション(Ubuntu 22.04 LTS)(および Windows Terminal (ターミナル環境))を入手・インストールする2:
PS> Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile ubuntu2204.appx -UseBasicParsing
PS> Add-AppxPackage ubuntu2204.appx
PS> Remove-Item ubuntu2204.appx
- もしくは、Microsoft Store を起動し、検索欄に「WSL」などと入力し、この Ubuntu 22.04 LTS を見つけ、入手インストール。
続いて、Windows Subsystem for Linux (WSL) を有効化するために、下記のコマンドを実行し3コンピュータを再起動する。
PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
2. Linux ディストリビューションのインストール
スタートメニュー上で、入手した Linux ディストリビューションを「起動」する。この「起動」により、実際のインストールが始まる。Microsoft アカウントのサインインはスキップ可能で、sudo 用の username, password を決めて入力する。
Enter new UNIX username:
Enter new UNIX password:
Retype new UNIX password:
3. Linux ターミナルが起動できることを確認する
Linux ターミナル環境(Windows Terminal、もしくは、ディストリビューションと同時にインストールされるデフォルトのもの)を起動しコマンドが実行されることを確認する:
$ uname -a
Linux DESKTOP...
$ wsl.exe --list --verbose
NAME STATE VERSION
* Ubuntu-22.04 Running 1
$ cat /etc/os-release
:
:
続いて、各種設定を行う:
$ echo 'umask 002' >> ~/.bashrc
$ echo -e 'export VISUAL="vim"\nexport EDITOR="vim"' >> ~/.bashrc
$ echo 'export PATH="/home/linuxbrew/.linuxbrew/sbin:/home/linuxbrew/.linuxbrew/bin:$PATH"' >> ~/.bashrc
4. Linux ターミナル環境を再起動し更新などを行う:
$ sudo apt update
$ apt list --upgradable
$ sudo apt upgrade -y
$ sudo apt install git curl file build-essential
5. Linuxbrew のインストール
また今回、Linuxbrew をインストールし、それを利用して、今後使う可能性が高いと考えた gcc
zlib
をインストールしました。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
$ brew doctor
$ brew update
$ brew install gcc zlib
6. Linux 上のサービス稼働状態を確認
cron, ssh の状態を確認しました
$ sudo service cron status
* cron is not running
$ sudo ssh-keygen -A
$ sudo service ssh start
$ sudo service ssh status
* sshd is running
7. Windows OS の exe コマンド実行例
where.exe
コマンドの使い方などを表示させます。
$ "/mnt/c/Windows/System32/where.exe" "/?"
- 上記は
PS> "C:\Windows\System32\where.exe" "/?"
に相当します。
8. winget.exe コマンド実行例
$ powershell.exe /c winget.exe --info
- 上記は
winget.exe
を単独指定しても動作しない場合に、powershell.exe
を介して動作させています。-
winget.exe
のフルパスは、C:\Users\{USERNAME}\AppData\Local\Microsoft\WindowsApps\winget.exe
です。
-
-
参考:「Windows Subsystem for Linux (WSL)の設定手順」、「Windows 10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版)」、「【WSL入門】第1回 Windows 10標準Linux環境WSLを始めよう」 ↩
-
もしくは、「コントロールパネル > プログラムと機能 > 「Windowsの機能の有効化または無効化」の中で有効化する」 ↩