5
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Proxy環境内のWSL2でapt updateが失敗する

Posted at

はじめに

解決するためにやったことを、自分用の備忘も兼ねて残しておきます。

既に多くの方々が発信してくださっている内容なので今更感がありますが、記事を書くことを習慣づけるためにも、あえて手を動かしてみます。

目次

  • 環境
  • 名前解決
  • プロキシを通す

環境

ちなみに、職場環境です。

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.comfnameserver 8.8.8.8を追加しても、私の環境ではうまくいきませんでした。

プロキシを通す

以下の記事を参考にさせていただきました。

apt のプロキシ対応

~.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したらいきなりコケました。
先は長いです。

この記事がどなたかの役に立てば幸いです。

5
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?