Linuxでプロキシを設定する話。
Ref
Proxy server - ArchWiki
Environment variables - ArchWiki
この2つのドキュメントで、Linuxのプロキシ設定に関する大半の問題は解決できる。
How To Use Proxy Server To Access Internet at Shell Prompt With http_proxy Variable
これは簡単操作版。
以前いろいろなチュートリアルを読んだが、結局よく分からなかった。
最後に残るのは「良いドキュメントはやはり頼れる」という結論。
2019/12/23 更新
- 環境変数でプロキシを設定
~/.bashrcに追加:
export http_proxy=http://<proxy_addr>:<proxy_port>/export https_proxy=$http_proxyexport ftp_proxy=$http_proxyexport rsync_proxy=$http_proxyexport no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"- sudoにプロキシを引き継がせる
参考: Sudo Environment variables
/etc/sudoersに追加:
Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"2021/02/24 update
sudoersを直接変更するのではなく、/etc/sudoers.d/の下にファイルを追加する方が良い。
$ sudo visudo /etc/sudoers.d/env_proxy
Add following lineDefaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"Ref:adding local content in /etc/sudoers.d/ instead of directly modifying sodoers file via visudo
2021/05/09 update
vim /etc/sudoers.d/05_proxy
Defaults env_keep += "*_proxy *_PROXY"Ref: ArchWiki - Proxy server: Keep proxy through sudo
- Snapのダウンロードにプロキシを使う
参考: How to install snap packages behind web proxy on Ubuntu 16.04
コマンド:
sudo snap set system proxy.http="http://<proxy_addr>:<proxy_port>"sudo snap set system proxy.https="http://<proxy_addr>:<proxy_port>"- Ubuntuでsudoにプロキシを引き継がせる
参考: How to keep environment variables when using sudo
Ubuntuは少し違うらしく、複数変数を1行に書けない。
sudo visudo
For Ubuntu 14, you need to specify in separate lines as it returns the errors for multi-variable lines:Defaults env_keep += "http_proxy"Defaults env_keep += "https_proxy"Defaults env_keep += "HTTP_PROXY"Defaults env_keep += "HTTPS_PROXY"2021/04/10 update
curl と pacman
Ref: ArchWiki - Proxy server: crul and pacman
all_proxy 環境変数を設定すれば、curl と pacman(curlを使う)が socks5 プロキシを使える:
$ export all_proxy="socks5://your.proxy:1080"