タイトル大津真=XはUNIXでサーバで》UNIX用ソフトウエアのインストール法(1)カテゴリーインターネット全般, UNIX, 大津真=XはUNIXでサーバで
作成日2001/8/25 1:41:59作成者新居雅行
――――簡単な自己紹介
みなさま、こんにちは。今回から「XはUNIXでサーバで」のコーナーを担当させていただくことになりました大津真です。もともとは、某海外コンピュータメーカーのSEだったのですが、その後独立し、下請けプログラマ、売れないギタリスト、CMなんかの音楽制作、一升瓶の王冠収集人、国際線のパイロット、詩人、証券アナリスト..などなど(半分ウソ)これまでさまざまな仕事で細々と生計を立ててまいりました。最近では、なぜかライターとしての仕事がメインとなりつつあります。MDOnlineの発行人としておなじみの新居さんとも「Mac OS X導入パワフルガイド」などの書籍でご一緒させていただきました。

それでは、とうとつに本題に入らせていただきます。ご存じのようにMac OS X(Server)はAquaという羊の皮を被ってはおりますが、コア部分のDarwinは由緒正しい骨太UNIXです。このコーナーでは、一般ユーザはあまり意識する必要のないMac OS Xの心臓部分ともいえるUNIXレイヤーに焦点を当てて、コマンドの操作方法やサーバとしての運用方法などについて説明していきたいと思います。とはいえMac OS XのUNIX的活用については私自身も試行錯誤の部分も多く、また情報量も十分でないため、記事の間違えの指摘やよりうまい方法などなど、読者のみなさまからのフィードバックも熱烈歓迎しますのでどうかよろしくお願いします。なお、記事の内容によってはMac OS X Serverに特化した内容になることもあると思いますがその点もご了承下さいませ。また、このコースでは、Terminal上でUNIXコマンドを直接実行する必要があることがしばしばあります。Macユーザの多くはそのようなコマンドラインでの操作になれていないと思いますので、できるだけ毎回、記事の最後にUNIXの基礎知識をまとめておきますので参考にしていただければ幸いです。
さて、UNIXには多くの優秀なプログラマの英知の結晶ともいえる膨大な量のソフトウエア資産があります。しかもオープンソースとして公開されているものも少なくありません。それらを活用しない手はないね!ということで、今回は「UNIX用ソフトウエアをソースからコンパイルしてMac OS Xにインストールする方法」について説明していきます。

――――なにをインストールしようかな
なにを題材にしようかと思ったのですが、できるだけ役に立つものということで、私自身日頃から愛用しているTerminal上で動作するFTPクライアントNcFTPに決めました。

◇NcFTP
 http://www.ncftpd.com/ncftp

あのFetchがMac OS Xに移植された今、なにをいまさらCUIのFTPを...と思われる方もいるかもしれませんが、NcFTPは、履歴機能、ファイル名の補完機能、ブックマーク機能、バッチ処理、バックグラウンド機など豊富な機能を持つ珠玉の一品のFTPクライアントです。しかもフリーですし(笑)。
なお、NcFTPはMac OS Xに標準でインストールされていますが、バージョンが2.4.3と古く、また恐ろしく便利なブックマーク機能も使えません。今回はNcFTPの最新版3.0.3をインストールしてみます。

――――インストールまでの流れを確認しておく
かつては同じUNIX系OSといえども、ソフトの移植はけっこう手間でした。最近ではimakeやautoconfのような自動化ツールが広まったおかげで比較的簡単になってきています。imakeはX Window System上で動作するソフトウエアのためのツールですので、とりあえずはMac OS Xとは無関係です。今回はautoconfによって作成されたconfigureスクリプトが用意されているソフトウエアを取り上げます(configureスクリプトの働きについては後ほど)。ソースの取得からインストールまでの全体の手順は次のようになります。

 1. 圧縮されたソースファイルをダウンロードして展開
 2. configureスクリプトでMakefileを作成
 3. makeでコンパイル
 4. make installでインストール

順に説明していきましょう。なお、コンパイルにはDeveloper Toolsが必要ですので、まだインストールされたいない方は、あらかじめインストールしておいてください。

――――作業用のディレクトリを作っておく
あらかじめ適当な場所にワーク用のディレクトリを作っておきます。Finder上で作成してもかまいませんが、Terminal上で行うにはmkdirコマンドを使います。たとえばホームディレクトリのDocumentsディレクトリの下に、ncftp-workディレクトリを作るには次のようにします。(以下、%はプロンプト、<return>はreturnキーを押すことを示しています。)

% mkdir ~/Documents/ncftp-work <return>

ここで、チルダ「~」は自分のホームディレクトリを表します。ディレクトリの移動にはcdコマンドを使います。作成したncftp-workディレクトリに移動するには次のようにします。

% cd ~/Documents/ncftp-work <return>

――――圧縮されたソースファイルをダウンロードして展開
次に、http://www.ncftpd.com/ncftpより圧縮されたソースファイル「ncftp-3.0.3-src.tar.gz」をダウンロードします。拡張子の「.tar.gz」はTARフォーマットでアーカイブされた後にGZIPフォーマットで圧縮されていることを表します(「.tar.gz」を略して「.tgz」となっている場合もあります)。このフォーマットは通称「tarボール」と呼ばれ、UNIX用ソフトウエアでは一般的なフォーマットです(最近ではBZIPで圧縮された拡張子が「.tar.bz2」のファイルも多くなってきていますが)。
tarボールは最近のStuffIt Expanderで解凍できるので、Internet Explorerでリンクをクリックするだけで自動解凍できます。ただし、まれにダウンロード先にディレクトリを作成せずに中身を直に展開するお行儀の悪いやつがいるので注意しましょう。ディスクトップがアイコンの山になってしまったりします。そのため、[リンクをディスクにダウンロード]を選択してダウンロードした後にTerminal上でtarコマンドを使って解凍することをオススメします(Terminalでの操作に慣れている方は、Linuxなどでは定番のwgetコマンドもMac OS Xにインストールされているのでそちらを利用してダウンロードしてもいいでしょう)。tarコマンドは、もともとはアーカイブを作成/展開するツールでしたが、最近のものは圧縮/解凍をサポートしています。

まずは、中身の確認からです。tarコマンドで圧縮ファイルの中身を確認するには「tvzf」オプションを付けて実行します。

% tar tvzf ncftp-3.0.3-src.tar.gz <return>
drwxr-xr-x 2 daemon bin 0 Apr 17 03:22 ncftp-3.0.3
drwx------ 2 daemon bin 0 Apr 17 03:22 ncftp-3.0.3/libncftp
-rw-r--r-- 1 daemon bin 3868 Sep 30 1999 ncftp-3.0.3/libncftp/libncftp.dsp
-rw-r--r-- 1 daemon bin 539 Sep 30 1999 ncftp-3.0.3/libncftp/libncftp.dsw
-rw-r--r-- 1 daemon bin 41665 Apr 16 02:37 ncftp-3.0.3/libncftp/cmds.c
〈以下略〉

これを見るとわかるようにNcFTPはカレントディレクトリに、きちんとncftp-3.0.3ディレクトリを掘って中身を展開するようです。これで安心。展開は「xvzf」オプションです。

% tar xvzf ncftp-3.0.3-src.tar.gz <return>
ncftp-3.0.3
ncftp-3.0.3/libncftp
ncftp-3.0.3/libncftp/libncftp.dsp
ncftp-3.0.3/libncftp/libncftp.dsw
ncftp-3.0.3/libncftp/cmds.c
ncftp-3.0.3/libncftp/util2.cpp
ncftp-3.0.3/libncftp/configure.in
ncftp-3.0.3/libncftp/errno.c
〈以下略〉
(続く)
関連リンク