- 締切済み
Linuxのプロキシ設定について
Linuxのプロキシ設定についてお尋ねします。私はubuntuを利用することが多いですが、コマンドラインやブラウザで職場のプロキシサーバを通過して外部にアクセスすることがあります。 プロキシ設定の考え方についてお尋ねします。ブラウザはプロキシサーバを明示的に指定するところがあります。設定→接続などのタグをたどっていけば設定画面に到達します。では、ブラウザ以外で例えばコマンドラインで外からファイルを持ってくるような場合、プロキシを指定するにはどうしたらいいでしょうか。wget .. sudo apt-get install ...とかいろいろ考えられると思います。コマンドラインからのftpもあるかも知れません。 専門家に聞いてみたら、.bashrcに export http_proxy =http://..........jp:8080/ としたらよいとのことでした。つまり、この部分だけしっかりしていればプロキシは通るとのことです。これは間違いないでしょうか。 一度やってみたら効果があるのかないのか判然としない結果になりました。このようなネットワーク設定・機器はインテリジェントなものだからゴキゲンがあると私は思っているので、パッと解決しないようなところがあるように思うのです。 これでもいいのでしょうか ※ところで実際の問題は、Windows7上のvmware player上のubuntuです。事情は同じだろうと思いますが。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- anmochi
- ベストアンサー率65% (1332/2045)
> これは間違いないでしょうか。 そりゃあコマンドによるとしか言えん。 wgetやapt-getがそうなっているからと言って、Linux(ubuntu)のコマンドラインで使える全てのHTTPクライアントがhttp_proxy環境変数を使うという証明にはならんじゃろう。 export http_proxy="http://hogehoge.example.com:8080" というのを打ったり、.bashrcに入れてログアウトしてログインしたりすると、 「今からこのシェルから起動されるプログラムはhttp_proxyという環境変数を参照したらhttp://hogehoge.example.com:8080というのが読み込めるでー」 という意味になるのだが、wgetやapt-getは環境変数http_proxyもプロキシとして使う事ができる、というのは確実に言えるが、それだけだよね。それ以外については一個一個調べるしか手がない。 これは、Windowsを使ってる時にインターネットオプションでプロキシの設定をしたのにFirefoxでは効かないじゃないかとMicrosoftに文句を言っても「Mozillaに言え」と一蹴されるに決まっとるのとほぼ同じ事だ。
- notnot
- ベストアンサー率47% (4900/10358)
普通は、環境変数の http_proxyとかhttps_proxyを見ます。なので、 >.bashrcに export http_proxy =http://..........jp:8080/ としたらよい ですが、お書きのものはhttp_proxyとイコールの間に空白があるので間違ってます。exportは基本的なコマンドなので書式を覚えましょう。 .bashrcに、 export http_proxy=http://..........jp:8080/ export https_proxy=http://..........jp:8080/ としてください。 もしくは、コマンドを打つ毎にコマンドの前に指定する。 http_proxy=http://..........jp:8080/ wget ~~~ とか。 コマンドによってはコマンドラインで指定したり、設定ファイルで指定したりすることも出来ます。
- yambejp
- ベストアンサー率51% (3827/7415)
wgetの場合、本体設定に優先してwgetrcの設定を読みますので、同ファイルに http_proxy = http://xxx.xxx.xxx.xxx:ポート などを記載するとよいでしょう また、apacheが特定のproxy経由で任意にデータを取りたいときなどは PHPが利用可能であればPEAR::HTTP_Requestなど利用すると便利です。 http://pear.php.net/manual/ja/package.http.http-request.php
お礼
回答有難うございます。 つまりexportというコマンドの引数(オペランド?)が"http..."だから、スペースがあると2つめの引数に見られるとなり意味が違ってくると理解しました。 今回の問題はずっと悩んでおり、解決策の決定打がなかったのです(どうやっても行けたり行けなかったりするので法則がつかめない)。 しかし、これだととにかくうまくいくという設定がありました。/etc/environmentというファイルの編集です。ここにプロキシの設定をしてやるとクリアにつながるようになりました。 unix, linuxのように基本がテキスト的な場合、/etc/environmentの内容をどこかが参照しているのだろうなと思います。私は今のところこの設定が根源的設定(つまりここを設定していたら他が参照する。例えば、.bashrcに書かなくてもいい)ということになっています。違うかも知れませんが。