Unixアプリケーション インストール
Interix / Gentoo Prefix / NetBSD pkgsrc/ Debian Interix Port の情報

[ Linux / Unix リファレンスガイド ] ⇒ [ Interix SFU/SUA ] ⇒ [Unixアプリケーション インストール]


Services for Unix3.5 ネイティブUnixアプリケーションインストール

Windows Services for Unix 3.5 に次のネイティブUnixアプリケーションをインストールしてみます。

which tar bzip2 wget curl xz

SFUはネイティブなUnix環境とは言いつつも、古かったり固有の仕様も多く、頻繁に使用するコマンドがなかったり、バージョンが古すぎてオプションが使えない

whichなどよく使うコマンドがない ⇒ ビルドしようと思ってソースコードを落とす ⇒ tarのzオプション(Decompress)がない ⇒ Windows 側のGZIP解凍ソフトや Interix の gunzip で解凍する (+さらにbzip2もない)

みたいな感じです。ってことで、SFUをインストールしてそれなりに使えるようにするための最低限のコマンドを追加してみたいと思います。

※whichコマンドはデフォルトのcshではビルトインコマンドとしてcshに統合されていますのでcshからは利用できますが、kshを利用している場合は which コマンドが使えません。


★whichをインストール
gnuプロジェクトのFTPサーバよりWindows側のブラウザ、IEやFireFoxでwhich-2.20.tar.gzをダウンロード。
# gunzip which-2.20.tar.gz
# tar xf which-2.20.tar
# cd which-2.20
# ./configure
# make
# make install
無事にインストール完了

# which which
/usr/local/bin/which
動作もOKです。



★比較的新しいtarのインストール
先ほど書いたようにSFU3.5デフォルトのtarはバージョンが古く、zオプションがないのでtar.gzを解凍できません。

# tar xfz bzip2-1.0.6.tar.gz
usage: tar -{txru}[cevfbmopwBHLPX014578] [tapefile] [blocksize] file1 file2...

なので、比較的新しいtarコマンドをインストールしてみたいと思います。比較的・・と書いたように、本記事執筆中の2012年11月25日現在、最新版のtar1.26やその一つ前のバージョン1.25はエラーが出てビルドできませんでしたので、1.20を入れてみたいと思います。GNUプロジェクトのサイトよりダウンロードできます。

# gunzip tar-1.20.tar.gz
# tar xf tar-1.20.tar
# cd tar-1.20
# ./configure
# make
# make install

無事にインストールできました。


★bzip2をインストール
Unix/Linuxのソースコードの配布でよく見かける .tar.bz2 の解凍のためbzip2をインストールします。

# tar xfz bzip2-1.0.6.tar.gz
usage: tar -{txru}[cevfbmopwBHLPX014578] [tapefile] [blocksize] file1 file2...
デフォルトの古いtarを呼び出してしまいました。

# which tar
/bin/tar
上記のように /bin/tar が呼び出されていますので、 先ほどインストールした新しいtar1.20を呼び出します。

# /usr/local/bin/tar zxf bzip2-1.0.6.tar.gz
無事に解凍完了

# cd /bzip2-1.0.6
# make
# make install

補足情報
tar などを /usr/local/bin にインストールしても、そのままでは標準のデフォルトの /bin/tar が呼び出されます。これを回避するにはいくつかの方法があります。

1.古いtarを消す
# mv /bin/tar /bin/tar.bk
上記のように古いtarをリネームします。消してもかまいませんが、万が一の自体を想定し、いつでも戻せるようにしておく方が良いです(自分専用のマシンのみ可能な方法です。他のユーザーがいるシステムではNG)

2.コマンドサーチパスの順位変更をする
# env | grep PATH
で表示された結果、前にあるほど優先的にコマンドが呼び出されますので、.bashrc や .cshrc などに自分専用のPATHを定義しておけば良いでしょう。

3.エイリアスに記述する
.bashrc や .cshrc などに alias コマンドを利用して別名のコマンドを登録することができますが、
alias tar /usr/local/bin/tar
と記述しておけば良いかと思います。(執筆者、動作未確認・・おそらく動くと思います)


★wgetをインストール
wget-1.9.tar.gz を上記と同様、標準的な手順でできました。

# tar zxf wget-1.9.tar.gz
# cd wget-1.9
# ./configure

# make

# make install

★curlをインストール
curl-7.30.0も標準的な手順で無事にインストールできました。

# tar zxf curl-7.30.0.tar.gz
# cd curl-7.30.0
# ./configure

# make

# make install

記事修正情報
curl や wget で少し古いバージョンでは --without-ssl オプションを指定しないとコンパイルできません。SFUにopensslがインストールされていないためです。SFU の openssl は gentoo や Interop Systems などのプロジェクトが移植したものがありますので、そちらを利用すると良いと思います。



★xzをインストール
最近、.txz .xz などでアーカイブされているソースコードが多いので xz もインストールしておく。

# wget http://tukaani.org/xz/xz-5.0.3.tar.gz
# tar zxf xz-5.0.3.tar.gz
# xz-5.0.3
# ./configure
# make

# make install


以上