2018年3月14日水曜日

プロキシ(Proxy)環境下での本書の演習の実行

はじめに

職場や学校などでは、ネットワークに接続するためにプロキシ(Proxy)サーバーと呼ばれるものを介する場合が多いと思います。そのような環境下では、本書でネットワーク接続を必要とする演習をそのままでは実行できません。

下記の設定を行えば、全ての演習を実行できるようになりますが、上級者向けの内容ですので、職場や学校のネットワーク管理者など、ネットワークに詳しい方と一緒に作業することをお勧めします。

apt-getコマンド

ソフトウェアのインストールの際に実行するapt-getコマンドを用いるための方法です。

まず、ターミナルソフトウェアLXTerminalを起動し、以下のようにテキストエディタleafpadで設定ファイル/etc/apt/apt.confを作成します。
sudo leafpad /etc/apt/apt.conf
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
sudo mousepad /etc/apt/apt.conf
このファイルに下記の内容を記述します。「プロキシサーバー名」や「ポート番号」は環境によって異なりますので、ネットワーク管理者にお尋ねください。
Acquire::http::proxy "http://プロキシサーバー名:ポート番号/";
Acquire::https::proxy "https://プロキシサーバー名:ポート番号/";
Acquire::ftp::proxy "ftp://プロキシサーバー名:ポート番号/";
Acquire::socks::proxy "socks://プロキシサーバー名:ポート番号/";
記述が終わったら、ファイルを保存してからleafpadを閉じてかまいません。

以上で、「sudo apt-get update」、「sudo apt-get install (パッケージ名)」などのコマンドが実行できるようになります。

ブラウザなど

次に、ブラウザなどを利用するための方法です。ここでは、Raspbian Stretch用の方法のみ記します。

ターミナルソフトウェアLXTerminalを起動し、以下のように管理者権限のテキストエディタleafpadで設定ファイル/etc/environmentを編集用に開きます。
$ sudo leafpad /etc/environment
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
$ sudo mousepad /etc/environment
Raspbianのバージョンにもよりますが多くの場合 /etc/environment は何も書かれていない空のファイルですので、そのまま以下の3行を記入してください。「プロキシサーバー名」や「ポート番号」は環境によって異なりますので、ネットワーク管理者にお尋ねください。もし何かが書かれていた場合も、その内容を壊さないように注意しながら、ファイルの末尾に以下の内容を記します。
http_proxy=http://プロキシサーバー名:ポート番号/
https_proxy=http://プロキシサーバー名:ポート番号/
ftp_proxy=http://プロキシサーバー名:ポート番号/
以上の設定を記述したらファイルを保存してleafpadを閉じます。この設定を読み込むためにRaspberry Piを再起動してください。再起動後、ブラウザでインターネット上のウェブサイトを閲覧できるようになっているはずです。

なお、Raspbian Jessie や Wheezy用の方法は、別の書籍用ページである「Raspberry Piで学ぶ電子工作補足情報『プロキシ(Proxy)環境下での本書の演習の実行』」に記しましたので必要に応じて参照してください。

時刻合わせ

プロキシ環境下ではRaspberry Piの時刻合わせが機能しない場合が多いと思います。そのような場合、もし職場や学校内に時刻合わせサーバーが存在すれば、下記の方法で時刻を合わせることができます。

RaspbianのStretchでは、時刻合わせにsystemd-timesyncdが用いられていますので、その設定を行います。ターミナルソフトウェアLXTerminalを起動し、 leafpadで設定ファイル/etc/systemd/timesyncd.confを開きます。
sudo leafpad /etc/systemd/timesyncd.conf
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
sudo mousepad /etc/systemd/timesyncd.conf
ファイル内で下記のような箇所を見つけます。
(略)
[Time]
#NTP=
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3
.debian.pool.ntp.org
このうち、NTPに関する行の先頭の「#」を削除し、「=」の右辺にお使いの時刻合わせサーバーを記述します。 時刻合わせサーバが存在するかどうかはネットワーク管理者にお尋ねください。
記述後、ファイルを保存してからleafpadを閉じます。そして、Raspberry Piを再起動すれば時刻が合うようになります。

なお、時刻合わせサーバーを用いず、手動で時刻を設定したい場合、ターミナルでコマンドを実行して時刻を合わせます。例えば、3月14日23:09に合わせたい場合は下記のようなコマンドを実行します。
sudo date 03142309


10章のpipコマンド

10章では、kerasとtheanoのインストールにpipコマンドを用いました。プロキシ環境下でpipコマンドを使う場合、下記のようにコマンドを読み替えてください。もちろん、「プロキシサーバー名:ポート番号」の部分は環境に応じて読み替える必要がありますので、ネットワーク管理者にお尋ねください。
sudo pip --proxy=http://プロキシサーバー名:ポート番号 install keras theano

0 件のコメント:

コメントを投稿