Open6

プロキシ環境下でのWindows環境構築

大井さかな大井さかな

Windowsに不慣れなMacユーザーが、いろいろセットアップしてみるメモ。

環境

  • OS: Windows 10 (21H1)
  • CPU: Intel(R) Core(TM) i5-9400
  • プロキシ環境

導入したもの

  • WSL2 (カーネル バージョン: 5.10.16)
  • Ubuntu (20.04.4 LTS)
  • VSCode, Docker Desktop, Zoom
大井さかな大井さかな

WSL2+Ubuntu

WSL2導入

  • スタートメニューの中にある「コマンドプロンプト」を右クリック
  • 「管理者として実行」を選択
  • wsl --install
C:\WINDOWS\system32>wsl --install
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
ダウンロード中: WSL カーネル
インストール中: WSL カーネル
WSL カーネル はインストールされました。
ダウンロード中: Ubuntu
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

参考

Ubuntuインストール

Windows再起動したところ、勝手にUbuntuのウインドウが立ちあがり開いてインストールが始まった。

Installing, this may take a few minutes..
WslRegisterDistribution failed with error: 0x80370110
Error: 0x80370110 ???????????????????????????????????

Press any key to continue...

0x80370110エラーにより失敗。
とりあえずダメ元でスタートメニューからUbuntuを開きなおしてみる。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:

なぜか成功。
ユーザー名、パスワードを設定し、無事ユーザが作られる。

参考

大井さかな大井さかな

Ubuntuセットアップ

プロキシ設定

プロキシ環境下なので、諸々の前に設定しておく。適当な場所にシェルスクリプトを作成。

$ vi ~/set_proxy.sh
#!/bin/sh

export http_proxy="http://プロキシサーバー:8080"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export all_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy
export FTP_PROXY=$http_proxy
export ALL_PROXY=$http_proxy
export no_proxy="127.0.0.1,localhost"
export NO_PROXY=$no_proxy
git config --global http.proxy $http_proxy
git config --global https.proxy $http_proxy
git config --global url."https://".insteadOf git://

若干過剰な気はするが、まあいいでしょう。

実行権限を付与して、ログイン時に呼ばれるようにする。

$ chmod +x ./set_proxy.sh
$ echo "source ~/set_proxy.sh" >> .profile

sudo利用時には環境変数は引き継がれない。
sudo -Eで全ての環境変数の引継ぎもできるらしいが、プロキシだけ個別設定しておく

$ sudo visudo /etc/sudoers.d/proxy
Defaults env_keep="http_proxy"
Defaults env_keep+="https_proxy"

ftpとかまで書くの面倒になってしまった。トラブらないことを祈る

定番の作業

$ sudo apt update
$ sudo apt full-upgrade

ちなみに、 apt update のあと2週間作業中断していて apt full-upgrade から再開したら、E: Failed to fetch .... 403 Forbidden [IP: ... ] というエラーが出ました。もう一度 sudo apt update でパッケージの一覧を更新することで解消しました。

cliツールのインストール

homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

homebrewインストール後、言われた通りにPATHに追加したり、buid-essentialのインストールしたりした。

GitHub CLI

$brew install gh
$ gh auth login

案内に従ってログインした。

大井さかな大井さかな

各種Windowsアプリケーションのインストール

環境構築というほどでもないけど、一応メモ。

macOSでいうhomebrewに相当するものを探していたら winget というMS公式のパッケージマネージャがあったので使ってみる。Twitterでざっと見た感じhomebrewほどの完成度ではないという評判?

winget searchで検索できる。winget.runで探すのもあり。

winget install -e --id Docker.DockerDesktop
winget install -e --id Microsoft.VisualStudioCode
winget install -e --id Microsoft.WindowsTerminal
winget install -e --id Zoom.Zoom
大井さかな大井さかな

Docker設定

Docker Desktopを起動しようとすると、"You need to log out of Windows ..."という通知が出て起動しないので、いったんWindowsを再起動。

Dockerプロキシ

試行錯誤の末やっと解決したので、もしかしたら必要ないステップがあるかもしれない。