Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wsl Mirrored autoproxy don't work for command with sudo prefix #11933

Closed
1 of 2 tasks
sunflower-knight opened this issue Aug 17, 2024 · 3 comments
Closed
1 of 2 tasks

Comments

@sunflower-knight
Copy link

Windows Version

Microsoft Windows [Version10.0.22631.4037]

WSL Version

2.2.4.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

5.15.153

Distro Version

Ubuntu 22.04

Other Software

No response

Repro Steps

Here is my wslconfig

[wsl2]
networkingMode=mirrored
autoProxy=true
  1. Login Linux with root ,and use sudo apt update

Expected Behavior

Login Linux with root ,and use sudo apt update

root@DESKTOP-C3VTOOA:~# sudo apt update
Hit  : https://apt.llvm.org/jammy llvm-toolchain-jammy-15 InRelease 

Actual Behavior

  1. Login Linux with root ,and use sudo apt update
root@DESKTOP-C3VTOOA:~# sudo apt update
Ign : https://apt.llvm.org/jammy llvm-toolchain-jammy-15 InRelease 【 Working / Connecting to apt.llvm.org 】

I can't update llvm , it seems like the proxy didn't work


By the way
When Login Linux with root ,and use apt update whtiout sudo

root@DESKTOP-C3VTOOA:~# apt update
Hit: https://apt.llvm.org/jammy llvm-toolchain-jammy-15 InRelease 【 **[Connecting to HTTP proxy (http://127.0.0.1:7890)] show 0.5 secend and disappear **  】
Hit: https://apt.llvm.org/jammy llvm-toolchain-jammy-18 InRelease

I can update llvm in this way ;

Diagnostic Logs

No response

Copy link

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'.
Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs

Download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
.\collect-wsl-logs.ps1

The script will output the path of the log file once done.

If this is a networking issue, please use collect-networking-logs.ps1, following the instructions here

Once completed please upload the output files to this Github issue.

Click here for more info on logging
If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@sunflower-knight
Copy link
Author

Solution
Preserve Environment Variables via sudoers
You can modify the sudoers file to preserve proxy-related environment variables. This way, when using sudo, variables like http_proxy and https_proxy will be automatically passed through.

To edit the sudoers file, use visudo:

sudo visudo
In the file, locate the Defaults line and add the following to ensure the proxy environment variables are preserved:

Defaults env_keep += "http_proxy https_proxy no_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY"

Save and exit visudo.

After this configuration, sudo should retain these environment variables and correctly apply the proxy settings when you run apt update.

Using sudo -E
While sudo -E has already resolved your issue, if you're looking for a more permanent solution, modifying the sudoers file as described above is a cleaner and more reliable approach.

Verify the Changes
After making the changes, you can verify that the proxy environment variables are retained in the sudo environment by running:

sudo env | grep -i proxy

If the output shows that the proxy environment variables are retained, you should be able to use sudo apt update without needing the -E option.

@sunflower-knight
Copy link
Author

When you use sudo -E apt update , it work ;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant