製品レビュー
|
||
いま述べたとおり、wgetは一種のダウンロード・ツールである。引数にURLを指定して、その場所にあるファイルをダウンロードするのが基本的な使用方法だ。これ以外にも、あらかじめテキスト・ファイルに複数のURLを記述して、これをダウンロードするファイル指定として使うこともできる。wgetの利点としては、コマンドライン・オプションや設定ファイルによりダウンロード方法を細かく指定可能、コマンドライン・ベースであるためシェル・スクリプト(スクリプト言語としてのシェルで記述されたプログラム)との相性がよい、などがあり、UNIXユーザーの間で広く一般に利用されている。
このwgetはGNUプロジェクトのプログラムであるため、GNUのミラー・サイトを始めとして、さまざまなところで入手可能である。今回は、Ring Server(ftp:/ftp.ring.gr.jp/pub/GNU/)からファイルを入手した。ここでは、原稿を執筆した時点(2002年12月)で最新版となるバージョン1.8.2(wget-1.8.2.tar.gz)をコンパイルすることにする。
コンパイルにあたっては、後でディレクトリが増えすぎて困ることのないように、コンパイル専用のディレクトリを作成して、そこでコンパイルするようにした方がよいだろう。例えば、以下のようにする(今回は「build」という名前のディレクトリを作成した)。
$ mkdir ~/build |
■wgetのダウンロード
まずはwget-1.8.2.tar.gzを適当なサイトからダウンロードして、コンパイルに利用するディレクトリにコピーする。SFU 3.0にはFTPクライアントも含まれているので、Interixのシェル上でftpコマンドを使ってダウンロードしてもよいだろう。このとき、あらかじめコンパイル用のディレクトリに移動してからftpコマンドを実行すれば、コピーする手間が省ける。
$ cd ~/build …コンパイル用のディレクトリに移動
|
もちろん、使い慣れたFTPクライアントやInternet ExplorerのFTP機能を利用しても構わない。
■アーカイブ・ファイルの展開
tarコマンドとgzipコマンドを使って、ダウンロードしたアーカイブ・ファイルを展開する。展開後には「wget-1.8.2」という名前のディレクトリが作成されているので、そのディレクトリに移動する。
$ gzip -dc wget-1.8.2.tar.gz | tar xvf - |
tarコマンドはInterixが標準で提供している。ただし、このtarコマンドはLinuxなどで利用されているGNU tarとは異なり、zオプション(gzip圧縮を展開するためのオプション)が用意されていない。そのため、上のようにgzipコマンドと組み合わせる必要がある。「tar zxvf wget-1.8.2.tar.gz」のように展開することに慣れている人は注意してほしい。
■configureスクリプトの実行
アーカイブ・ファイルを展開したら、そのアーカイブに含まれるconfigureスクリプトを実行する。通常、configureスクリプト実行する際には、--prefixオプションによりインストール先を(間接的に)指定する。特に必要がなければこの--prefixオプションだけを指定して実行すればよいのだが、実際にこのオプションだけを指定して実行すると次のようなエラーが表示される。
$ ./configure --prefix=/usr/local |
これは、configureスクリプトが、ホスト環境(CPUの種類、計算機の種類、システムの種類)を認識できなかったために生じたエラーである。このエラーを回避する方法は2通りある。
1.--hostオプションにより、ホスト環境を明示的に指定する
--hostオプションを使用すれば、ホスト環境を明示的に指定することができる。ここで認識されるホスト環境というのは、たいていはバージョン情報とともに文字列として表示される程度で、スクリプトの実行や以降のコンパイル作業に影響することはまずない(wgetに関していえば、表示されることすらないようである)。従って、適当な文字列を指定しておけばよい。例えば、以下のようにする。
$ ./configure --prefix=/usr/local --host=i386-pc-interix3 |
ここで指定した「i386-pc-interix3」というのは、Intel系のCPUを搭載したPC上で動作しているInterixという程度の意味である(ちなみにこの文字列は、次に述べる最新版のconfig.guessで使用されているものである)。
2.最新のconfig.guessファイルを入手する
ホスト環境の識別は、config.guessという名前のスクリプトにより行われる。このconfig.guessスクリプトの最新版ではInterixも認識できるようになっている。しかしwget-1.8.2に含まれるスクリプトはやや古いらしく、Interixには対応していなかった。
config.guessファイルは単体でも配布されており、最新版は以下のサイトなどから入手できる。
従って、上記のサイトから最新版のconfig.guessをダウンロードし、wget-1.8.2ディレクトリにある古いconfig.guessと置き換えればconfigureのスクリプト・エラーを回避できる。
■makeの実行
後は通常どおりmakeを実行してコンパイルを実行するだけである。wgetに関しては、ソース・ファイルを修正することなくコンパイルできた。
$ make |
■make installによるプログラムのインストール
最後に、make installを実行してコンパイルしたプログラムをインストールする。インストールといっても、基本的にはファイルが適切なディレクトリにコピーされるだけである。
この作業は、Administratorまたは管理者権限を持つユーザー(Administratorsグループのユーザー)で行う必要がある。inetdを起動するところでも述べたが、Interixにはsuという現在のユーザーを一時的に切り替えるコマンドがあるので、このコマンドを利用するとよいだろう。具体的に書くと次のようになる(whoamiは現在のユーザーを確認するためのコマンド)。
$ whoami
…現在のユーザーを確認する |
C Shell(csh、tcsh)を使っている場合は、インストール作業が終わったときにrehashコマンドを実行した方がよいだろう。C Shellは、コマンドの一覧を内部で保持し、その一覧を基にして実行ファイルを探し出す。そのため、パスの通ったディレクトリに実行ファイルを置いたとしても、ただ置いただけでは実行ファイルのパスを省略して実行することができない。rehashはその一覧を更新するためのコマンドである。
% rehash |
■動作確認
インストールが終わったら、そのプログラムを試しに実行してみよう。この節の最初でも述べたとおり、wgetの基本的な使い方は引数としてURLを指定することである。例えば、次のようにすれば@ITのトップページをダウンロードできる。
$ wget http://www.atmarkit.co.jp/ |
これを実際に実行したのが次の画面だ。ダウンロードが完了するとindex.htmlというファイルが生成されるので、各自このファイルの中身を確認するとよいだろう。
wgetの動作確認 |
wgetの実行例。画面にこのような表示がなされる。 |
以上で移植作業は完了である。configureでホストを明示的に指定する必要はあるが、多少の経験があれば、特に難しい部分はなかったと思う。
INDEX | ||
[製品レビュー] | ||
Microsoft Windows Services for UNIX 3.0 日本語版 | ||
1.SFUとは何か? | ||
2.SFU 2.0から3.0へのバージョンアップでの変更点 | ||
3.Interixプロセスと、Win32プロセスのシームレスなプロセス間通信も可能 | ||
4.SFUのインストールとユーザー環境 | ||
5.wgetの移植 | ||
6.bashの移植 | ||
製品レビュー |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|