はじめに
解決するためにやったことを、自分用の備忘も兼ねて残しておきます。
既に多くの方々が発信してくださっている内容なので今更感がありますが、記事を書くことを習慣づけるためにも、あえて手を動かしてみます。
目次
- 環境
- 名前解決
- プロキシを通す
環境
ちなみに、職場環境です。
Windows
Windows 10 Pro
バージョン:20H2
WSL2
Ubuntu 18.04.5 LTS
プロキシ
プロキシサーバでプロキシ自動構成(PAC)ファイルを使用。
id、パスワードは不要です。
なお、プロキシサーバIP、ポートの抜き取り方は本記事では記載していません。
名前解決
以下の記事を参考にさせていただきました。
WSLにてapt update時の『Temporary failure resolving ~』を解決する方法
/etc/wsl.conf
wsl2の起動時にresolv.confが自動再生成されないようにします。
以下のように設定すればOKです。
$ cat /etc/wsl.conf
[network]
generateResolvConf = false
resolv.conf
自環境のDNSサーバのIPを使用することにしました。
Windowsで設定値を調べる
PowerShellでipconfig /all
「DNS サーバー」の値を控えておきます。
ubuntuに設定
控えた値を以下のように設定します。
$ cat /etc/resolv.conf
nameserver xxx.xxx.xxx.xxx
※上記の参考記事同様、/etc/resolv.comf
にnameserver 8.8.8.8
を追加しても、私の環境ではうまくいきませんでした。
プロキシを通す
以下の記事を参考にさせていただきました。
~.bashrc
以下を記載します。
if [ -z "$http_proxy" ]; then
export http_proxy=http(s)://<server>:<port>
export https_proxy=${http_proxy}
export HTTP_PROXY=${http_proxy}
export HTTPS_PROXY=${https_proxy}
fi
apt
を実行するときは、rootに昇格しても現在の環境変数を保持できるように、-E
を付けます。
sudo -E apt update
-E
を不要にする方法は以下です。
/etc/apt/apt.conf
/etc/apt/apt.conf
に、以下のように設定します。
Acquire::http::Proxy "http(s)://<server>:<port>";
Acquire::https::Proxy "http(s)://<server>:<port>";
ただし、この方法だとid、パスワードを要求される場合、それも記載することになるため注意が必要です。
以上でapt update
を実行すると、正常終了しました。
終わりに
事の発端はCI/CDを導入したいという私の無謀な提案でした。
試しにjenkinsをインストールしようということで、まずapt update
したらいきなりコケました。
先は長いです。
この記事がどなたかの役に立てば幸いです。