■ はじめに
https://dk521123.hatenablog.com/entry/2014/11/28/162708
で、aptコマンドを扱ったが、 今回は、プロキシ経由でapt系コマンドを実行するには どうするかを考える
【1】プロキシ経由でapt系コマンドを実行するには
方法は、以下の2通り 1)環境変数「http_proxy」等を使う場合 2)/etc/apt/apt.conf or /etc/apt/apt.conf.d/xxxx.conf を使う場合
1)環境変数「http_proxy」等を使う場合
構文
export http_proxy="http://【ユーザID】:【パスワード】@【プロキシ・ホスト名】:【プロキシ・ポート番号】/" export https_proxy="https://【ユーザID】:【パスワード】@【プロキシ・ホスト名】:【プロキシ・ポート番号】/" export ftp_proxy="ftp://【ユーザID】:【パスワード】@【プロキシ・ホスト名】:【プロキシ・ポート番号】/"
認証がない場合は、「【ユーザID】:【パスワード】@」が不要
export http_proxy="http://admin:password@192.168.16.29:3128/" export https_proxy="https://admin:password@192.168.16.29:3128/" export ftp_proxy="ftp://admin:password@192.168.16.29:3128/"
2)/etc/apt/apt.conf or /etc/apt/apt.conf.d/xxxx.conf を使う場合
構文
Acquire::http::proxy "http://【ユーザID】:【パスワード】@【プロキシ・ホスト名】:【プロキシ・ポート番号】/"; Acquire::https::proxy "https://【ユーザID】:【パスワード】@【プロキシ・ホスト名】:【プロキシ・ポート番号】/"; Acquire::ftp::proxy "ftp://【ユーザID】:【パスワード】@【プロキシ・ホスト名】:【プロキシ・ポート番号】/";
認証がない場合は、「【ユーザID】:【パスワード】@」が不要
# 「;」がないと Syntax error になる # 例 Acquire::http::proxy "http://admin:password@192.168.16.29:3128/"; Acquire::https::proxy "https://admin:password@192.168.16.29:3128/"; Acquire::ftp::proxy "ftp://admin:password@192.168.16.29:3128/";
【2】使用上の注意
* 設定値に「@」等の記号が含まれる場合は、「%40」等でエンコードする必要がある => パーセントエンコード変換できるように、Java で自作した。
参考文献
http://d.hatena.ne.jp/mrgoofy33/20100726/1280154695
http://www.tamoot.net/d/20130508.html
関連記事
【ネットワーク】プロキシ / Proxy
https://dk521123.hatenablog.com/entry/2017/08/08/224300
aptコマンド ~ 入門編
https://dk521123.hatenablog.com/entry/2014/11/28/162708
プロキシサーバソフト [1] ~ Squid / 初期設定編 ~
プロキシサーバソフト [2] ~ Squid / Basic認証編 ~
パーセントエンコーディングをJavaで自作する