お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2007-04-04 11:23:34

mumu
メンバ
登録日: 2007-04-04

apt.confのproxy設定

はじめまして。昨日職場のPCに初めてUbuntu-ja 6.10をインストールしました。
synapticやapt-getを使う際、proxy越しに外部へ接続しなければいけない環境にあるのですが、
そのための設定がうまくいきません。

http://forum.ubuntulinux.jp/viewtopic.php?id=111
にあったように/etc/apt/apt.confに

Acquire {
http::proxy "http://www.hogehoge.net:8080/"
}

とやってみましたが、繋がりません。
/usr/share/doc/apt/examples/con‐figure-index.gz
を参考にして、

Acquire
{
  http
  {
        Proxy "http://www.hogehoge.net:8080";
  };
};

としてみましたがやはりダメでした。
何が間違っているのかどうしても分かりません。

それとsynapticの設定メニューの「ネットワーク」の部分の「手動Proxy設定」
も設定してみましたがダメでした。


ちなみにシェルで
export http_proxy=http://www.hogehoge.net:8080/
とやった後、
sudo apt-get update
を実行するとちゃんと繋がってupdateしてくれるようです。synapticも同じです。

どなたか助けていただけないでしょうか?

オフライン

 

#2 2007-04-04 11:48:17

hal1
新しいメンバ
登録日: 2007-03-30

Re: apt.confのproxy設定

どうもはじめまして。
export http_proxy=http://www.hogehoge.net:8080/
とやればつながるのであれば、
.bashrcなどに、上の一行を書いておくとどうでしょうか?

オフライン

 

#3 2007-04-04 13:12:29

mumu
メンバ
登録日: 2007-04-04

Re: apt.confのproxy設定

hal1さんはじめまして。レスありがとうございます。
ターミナルからコマンドを打ち込む分には仰る通りの方法で何ら問題無いです。
なので私の場合それほど切実な問題ではないのかもしれません。

ただ「システム」メニューからsynapticを起動する場合はやっぱり繋がらないですし、
(/etc/bash.bashrcに記述した場合も同じです)
/etc/apt/apt.confで解決できないというのがどうも心理的にスッキリいかないもので…

それとsynapticの設定メニューの中のproxyの設定も意味不明なんですよね〜

オフライン

 

#4 2007-04-04 14:04:18

hal1
新しいメンバ
登録日: 2007-03-30

Re: apt.confのproxy設定

>ただ「システム」メニューからsynapticを起動する場合はやっぱり繋がらないですし、

nautilusの方には、メニューのシステムからネットワークのプロキシという項目がありますよね。
synapticにも、設定メニューから、プロキシの設定があったはずです。

これらを変更してもだめであれば(aptの設定ファイルを変えてもだめだから、おそらくそれもきかないとは思います)アドレスの名前の解決ができていないかもしれませんね。

http://www.hogehoge.net:8080 → http://192.168.0.10:8080

のように指定するとどうでしょうか?

わたしはLAN内にDNSサーバーをたててますが(古いPCの簡易なもの)、ネットワークの設定のところにでてくる、全般タブの自動サービスの検知をオフにしないと、LAN内の名前の解決ができませんでした。

それに、LAN内でのアドレス指定は、できる限りIPアドレスで行った方がトラブルを防げるような気がします。

以上、これでもだめな場合は、わたしにはよくわかりません。
どうもすいません。

オフライン

 

#5 2007-04-04 15:42:04

mumu
メンバ
登録日: 2007-04-04

Re: apt.confのproxy設定

hal1さん、どうもありがとうございます。
IPアドレスを直接指定してみましたがやはり×でした。
名前の解決は問題ない感じです。

synapticやnautilusのプロキシ設定が一体全体どこに反映されているのかが???という感じです。

とりあえずコマンドラインからの起動は問題ないので、
ちょっと時間を置いてから再トライしてみたいと思います。
どうもありがとうございました。

オフライン

 

#6 2007-04-05 14:36:53

mumu
メンバ
登録日: 2007-04-04

Re: apt.confのproxy設定

自己解決しました。

結論としては
「システム」→「設定」→「ネットワークのプロキシ」
のところだけ設定すればよいことが分かりました。

ここで「自動的にプロキシの設定を行う」ではなく、
「マニュアルでプロキシの設定を行う」をチェックし、
プロキシサーバとポートを

HTTP プロキシ(T)    proxy.hogehoge.net             ポート: 8080

のように設定したらうまくいきました。
プロキシの自動設定スクリプトは使えないようです。
これにより「システム」メニューから起動した場合でもちゃんと繋がるようになりました。

ちなみにこの設定後、gnome端末を開き、
export
で環境変数を表示させると
...
...
declare -x http_proxy="http://proxy.hogehoge.net:8080/"
declare -x no_proxy="localhost,127.0.0.0/8,*.local"

と表示されます。つまりこの設定は環境変数として反映されているようです。
なので、/etc/apt/apt.confの設定は不要のようです。
synapticのメニューにもプロキシ設定するところがありますが、これも必要無いようです。




結論に至るまで、/etc/apt/apt.confについてもいろいろ弄ってみましたが、
結局
/usr/share/doc/apt/examples/con‐figure-index.gz
(このファイルについてはman apt.confで見つけました)の書式を参考に、
Acquire
{
  http
  {
        Proxy "http://hogehoge.proxy.net:8080";
  };
};
のように指定することで、コマンドラインでapt-get update
やsynapticを実行した場合にはうまく接続できました。
ただしメニューから
「システム」→《システム管理」→「Synapticパッケージマネージャ」
とやってsynapticを起動した場合は何故か繋がりませんでした。

以上です。
どうもお騒がせしてすみませんでした。

オフライン

 

#7 2007-06-04 22:42:59

f99aq
新しいメンバ
登録日: 2007-06-04

Re: apt.confのproxy設定

はじめまして。

当方も同様の症状で悩んでおりましたが、原因らしき物を発見しました。

インストール時に展開される以下のファイルについてです。
/usr/sbin/adobereader-jpn-installer
> 23 http_proxy=`apt-config dump | grep '^Acquire::http::Proxy' | sed "s/Acquire::http::Proxy \"http:\/\/\(.*\)\";/\1/"`
> 24 if [ -n $http_proxy ]; then
> 25   export http_proxy
> 26 fi

パターン1:
23行目にて、grep で一行も引っかからなかったとき、http_proxy が空になるが、[ -n $http_proxy ] は true になり、$http_proxy が空で上書きされる。([ -n "$http_proxy" ]とすべき)

パターン2:
grep で引っかかるものの、sed での置換に失敗し、$http_proxy が文法的におかしな物で上書きされる。

ちなみに、当方は23-26行をコメントアウトすることで対応しました。


たしか、日本語版セットアップヘルパの Skype セットアップでも同様の症状が有ったような気がします。

これは、バグとして報告したほうがいいんでしょうか...?

最後の編集者: f99aq (2007-06-04 22:44:10)

オフライン

 

#8 2007-06-04 23:29:24

jkbys
管理者
登録日: 2006-10-05

Re: apt.confのproxy設定

パッケージを作成した小林です。

ご指摘ありがとうございます。
明日には修正します。

オフライン

 

#9 2007-07-05 21:43:49

f99aq
新しいメンバ
登録日: 2007-06-04

Re: apt.confのproxy設定

二度すみません。どうやら、"$http_proxy" のように '"' で括るだけではダメだったようです。
shell の仕組みがよくわかっていないのですが、http_proxy に何かを代入した時点で、呼び出される wget に反映されてしまっているみたいです。
以下のようにすると、無事動きました。

--- /usr/sbin/adobereader-jpn-installer    2007-06-21 04:43:33.000000000 +0900
+++ /usr/sbin/adobereader-jpn-installer.0    2007-06-22 01:54:17.000000000 +0900
@@ -20,10 +20,10 @@
archive=`basename $archive_url`
lib_dir="/usr/lib"
extract_dir="AdobeReader/"
-http_proxy=`apt-config dump | grep -i '^Acquire::http::Proxy' | cut -d ' ' -f 2 | cut -d '"' -f 2 | grep "^http://" | cut -d '/' -f 3`
-if [ -n "$http_proxy" ]; then
-  export http_proxy
-  export https_proxy=$http_proxy
+http_proxy_tmp=`apt-config dump | grep -i '^Acquire::http::Proxy' | cut -d ' ' -f 2 | cut -d '"' -f 2 | grep "^http://" | cut -d '/' -f 3`
+if [ -n "$http_proxy_tmp" ]; then
+  http_proxy=$http_proxy_tmp
+  https_proxy=$http_proxy
fi
errcode=1

オフライン

 

Board footer

Powered by FluxBB