回答:
http_proxy="http://host:port" apt-get something
うまくいくはずです。
認証が必要な場合は、
http_proxy="http://user:pass@host:port" apt-get something
そして、これを永続的にしたい場合は、おそらくhttp_proxy(およびftp_proxy?)変数を設定して~/.bashrc
、すべてのプロキシ対応アプリケーションが将来機能するようにします(例: 'wget')。
/etc/apt/apt.confに次の行を追加します。
Acquire::http::Proxy "http://MYDOMAIN\MYNAME:MYPASS@MY.PROXY.COM:MYPORT"
;
/etc/apt/apt.conf.d/01proxy
プロキシは、ローカル変数(例:内)またはグローバル変数(例:内)のhttp_proxy
、ftp_proxy
およびall_proxy
環境変数を設定することによって指定されます。これらの設定は、実質的にすべてのネットソフトウェアパッケージ(apt-get、wget、curlなど)に適用されます。~/.bashrc
/etc/bash.bashrc
# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"
ただし、これらをこのように設定しても、実行中は役に立ちません。sudo apt-get ...
これは次の行が原因です/etc/sudoers
。
Defaults env_reset
この行は、セキュリティ上の理由から、を使用するとすべての環境変数をリセットしますsudo
。呼び出しでetc. の値を保持するために、次を介して例外を指定できます。http_proxy
sudo
env_reset
env_keep
# Exception specific to the command apt-get
Defaults!/usr/bin/apt-get env_keep="http_proxy https_proxy ftp_proxy"
# Exception specific to the user joe
Defaults:joe env_keep="http_proxy https_proxy ftp_proxy"
このようにすると、難解なapt固有の構成ファイルで設定を複製する代わりに、http_proxy apt-get
のグローバル設定を尊重することができapt-get
ます。
sudo apt-get ...
何にでも使用するからです。したがって、このエントリ/etc/sudoers
がないと機能しません。
env_reset
ラインは/etc/sudoers
本当に重要です!
apt-get
と特別代わりに「だけの行を削除する」というのは、必要な変数のために。