連載 / IJN Ⅸ知恵袋ー① 図 9 ブックマーク登録の問合せ ncftp / > close You have not saved a bookmark for this site . WouId you like tO save a bookmark t0 : ftp://ftp.ncftp.com Save? (yes/no) yes Enter a name for this bookmark , Bookmark "NcFTP" saved . ncftp> 目 図 10 日月示的なブックマークの登録 ncftp / > bookmark Enter a name for this bookmark, Bookmark "IIJ" saved . ncftp / > ロ 図 11 ncftpbookmarks の or hit enter for or hit enter for "ftp.ncftp. COIII" ・ "ftp ・ iij ・ ad ・ jp" N cFTP IIJ NcFTP Bookmark Editor Number of bookmarks : 5 Open selected site : Edit selected site: De1ete selected site : Dup1icate selected site: Next page : Previous page : DOWII : Up one : Add a new site : く enter> /ed /del /dup /new く u> く d> く p> く取 > N cFTP IIJ KDE XEmacs lnternic CapitaI letters selects first site starting with the letter. Exit the bookmark editor : く x> ftp://ftp.ncftp ・ com プラリか存在する場合にのみインストールされる ) を使 管理専用の ncftpbookmarks コマンド (curses ライ ncftp のコマンド・プロンプトではなく、ブックマーク 3. ncftpbookmarks コマンドで登録 実列を示します。 使ってブックマークイ求することもできます。図 10 に ncftp のコマンド・プロンプトから bookmark 命令を 2. コマンド・プロンプトから bookmark 命令を実行 としても使うことかできます。 ク・エントリ名は、 ncftp コマンドや叩 en 命令の引数 いものを入力しましよう。ここで設定するブックマー 58 ftp.ncftp. com ftp ・ iij ・ ad ・ jp ftp.kde . org . xemacs . org internic . net ftp. ftp UNIX MAGAZINE 1999.2 ます。 1 画面に収まらない場合は、 p で 1 つ前のページ つ上のエントリに、 d 、 j で 1 っ下のエントリに移動し ncftpbookmarks のメインウインドウでは、 u 、 k で 1 にログインできます。 ターンキーを押すと、 ncftp コマンドか起動され自重加勺 情報を編集できます。また、ブックマークお尺してリ クマークの一覧を表示し、各ブックマーク・エントリの たウインドウ型のプログラムです。イされているブッ ncftpbookmarks コマンドは curses ライプラリを使っ 図 11 に示します。 うカ 1 去です。 ncftpbookmarks コマンドの実行画面を
図 12 B C D E F I J X 連載 / UN Ⅸ知恵袋ー⑩ name : ブックマーク集醯 A B 0 okmark Hostname : User : Password : Account : (Done editing) Comment : Port : H Transfer type : G Loca1 Directory: Remote Directory: B00kmark Options N cFTP ftp.ncftp. com anonymous shima@sharp ・ co ・ JP none /pub (current) Binary 21 (none) SeIect an item tO edit by typing its corresponding letter. に、Ⅱで 1 つ後ろのページに移動できます。 ブックマークを編集するには、編集したいブックマーク を尺して / ed と入力します。すると、ブックマーク 編集ウインドウ ( 図 12 ) に切り替わります。 編集ウインドウでは、尺したブックマーク・エント リの各種一帯長か表示されています。情報を変史する場合 は、変更したい情報に対応するアルファベットを押し て新しい値を入力します。たとえは、ブックマーク名 を変更する場合は a キーを押します。画面の最下行に 新しいブックマーク名を入力する行か現れるので、ブッ クマーク名を入力してリターンキーを押します。編集が 終了したら x でメインウインドウに戻ります。 メインウインドウでは、 /ed のほかに / del 、 /dup 、 /new 命令を使うことができます。それぞオ L 、ブック マーク・エントリの削除、コピー、新規作成です。メ インウインドウで q あるいは x を入力すると ncftp- bookmarks を終了します。 単機能コマンド NcFTP をインストールすると、 ncftpls 、 ncftpget 、 ncftpput という 3 つの単機能コマンドか 1 司時にインスト ールされます。それぞれ、 FTP サーバーのファイルリス トの取得、ファイルの取得、ファイルの送信をおこなうコ マンドです。各コマンドの書式を図 13 ~ 15 に、スイッチ を表 3 ~ 5 に示します。 各スイッチは単純な機能を提供するだけなので、はとん ど説明の必喫はないと思います。以ード、分かりにくいと思 UNIX MAGAZINE 1999.2 われるスイッチのみ抜粋して説明します。 -f はログイン情報ファイル窈旨定です。ファイルの内 容は次のようなものです。 hOSt / 〃ー・・ er ーれ 07 〃 e user 社れ 07 〃 e pass 佖 ss 社 , 0 図 13 ncftpls コマンドØ-* 式 ncftpls [ 0 〃厖 0 れ s ] U 月ん 能性もあるので、注意が必要です。多くの場合、バケット 調べることができます。組織外からの接続は攻撃である可 TCP 接続か、逆に組織外から糾織内への TCP 接続かを に含まれています。これをみ川ま、糸内から糸筬外への 時に接続要求側から接続相手側へ送られる最初のバケット 信路を確立できません。 SYN フラグは、 TCP 接続確立 る場合は、タト部組織の言算機から内部の計算檮、 TCP 通 す。ところが、 SYN フラグ調査型の防火壁を使用してい から FTP クライアントに対して接続要求がおこなわれま 接続要求が出されますが、データ通信路は FTP サーバー 通信路は FTP クライアントから FTP サーバーに対して 通信路の 2 つの TCP 通信路を使います。このうち、制御 コマンドを送信する制御通信路とデータを送信するデータ -F スイッチは PASV モードの指定です。 FTP では、 は糾じ、の注意が必要です。 ード↑帯肋剛を号化されないまま言当求されますから、管理に る必要がなくなります。ログイン↑帯にファイルにはパスワ ると、コマンドラインでユーサー名やパスワードを入力す 上記の形式のファイルを用意して一 f スイッチに指定す 59
連載 / WWW サーパーの育て方一① Apache HTTP サーバー UNIX MAGAZINE 1999.2 具合カ埆肖されました た。 6.4 からの新た新皀加はなく、既存の機能におけるいくつかの不 2 1998 年 12 月 22 日にバグフィックス版の 6.4.1 がリリースされまし ftp.postgreSQL.org/pub/です。ここから postgresql- PostgreSQL のオフィシャル FTP サイトは ftp:// た用途に使うことができます。 テープル名やカラム名、正見表現検索、 LIKE 検索といっ 日本語を扱えるようになりました。マルチバイト文字を、 ではマルチバイト文字がサポートされたので、そのままで PostgreSQL の山辭斤バージョンは 6.4 です 2 。山懿斤版 いへん高機能でイ囀生もあります。 ます。 PostgreSQL は、フリーの RDBMS としてはた バックエンドのデータベースには PostgreSQL を使い PostgreSQL のモジュール・コンポーネントをそのまま利用します。 ります。今回はとくに必要なモジュールはないので、標鴟 のモジュールをコンパイルできるようにしておく必要があ この段階で、標準でコンパイルされないモジュールや自作 これでコンパイルとインストールの準備は整いました。 # . /configure ——prefix=/usr/local/httpd ます。 を指定できます。ここでは、 /usr/local/httpd としてい オフションで、 Apache をインストールするディレクトリ 下のように configure スクリプトを実行します。 --prefix Apache のアーカイプを展開したディレクトリで、以 インストールの準備だけしておきましよう。 こでは ルとともにおこなわれるからです。したがって、 のコンパイルとインストールは、 mod-perl のインストー なぜ「準備編」かというと、 mod-perl 対応の Apache Apache のインストール ( 準備編 ) なミラーサイトを示します。 に近いミラーサイトから入手してください。表 1 に代表的 apache/dist/apache-l. 3.3. tar. gz か、ネットワーク的 新版はバージョン 1.3.3 です。 ftp://www.apache ・ org/ ーとして、依然 Apache に分があるように思います。最 い評 1 司を聞きませんが、フリーで誰もが使いやすいサーバ HTTP サーバーには Apache を使います。去も匠はよ 表 1 Apache の代表的な国内ミラー FTP サイト ftp://ftp.jaist ・ ac ・ jp/net/apache/dist/ ftp://ring ・ aist ・ go. jp/archives/net/apache/dist/ ftp://ring.asahi-net.or.jp/archives/net/ apache/dist/ ftp://sunsite.sut.ac.jp/pub/archives/WWW/ apache/dist/ ftp://ftp.infoscience ・ co ・ jp/pub/net/apache/dist/ ftp://ftp.lab.kdd.co.jp/infosystems/apache/dist/ ftp://mirror.nucba.ac.jp/mirror/Apache/ ftp://ftp.meisei-u.ac.jp/pub/www/apache/dist/ 表 2 PostgreSQL の代表的な国内ミラー FTP サイト ftp://ftp.jaist ・ ac ・ jp/pub/dbms/PostgreSQL/ ftp://ftp.sra ・ co ・ jp/pub/cmd/postgres/6.4/ ftp://ftp.u-aizu.ac.jp/dbms/postgreSQL/jp/6.4/ v6.4. tar. gz3 をもってくるか、表 2 に示した国内のミラー サイトから入手してください。 flex のパーションにラも意 PostgreSQL はコンパイル時に lex を使います。その 際、 GNU カ甘是供する lex である flex を使う場合はバージ ョンに注意してください。ノヾージョン 2.5.2 か 2.5.4 ↓淡十 . を使うようにする必要があります ( 2.5.3 は使えません ) 。 PostgreSQL 用アカウントの作成 絶対条件ではありませんが、できれは PostgreSQL 専 用のアカウントを作りましよう。私は、 postgres という 名前のユーサーを作るようにしています。 root では、デー タベースのインストールがうまくできません。 PostgreSQL のインストール インストール作業は PostgreSQL 専用のユーザーでお こなうことをお勧めします。 postgresql-v6.4. tar. gz を展開したら、 src/Makefile. custom というファイルを作り、次の 1 行を追加します。 MB=EUC_JP 続いて configure を実行すれは、コンパイルの準備か整 います。これも、 --prefix オプションでインストールする ディレクトリを指定できます。以下の例では、 /usr/local /pgsql にインストールするように指定しています。 % . /configure ——prefix=/usr/local/pgsql 3 去辭斤の postgresql-6.4.1. tar. gz を使ってください。インストール方 法などに変更はありません。 37
連載 / 遠隔オフィスとの接続 - ⑨ 図 10 anonymous FTP てアクセスした状態 フ言ル [ ) 編集表示、辺シ ' ャンア 0022 オ酬” ) 今ルア ( 当 再読み込み ホーム 図 11 匿名ではない FTP でアクセス ftp & 0n20n 日朝。 meon e 朝圧 0 「のに対するユナ、 名を入力してください someone ユーナ名とハ ' スワードの入力 国← 5 こ叩を ロ X 印刷 セキュリティ 亠一ゴ Network Worki ng Group Request for Comments. 240 〕 0bsoletes 238 , 2200. 2 価 0 1920 18 ユ 1 . 17 , 1720. 1610. 168. 1540. 158. 1 410 1360. 12 , 1250. 128. 1140 , 1130. 1 1 の 183 STD 1 Category. Standards Track INTERNET 日引乢 PROTIDI_ STAtOARß lnternet Archi tecture æard J. Postel ↓ Reynolds Editors September 1998 てくるので ( 図 11 ) 、ユーサー名、、 someone" に対応する パスワードを入力します。 FTP のパスワードは、以下の形式で URL に含めてし まうこともできます。 ftp : / / 社 se 卿田 me 挈碼“ .10 司@dom ルれ ame / 五 / e 叩ん しかし、パスワードがクリアテキストのまま Web プラ ウサに表示されたり、ドロップダウン・リストに保存され るのはかなり婦寺ちか懇いので、通常は上記の形式を使わ ないはうがよいでしよう。 “ ) 。項目を含む URL を使うのは、 anonymous FTP で電子メールアドレスを指定するときだけにとどめ ておくほうか無難です。 Status of this M 部に ュメン 引き継がれており、 Communicator でも lnternet Ex- plorer でも FTP が使えます。 ですから、本社側で FTP サーバーを起動しておけは、 適隔オフィス側では Web プラウサの機能を使って FTP でファイルを取得できます。 おなしみの、 ftp://dom ルれ ame / 五 / e 叩観ん という形式の URL を指定すると、 anonymous FTP に よるファイルのダウンロードがおこなわれます。たとえ は、図 10 はインターネット上で公開されている anony- mous FTP サイトのファイルに、 Web プラウサでアク セスした状態です。 ただ、 anonymous ( 匿名 ) ということは、自社の遠隔 オフィスのユーサーだけでなく、外部のユーサーでもファ イルを取得できてしまうので、外部に公開したくないファ イルに対しては適用できません。 FTP 匿名がいけないなら、匿名ではない FTP を使えばいい と思うのは自然でしよう。 Web プラウサから匿名ではな い FTP にアクセスするには、 ftp://username@dom ルれ佖 me / 五 / e 叩ん という形式の URL を指定します。たとえは、 some— one" というユーサー名で、 www.ietf.org ' ヘアクセスす るには、 URL は次のように指定します。 ftp://someone@www.ietf.org/ 匿名ではない FTP の場合は、続けてパスワードを訊い ☆ 今回は、遠隔オフィスと接続する方法の 1 っとして、 Web の利用をとりあげました。ま Web プラウザを 使ったファイル転送にいくつかの手段があることもみてき ました。 次回は、 Web のアクセス制限の機能と、 Web サー に Apache を使った場合の設定について紹介します。 ( あらい・みちこ ASTEC) 51 UNIX MAGAZINE 1999.2
連載 IJN Ⅸ知恵袋ー① 図 2 通常の FTP ログイン filestore. SOft . sharp ・ co ・ jp FTP server (Version 6.00 ) ready. Password for user "shima" at filestore. soft . sharp. CO ・」 p : * * * * * * * * Connecting t0 10.130.10.20. NcFTP 3.0.0 beta 16 (December 01 , 1998 ) by Mike G1eason. $ ncftp —u shima filestore . soft . sharp ・ co ・」 p Logging in ・ User shima logged in. Logged in t0 localhost . ncftp /home/shima > put はそれぞオ、コマンド名に対応する命令を実行する単 体コマンドです。シェル・スクリプトでの利用などに向い ています。 NcFTP にはファイル中幻の了・約機能がありま す。この機能をサホートするコマンドが ncftpbatch コ マンドです。目的のファイルの中幻を予約しておき、ネッ トワークか混雑していない時間に自重加勺に転送を開始する ことができます。 ncftpbookmarks は、 FTP サイト のブックマーク情報を管理するコマンドです。 使ってみよう ncftp はコマンド・インタープリタ型のユーザー・イン ターフェイスをもっ FTP クライアントです。基本的な機 能は、標準的な UNIX システムに付属している ftp コマ ンドと互換があると考えて差し支えありません。 ます、 ncftp を使ってファイル転送をするときの流れ を、例をみながら追っていきましよう。なお、防火壁内の 環境て利用している人は、「防火壁への対応」の節をみて、 関連する設定をおこなってください。直接インターネット と接続できる場合はそのままで間題ありません。 ncftp コマンドの : 書式を図 1 に示します。 ncftp は匿名によるロクインが基本動作になっていま す。その場合、ログイン名として anonymous 、パスワー ドとしてローカル言 fr 算機のログイン名とローカル引・算機の 名前から生成されたメールアドレス形式の文字列が使われ ます。パスワードとして使うメールアドレスは、 ncftp の コマンド・プロンプトで変史できます。詳しくは「設定 の変更」の節を参照してください。引数には FTP サー ー名か、 ftp://で始まる URL を指定します。たとえ ノ、 は、 ftp.iij.ad.jp にログインするなら、次のように ncftp 54 を起動します。 $ ncftp ftp ・ iij ・ ad ・ jp URL を使う場合は、ログイン直後に移動するディレク トリまで含めた指定ができます。 ftp.iij ・ ad ・ jp の /pub/ internet-drafts ディレクトリにログインしたけれは、次 のように指定します。 $ ncftp ftp: //ftp. iij ・ ad ・ jp/pub/internet—drafts 匿名ではなく通常のユーザーとしてログインするには、 ー u スイッチを使ってログインユーザー名を指定します。 $ ncftp —u shima filestore. soft . sharp. CO ・ JP 匿名口グインではない場合、 FTP サーバーとの接続に 成功するとパスワードを言肋、れます。ログイン名に対応す るパスワードを入力することで通常の FTP ログインカ院 了します。図 2 に実行例を示します。 接続とログインカ院了したら、あとは標準的な UNIX 環境で利用できる ftp コマンドとはは、同し命令が使えま す。ただし、命令のなかには操作性矼 E のために若下変更 されているものもあります。次に、それらの命令をみてい くことにしましよう。 FTP サーバーへの接続 ncftp コマンド・プロンプト上から FTP サーバーへ 接続するためには、 open 命令を使います。 ncftp は、匿 名での接続をデフォルトとしてしますから、標勺な ftp コマンドと同し感覚で open 命令を使うと、自重加勺に 匿名でログインしようとします。 ncftp コマンドの叩 en 命令の書式を図 3 に示します。 ー a スイッチは匿名口グインの指定です。ふつうはとく に指定する必要はありません。ただし、彳刻するブック マーク機能を使うと、登録した FTP サーバーへの自動ロ UNIX MAGAZINE 1999.2
連載 / IJN Ⅸ知恵袋ー① 表 5 ncftpput コマンドのスイッチ スイッチ —u user —p ass 社 , 0 —d de -0 社 t —U mas ん —t 7 〃 eo 社 t -f あのれ . c カ —DD ーて times 機能 ログインユーサー名 ログイン・パスワード デバッグ出力 ASCII モードて沖幻 リモート・ディレクトリを作成 umask 孑日疋 送信途中のファイルに付けるプレフィック ス 転当冬了後にローカル言 t 算機のファイルを PASV モードを使う 継続午 - 可 ( 禁旧 転送したファイルを既存のファイルに追記 ログイン情報ファイル窈旨定 進行状況メーターの表示 ( 表示抑制 ) タイムアウト日判日。単位は秒 送信途中のファイルに付けるサフィックス リトライ回数 再帰的に逶 消去 で目的の FTP サーバーに接続 ( タイプ 2 ) ・ SITE 7 ℃襯 . ん os た 7 田 me USER 社 ser ・ PASS as 引〃 0 で目的の FTP サーバーに接続 ( タイプ 3 ) ・ OPEN 眦襯 . ん os こ . 7 田 me USER 社 set 、 PASS 碼 swot 、 d で目的の FTP サーバーに接続 ( タイプ 4 ) UNIX MAGAZINE 1999.2 言置項目は次のとおりです。 サーバーの不頁に合わせて書き換えます。このファイルの $HOME/. ncftp/firewall ファイルの内容を代理 FTP たるのか、ネットワーク管理者に石忍してください。次に、 自分カ」用している代理サーバーが上のどのタイプにあ で目的の FTP サーバーに接続 ( タイプ 6 ) PASS as vo USER us 礎・ PASS ro 工挈 ass 0 ・ USER ro 工リー社ser@7、e襯.ん os た 7 田 me で目的の FTP サーバーに接続 ( タイプ 5 ) PASS password@proxy-password ・ USER 社ser@〃 rox 生れ set、@7℃ . ん os たれ佖 me ・ firewall-type 代理 FTP サーバーの不庇ト述のタイプの 1 ~ 6 。代 理 FTP サーバーを使わない場合は 0 にする ・ firewall- host 代理 FTP サーバーの計算機名 ・ firewall—user 61 ( しま・けいいちシャーフつ は、時代の流れなのかもしれません。 ような咼機能クライアントであってもバンドルされないの らす 4.4BSD ライクな古き良き ftp です。 NcFTP の されています。ところが、 FTP クライアントは、相変わ Netscape のプラウザは、多くの UNIX システムでオ采用 もバンドルされるようになってきているようです。実際、 去も丘では、優れたソフトウェアであれは商用 UNIX に ないのですから。 取るだけでも、何回ものクリックを繰り返さなければなら は少々敷居の高さを感します。なにしろ、ファイルを 1 つ うにイ瓦想端末をたくさん開いて竹喋している人間にとって face) を提供してくれるクライアントがないので、私のよ は、 FTP のような CUI (Commandline User lnter- 開ですら HTTP を使うことが多いようです。 HTTP に 近ごろは HTTP 至 . E 主義の状況にあり、ファイルの公 ☆ でうまくしているようです。 しては、私の工竟 (DeIegate による代理 FTP サーバー ) いと書かれています。しかし、すくなくともタイプ 1 に関 理サーバー機能はテスト中であり、重川しないかもしれな NcFTP パッケージのべータ・リリースノートには、代 指定された場合も代理 FTP サーバーを使わない ワードを指定すると、ドメイン名を省略した計算機名が イン名およひ計算機名。 localdomain という特殊キー 代理 FTP サーバーを使用せすに、直接接続するドメ ・ firewall-exception-list 代理 FTP サーバーのポート番号 ・ firewall- p ort 代理 FTP サーバーにログインするためのパスワード ・ firewall-password 代理 FTP サーバーにログインするためのユーサー名
連載 / IJN Ⅸ知恵袋ー① 図 8 予糸だ兄認 $ ncftpbatch ー 1 —Schedu1ed—For— 1998 ー 12 ー 14 03 : 00 1999 ー 12 ー 15 03 : 00 1999 ー 01 ー 02 04 : 00 —Host— ftp ・ iij ・ ad ・ jp ftp.ncftp. com ftp. internic. net 形式では、麦 24 間以内の任意の時刻を指定できます。 3 つ目は現在時刻からの相対時間を指定する形式です。た とえば、 6 時間後にファイルを取得したけれは、次のよう に bgget 命令を実行します。 ncftp / > bgget ー "now + 6 hours" huge ・ tar. gz ー@スイッチで 3 番目の形式を使う場合は、引数を引用 符 ( " ) て棚まなけれはなりません。 なお、通常の FTP ログインで予約転送するためには、 ncftp コマンドの save-passwords 変数を yes にしなけ ればなりません。 FTP サーバーに接続する際に認証手続 きをおこなう必要があるからです。匿名 FTP サーバーの 場合は間題ありません。 現在の予糸大況は ncftpbatch コマンドて市忍すること かできます。図 8 に予糸大況の石忍画面例を示します。 の例では、 3 つの予約があることが分かります。 ncftpbatch コマンドは、予糸大況を確認する以外に 予約に含まれている転送要求を強制的に実行することもで きます。そのためには、 ncftpbatch コマンドを一 d もし くは -D スイッチ付きで実行します。 -d スイッチを指定 すると、 ncftpbatch コマンドがバックグラウンド・プロ セスとなり、バックグラウンドでファイルの中幻医を開始し ます。 -D スイッチは、 ncftpbatch コマンドがバックグ ラウンド・プロセスにならないこと以外は一 d スイッチと 同しです。 なお、予約の強制実行は、 ncftp コマンド・プロンプト から bgstart 命令を実行することでも実現できます。 工点では、予約をキャンセルするためのユーザー・イ ンターフェイスは用意されていません。予約を取り消すに は、バックグラウンドで実行されている ncftpbatch コ マンドを終了し、 $HOME/. ncftp/spool ディレクトリ にある予約ファイルを削除します。 UNIX MAGAZINE 1999.2 ー Command— GET /pub/misc/zsh. tar. gz GET /pub/ncftp/ncftp.tar ・ gz GET —R /pub/internet—drafts ブックマーク ncftp コマンドは、 FTP サーバーの情報をあらかしめ 登録することで、すはやくアクセスできる機能を備えてい ます。この機能はブックマークと呼はれます。ブックマー クの各工ントリは、次に示す情報をイ尉寺しています。 ・ブックマーク・エントリ名 ・ FTP サーバー名 ・ログイン名 ・ノ、スワード これらの情報を使えば、ログインからディレクトリ移 ・ FTP サーバーのポート番号 ・中幻医種別 ( バイナリ形式、テキスト形式 ) ・ローカル言算機のディレクトリ ・ FTP サーバーのディレクトリ ・アカウント 57 かりやすく、他のブックマークのエントリ名と重複しな ーク・エントリ名を訊かれるので、あとでみたときに分 、 Save ? " と、れたときに yes と答えると、ブックマ を示します。 かどうかを間い合わせてきます。図 9 に間合ぜの状況 ブックマークに登録されていなかった場合、登録する ncftp は、直前に接続していた FTP サーバーの情報が 1. 接続終了時に自動登録 ブックマークへの当求力法は、次の 3 通りがあります。 匿名口グイン以外ではパスワードを訊かれます。 ただし、 save-passwords 変数の値を no にしている場合、 ロンプトを表示するまで、完全に自動でおこなわれます。 算機のディレクトリを変更したあと、 ncftp のコマンド・プ ログインし、リモート計算機のディレクトリとローカル計 サーバーに接続すると、ブックマークの認証情報を使って 動までを自ヒできます。ブックマークを利用して FTP
連載 / UN Ⅸ知恵袋ー① 図 3 open 命令の書式 UNIX MAGAZINE 1999.2 と、 1 つ目をリモート引・算機のファイル名、 2 つ目を取得 また、オ剽純勺な get 命令でファイル名を 2 つ指定する 対応しています。 るのですが、 ncftp では get 命令自体がワイルドカードに ま早しません。多くの場合、その代わりに mget 命令があ オ剽勺な ftp コマンドの get 命令はワイルドカードを 命令の書式を図 4 に示します。 ファイルの取得には get 命令を使います。 ncftp の get ファイルの取得 を参照してください。 す。ブックマーク機能については、「ブックマーク」の節 引数を言 t 算機名か IP アドレスであると判断して接続しま バーにログインします。ブックマークに存在しなけれは、 は、ブックマークの成疋に従って、対応する FTP サー クのエントリに存在するかどうかを確認します。存在すれ open 命令は最初に、 s e で渡された引数かブックマー ・ブックマークの名前 ・ ftp : / / 形式の URL ・ FTP サーノヾーの IP アドレス ・ FTP サーバーの言算機名 定です。指定のガ去には次の 4 不鶤頁があります。 チで変更することができます。 site は FTP サーバー窈旨 番号を指定します。通常は 21 番のところを、このスイツ に指定してください。 -p は接続先 FTP サーバーのポート あります。このようなときは、アカウント名を -J のあと を実行する場合に、特殊なアカウントが必要になることが イルをクライアントからサーバーに送るなど、特別な命令 に、特殊なアカウントを使った認証をおこないます。ファ サーバーでは、ユーサー名とパスワードによる認証のほか 指定します。 -J はアカウントの指定です。一部の FTP ログインではなく、通常のログインをおこないたい場合に -u 、 -p はそれぞれューサー名とパスワードです。匿名 強制的に匿名口グインする場合に使います。 ンするようにブックマークで指定した FTP サーバーに グインができます。 -a スイッチは、通常の手順でログイ [-P 〃 0 ] site open [-a] [-u user] [—p ass 囮 0 ] [—J 佖 cco 社れ 図 4 get 命令の書式 get [-Rzaf] 五 / e ノ第 le2. 図 5 put 命令の書式 put [-Rzaf] / e ノ第 / e2. 孑卆して送信してもらう必要があります。 FTP サーバーの不軽頁によって 1 糯嗣 ( 得するためには、 FTP サーバー・プログラムにファイルの一 ; を put 命令も、 get 命令と同しようにカ長されています。図 ローカル言 fr 算機のファイルをリモート計算機に転送する ファイルの送信 容を追記します。 カル言算機」 : のファイルの末尾に、取得したファイルの内 -a スイッチは append の意味で、すでに存在するロー 以下のファイルをすべて取得したい場合に指定します。 ー R スイッチは再帰処理ク旨定です。あるディレクトリ 抑制したいときは、一 f スイッチを使います。 でも違うファイルということもあるからです。糸取得を るとはかぎりません。ファイル名とファイルサイズか 1 司し ただし、このイ督はみでかならすしも正しく継続取得ができ 得できなかった残りの部分のみを取得しようと試みます 1 。 の場合、再度ファイル全体を取得するのではなく、前回取 れば、前回のファイル取得が中断されたと判断します。そ モートの FTP サーバー上のファイルサイズより小さけ ーのファイル名のファイルがすでにローカルに存在し、リ 場合には自重加勺に継続取得をおこないます。 ncftp は、同 ncftp の get 命令は、取得中断ファイルを再取得する ています。 を取得し、 RMTFILE. TGZ というファイル名てイ呆存し この例では、 remotefile. tar. gz という名則のファイル ncftp / > get ー 2 remotefile. tar. gz RMTFILE. TGZ に使います。 送後のローカルファイル名になります。たとえは次のよう ー z スイッチを使うと、 2 つ目に指定したファイル名か転 ると不都合がある場合は一 z スイッチを指定してください。 ト計算機のファイル名をそのままローカル言算機に作成す をリモート計算ファイル名として里します。リモー 処理します。 ncftp の get 命令では、すべてのファイル名 後に保存するときのローカル計算機」 : のファイル名として は、このオ新皀を実装していないことがあります。 55
連載 / UN Ⅸ知恵袋ー① 表 1 インストールされるファイル /usr/local/bin/ncftp /usr/local/bin/ncftpls /usr/local/bin/ncftpget /usr/local/bin/ncftpput /usr/local/bin/ncftpbatch /usr/local/bin/ncftpbookmarks /usr/local/man/manl/ncftp.1 /usr/local/man/manl/ncftpls.1 /usr/local/man/manl/ncftpget.1 /usr/local/man/manl/ncftpput.1 /usr/local/man/manl/ncftpbatch.1 テイ事情で、ふだん利用している計算機から学外や社タ FTP サーバーへ直オ妾続できないことが多くなりました。 もちろん、防火壁を越えるための代理 FTP サーバーが 設置され、特殊な手続きを経ることで組織タ ) FTP サー ーに接続できるようになっている場合も多いでしよう。 NcFTP では、代理 FTP サーバーの情報をあらかじめ 言殳定しておけば、あたかも外部の FTP サーバーに直孑妾 続しているかのようにファイル中幻医がおこなえます。ただ し、代理 FTP サーバーにヌ寸応しているのはバージョン 3 以降です。いまのところ、バージョン 3 はべータリリー スの段階で、カ坏安定になる可能生があります。しか し、現在の私の竟でも代理 FTP サーバーへの対応は欠 カせない機能なので、本稿ではバージョン 3 をもとに角見 します。 代理 FTP サーバーと予約中幻丿、外の機能は、バージョ ン 2 の NcFTP でも利用できるはすです。これらの機能 か不要であれは、安定しているバージョン 2 を使うことを お勧めします。バージョン 2 系列の最第版は 2.4.2 です。 補助ライプラリ NcFTP のすべての機能を利用するには、次の 2 つのラ イプラリを事前にインストールしておく必要があります。 ・ readline ライプラリ ・ curses ライフ・ラリ readline ライプラリは行編集の機能を提供します。 のライプラリがなくても NcFTP のコンパイルはできま すが、ファイル名の補完機能やコマンドラインの編集機能 は利用できません。 readline ライプラリは GNU のソフ UNIX MAGAZINE 1999.2 図 1 ncftp コマンドの書式 ncftp [-u 社 se ロ m 司 [ ん os 日 U 昀 トウェアです。近くの GNU ミラーサイトから取得して ください。ただし、バージョン 2.2 は、インストールの手 順に間題があるため使ってはいけません。バージョン 2.1 か、 2.2.1 以降のものを使ってください。 curses ライプラリは画面制御をおこないます。 NcFTP バージョン 3 では、ブックマーク ( 彳 ) を編集するコマ ンド ncftpbookmarks でのみ利用されています。 curses ライプラリは、システムにあらかじめ組み込まれている場 合もあります。ただし、機育顎勺な間題から、 NcFTP との 組合で正しく重川しないライプラリもあるようです。利 用しているシステムに curses ライプラリが存在しなかっ たり、システム付属のライプラリで問題か起きるようであ れば、 GNU の ncurses ライプラリを使ってください。 GNU readline ライプラリ、 GNU ncurses ライプラ リとも、 configure スクリプトが付属していますから、イ ンストールで悩むことはないでしよう。 インストール 補助ライプラリをインストールしたら、次は NcFTP 本体です。去斤バージョンは 3.0b16 で、 ftp://ftp.ncftp .com/から入手できます。 NcFTP には configure スク リプトか嗣属しています。システム環境の調査に加えて、 readline ライプラリと curses ライプラリの自動験出もお こないます。 readline ライプラリがないとコマンドライ ン編集機能やファイル名の補完機能が利用できませんし、 curses ライプラリか利用できないと ncftpbookmarks コ マンドがインストールされません。これらは、 NcFTP の 使い勝手を 1 上させるイリな機能です。特別な理由がない かぎり、上記のライプラリを使うことをお勧めします。 $ gzip —cd ncftp—3.0beta16—src . tar. gz ー tar xf $ cd ncftp—3.0beta16 $ sh configure $ make make か終了したら make install でインストールして ください。表 1 に示すファイルがインストールされます。 ncftp が対話型のユーサー・インターフェイスをもった FTP クライアントです。 ncftpls 、 ncftpget 、 ncftp- 53
UN Ⅸ知恵袋 NcFTP 世の中ではたくさんの通信プロトコルか運用されていま す。メールを中幻医するための SMTP 、ⅥーⅥーⅥーにアクセ スするための HTTP 、遠隔ログインのための Telnet フ ロトコルといったよく知られたものから、おそらく一生使 わないであろうものまでさまざまです。それぞれのプロト コルは、設計当初に考えられていたサービスを効率よく、 あるいは機能的に実現するように作られています。メー ルを転送するために Telnet を使うのは非効率的ですし、 遠隔ログインのために HTTP を使うことはできません。 これらのプロトコルは、それぞオリ虫自の特徴をもってい ます。ですから、プロトコルの機能をユーサーに提供す るアプリケーションも異なったものになります。たとえ ば、 SMTP を提供する sendrnail 、 HTTP を提供する apache や lynx 、 Telnet を提供する telnet などです。 一方、似凾った機能をもつプロトコルをアプリケーショ ン・レベルて統合する例もあります。ファイル中幻医機能を 提供する FTP は、現在では Web プラウサを介して利用 されることが多いのではないでしようか。しかし、 Web プ ラウザはもともと HTTP を実現するために作られたアプ リケーションです。ですから、 Web プラウサ経由で FTP のすべての機能を利用することはできません。 URL の発明によって、種々のサービスと、サービス を提供する場所を統一的に表現できるようになりました。 URL がなければ、 HTTP と FTP か 1 司しインターフェイ スで扱われることはなかったかもしれません。将来、さら に抽象的なサーピス表現の仕組みが考えだされたとき、私 たちは 1 つのアプリケーションの使い方を憶えるだけで、 あらゆるサーピスを亨受できるようになるのでしようか。 今回は、ファイル転送プロトコルである FTP に特化し たユーザー・インターフェイスを提供する NcFTP を紹 52 介します。 NcFTP とは ? NcFTP は FTP をサポートするソフトウェアです。た いていの UNIX システムに標鴟でイ寸属している ftp コマ ンドと同じ役目を果たし、さらに多く刎甦リな機能をもっ ています。 NcFTP のおもな特徴を挙げてみましよう。 ・ファイル名の補完 ・予糸云送 代理 FTP サーバーへの対応 ・取得中断ファイルの継朝え得 ・コマンドラインの編集 ・転当第過率の表示 ファイル名の補完機能は、 csh や bash など UNIX の シェルで寒見されているものとよく似ています。シェルで は、 [Esc] キーや [Tab] キーを押すことで、入力途中のフ ァイル名の残りの部分を補完します。 NcFTP も、 [Tab] キーでファイル名の補完ができます。 皆さんは、ファイル転送の途中で接続が切れてしまい、 もう 1 度ファイル本を取得しなおすという経験をした ことはありませんか ? NcFTP は転送の途中で接続が切 れてしまった場合、中断したところから逶を再開するこ とができます。 500KB のファイルを 490KB 取得したと ころでネットワーク接続が切れてしまっても、もう 1 度 500KB 本を取得する必要はありません。残りの IOKB だけを取得す川よよいのです。 さらに、注目すべき機能としては、代理 FTP サーバ ーに対応していることか挙げられます。近年のセキュリ UNIX MAGAZINE 1999.2