web-dev-qa-db-ja.com

sudoで呼び出されたプロキシを通して適性を正しく動作させる

私はDebian 6を使っています。 GUI Worksを介したブラウジングとHTTPおよびFTPアクティビティOK。

私は私のパッケージリポジトリを更新してシェルで入力したかった:

Sudo aptitude
 _

それから私がリポジトリを更新しようとすると、DebianのFTPサーバーに到達しようとしている間に停止が停止し、このアクションは最終的にタイムアウトします。

しかし、それが試しているならば:

$ su
# aptitude
 _

仕事を更新します。

2回の呼び出しの違いは何ですか? $http_proxy$ftp_proxy環境変数は両方のシェルに存在します。

3
karatedog

sコマンドは、rootとして別のシェルを起動します(ユーザー名と正しいパスワードを指定した場合はwholeserver)。このシェルはすべての通常の環境変数を取得します。これは、もちろんhttp_proxyとftp_proxy変数を含みます。したがってそれはうまくいきます。

sudoコマンドは、具体的に選択されたサブセットを除くすべての環境変数を削除します。もちろんHTTP_PROXY&FTP_PROXY変数を含まないため、コマンドは失敗します。

Makeを作ることができますsudo _proxy変数をVisudoコマンド(もちろん)を使用して、sudoers configファイルを編集してください。

以下の追加はsudohttp_proxy&ftp_proxyの値を保持します。

Defaults env_keep += "http_proxy ftp_proxy https_proxy HTTP_PROXY FTP_PROXY HTTPS_PROXY"
 _

一致的に、そのリストにDisplay&Homeを追加する場合は、数sudoを使用してGUIプログラムを使用できます(接続変数が必要です)

Defaults env_keep += "DISPLAY HOME"
 _

あなたはそのような2つの行を追加するだけです。 (+ =はここで)これらの行をファイルの末尾に追加することを忘れないでください。最初の数行は通常 'env_keep /を設定します。'straight' = 'を持つ変数。以前の値を消去します。

2
lornix