在国内环境下,我们经常需要使用代理来进行一些系统操作,比例apt的包管理(Kali、Ubuntu、Debian等发行版使用),比如curl命令或者git命令等等。通常我们通过配置.bashrc或者.zshrc等shell配置文件,增加代理选项就可以正常工作,但是如果在命令之前,增加sudo后,会发现所输入的命令并没有通过配置中的proxy代理出去。这个问题解决起来很简单:
如果您的sudo命令不使用代理,可以尝试以下解决方法:
- 修改sudoers文件
使用命令sudo vim打开/etc/sudoers文件,将以下行添加到文件末尾:
Defaults env_keep += "http_proxy https_proxy ftp_proxy"
:wq保存文件并退出。
- 在/etc/environment文件中设置代理
使用命令sudo vim /etc/environment打开/etc/environment文件,并在其中添加以下行:
http_proxy="http://proxy_address:port"
https_proxy="https://proxy_address:port"
:wq保存文件并退出。
注意:以上方法中,修改/etc/sudoers文件的方法只对sudo命令有效;在/etc/environment文件或~/.bashrc等shell的配置文件中设置代理的方法可以对所有命令都有效。
如果你想使用neovim替换vim,也可以参考:如何在Debian上编译安装Neovim
alias How to run “sudo apt-get update” through proxy in commandline?