VirtualBox Ubuntuのプロキシの背後にあるapt-get


回答:


8
http_proxy="http://host:port" apt-get something

うまくいくはずです。

認証が必要な場合は、

http_proxy="http://user:pass@host:port" apt-get something

そして、これを永続的にしたい場合は、おそらくhttp_proxy(およびftp_proxy?)変数を設定して~/.bashrc、すべてのプロキシ対応アプリケーションが将来機能するようにします(例: 'wget')。


2
ノートへの1つのより多くの事があれば、パスワードが含まれていることである「@」、それは動作しません、他、(引用符なし)「%40」で置き換える
dotslash

8

/etc/apt/apt.confに次の行を追加します。

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:MYPASS@MY.PROXY.COM:MYPORT"

From:http : //ubuntuforums.org/showthread.php?t=96802

(注:SFに関する私の同様の質問に対するこの回答から完全に盗まれました。グリズリーに信用されました)


ラインは-で終了する必要があります;
Verma

私のファイル名は異なっていましたが、これは私にとってうまくいったものです/etc/apt/apt.conf.d/01proxy
ジャッキー

4

プロキシは、ローカル変数(例:内)またはグローバル変数(例:内)のhttp_proxyftp_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_proxysudoenv_resetenv_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がないと機能しません。
mliebelt 2013

このenv_resetラインは/etc/sudoers本当に重要です!
2014

1
@アリ:はい、そうです。私はそれを無効にする方法を示した理由です特にためapt-get特別代わりに「だけの行を削除する」というのは、必要な変数のために。
DevSolar 2014

@DevSolar:はい、そしてそのためのプラス1!
Ari
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.