インフラエンジニアのPC環境

インフラエンジニアは常に効率環境を目指している

ユーザ用ツール

サイト用ツール


サイドバー

目次

ホーム

OS


CUIソフト

今はほぼ未使用

操作を覚える必要のあるおすすめソフト

os:windows:wsl


「OS」一覧に戻る

WindowsでのWSL2の利用方法

WSL2とは

WSL (Windows Subsystem for Linux)とWindows標準のゲスト環境です。
通常のUbuntuなどのLinuxが動きます。

普通のUbuntuなので、通常のLinuxのように動きます。

Widnowsで非エンジニアの作業をしながら、Linux側ではエンジニアの作業ができます。

Windows Google Chrome , Office, Visual Studio Code, Slack
Windows Terminal
WSL SSH, AWS CLI, Git, Teraform, aws-vault, docker, docker-compose


WSL2の設定手順(Windows 11)

  • Windowsターミナル(管理者)を起動
  • wsl –install と入力


WSL2の設定手順(Windows 10)

機能を有効にする

「アプリ」→「アプリと機能」→「オプション機能」→「Windowsのそのほかの機能」を選択
「Windowsの機能」が起動してくる。
「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れて「OK」
Windows 10を再起動

Linuxカーネル更新プログラムパッケージ

https://aka.ms/wsl2kernel」にアクセスする。
x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」となっているリンクをクリックしてパッケージをダウンロード

WSLのバージョン設定

「wsl --set-default-version 2」と実行して、WSLのデフォルトバージョンを2に設定する。


WSLコマンドの一覧

wsl --help WSL のヘルプ
wsl --version WSL のバージョンを確認
wsl --status 現在の状態を確認
wsl --set-default-version 2 既定のバージョンを設定
wsl --update WSL を更新する

ゲストOSの操作

wsl -l
wsl --list
インストールされているディストリビューションの一覧を表示
wsl -l -v
wsl --list --verbose
インストールされているディストリビューションの稼働状況
WSL のバージョンを確認
wsl -l -o
wsl --list --online
オンライン ストアからインストールできるディストリビューションの一覧を表示
wsl --install WSL と Linux の既定の Ubuntu ディストリビューションをインストールします。
wsl --install -d <Distro>
wsl --install -d Ubuntu-20.04
ディストリビューションをインストール
wsl --set-version Ubuntu-20.04 1 ディストリビューションを実行する WSL のバージョン (1 または 2) を指定する
wsl --set-default <Distro>
wsl --set-default Ubuntu-20.04
既定のディストリビューションを変更
wsl wsl コマンドから既定のディストリビューションを起動
wsl -d <Distro>
wsl -d Ubuntu-20.04
wsl コマンドから特定のディストリビューションを起動
wsl --shutdown すべてのゲストを再起動
wsl -t Ubuntu-20.04 特定のゲストを再起動


WSLのUbuntuのセットアップ

Microsoft StoreからUbuntu 20.04 LTSをインストール
最初の起動時にユーザー名とパスワードの入力を求められるので、入力する。
Windows Terminalを起動し、追加されているか確認する。

OSバージョンの確認

takaaki@hostname1:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
takaaki@hostname1:~$


systemdの有効化(kindなどk8sで必要)

vi /etc/wsl.conf

[boot]
systemd=true

設定後に、再起動が必要


WSL2のUbuntuのソフト

sudo apt update
sudo apt upgrade
sudo apt-get install zsh

デフォルトのシェルをzshに変更
chsh -s $(which zsh)

.zshrc の修正
ファイラー
$ sudo apt install vifm
$ sudo apt install ranger
$ sudo apt install libsixel-bin  #ターミナルに画像を表示するため
開発環境
$ sudo apt install tig
日本語

Google Driveなどを見た時の文字化け対策

$ locale -a  #使用可能なロケールの一覧を表示
$ sudo apt install language-pack-ja
$ locale -a  
ja_JP.UTF-8  があること
$ sudo update-locale LANG=ja_JP.UTF8
その他
$ sudo apt install peco
$ sudo apt install ffmpeg
GUI準備
$ sudo apt install libgl1-mesa-dev xorg-dev


TIPS

エクスプローラでwsl2のUbuntuにアクセス

$ explorer.exe .

または、エクスプローラで「\\wsl$」にアクセス


WSLのバックアップとリストア

登録状況の確認
wsl --list
バックアップ
wsl --export <NAME> <FILE>
wsl --export Ubuntu-20.04 E:\WSL-Data\Ubuntu-20.04.tar
#日時を付与
wsl --export Debian "%USERPROFILE%\Debian-%DATE:/=%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.tar"
リストア
wsl --import ディストリビューション名 インストール先パス パックアップファイルパス
wsl --import Ubuntu-20.04 E:\WSL-OS¥Ubuntu-20.04 E:\WSL-Data\Ubuntu-20.04.tar
wsl --import MyDebian %USERPROFILE%\MyDist debian.tar
削除
wsl --unregister <NAME>


WSL2のUbuntuへSSH接続

ipアドレスの確認
takaaki@DESKTOP-2J0HFAN:~$ ip a |grep inet
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
    inet 172.22.47.48/20 brd 172.22.47.255 scope global eth0
    inet6 fe80::215:5dff:feb8:8abf/64 scope link
takaaki@DESKTOP-2J0HFAN:~$
SSH設定
$ sudo vim /etc/ssh/sshd_config

PasswordAuthentication yesに変更する
SSH再起動
$ sudo service ssh status
$ sudo service ssh start


関連付けされたWidnowsアプリでファイルを開く

wslview   ファイル
wslviewの準備
sudo apt install ubuntu-wsl


WSLのファイルをVisual Studio Codeで編集する

拡張機能の「Remote-WSL」をインストールします。


トラブル対応

WSLでネットワークが接続できない

WSLを起動すると、「Ethernet adapter vEthernet (WSL (Hyper-V firewall))」が見えるようになります

問題発生時
> ipconfig

(略)

Ethernet adapter vEthernet (WSL (Hyper-V firewall)):

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
正常時
> ipconfig

(略)

Ethernet adapter vEthernet (WSL (Hyper-V firewall)):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::b326:xxxx:xxxx:xxxxxxx
   IPv4 Address. . . . . . . . . . . : 172.19.176.1
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :
解決策
  • サービスから、Host NetworkServiceを再起動
  • デバイスマネージャで、「show hidden devices」をEnableにして、Network AdaptersのHyper-V Virtual Switch Extensio Adapterをdisalbe/Enable

WSL vEthernet adapter shows up as disconnected after the latest Windows 10 update (10.0.20197.1000) · Issue #5821 · microsoft/WSL · GitHub

#echo "Restarting WSL Service"
#Restart-Service LxssManager

echo "Restarting Host Network Service"
Stop-Service -name "hns"
Start-Service -name "hns"

echo "Restarting Hyper-V adapters"
Get-NetAdapter -IncludeHidden | Where-Object `
    {$_.InterfaceDescription.StartsWith('Hyper-V Virtual Switch Extension Adapter')} `
    | Disable-NetAdapter -Confirm:$False
Get-NetAdapter -IncludeHidden | Where-Object `
    {$_.InterfaceDescription.StartsWith('Hyper-V Virtual Switch Extension Adapter')} `
    | Enable-NetAdapter -Confirm:$False


参考


os/windows/wsl.txt · 最終更新: 2024/06/21 01:25 by kurihara

ページ用ツール