Solarisへのmp3プレイヤーのインストールを通じてUNIX系OSでのアプリケーションのソースからのインストールの方法を知る
ワークステーションにはmp3プレイヤーが入っていないのでインストールする。ここでの方法は大体のアプリケーションのインストールに通じるので以下の方法を実践できれば他のアプリケーションも大体インストールできる。yumとかrpmとかは無視。
最終目標
ワークステーションへのmp3プレイヤーのソースからのインストールを通じてUNIX系OSへのアプリケーションのインストールの方法を知る。ここで紹介された方法の応用で他のアプリケーションもインストールできるようになる。
インストールするアプリケーション
mp3プレイヤーはmpg123というアプリケーションを使う。理由はアプリケーションのサイズが小さいこと(ワークステーションは512MBの容量制限があるのでこれは重要。一応/export以下はNFSの方ではなくローカルになってしまうが、80GB弱の容量がある)。手順は以下のようになる。ちなみに私はワークステーションに
eclipseをインストールしている猛者を見たことがある。
- 公式サイトからソースコードを入手する
- 圧縮されたファイルを解凍する
- ソースコードのビルドとインストール
手順1:公式サイトからソースコードを入手する
たいがいのアプリケーションには公式サイトが存在する。そこからアプリケーションのソースコードを入手する。mpg123の公式サイトは以下のURLから参照できる。
http://www.mpg123.de/
英語に驚かないように。UNIX系ではよくあること。トップページの上位にあるDownloadというリンクからページを開き、"Current Release"の章から"sourceforge.net files section"というリンクを開く。ここから
sourceforge.netというサイトを開くことができる。このサイトにはたくさんの
オープンソフトのプロジェクトがあるのでちょくちょくお世話になる。私は
Pythonの拡張ライブラリのインストールによく利用させてもらう。さて、開いたページの"File Releases"というページから最新版のリリースを手に入れる。現在(2007/11/10)の最新版は0.68なのでmpg123-0.68.tar.gzというファイルのリンクを参照する。自動的にダウンロードが始まるのでホームフォルダに保存する。一般的に、アプリケーションには開発版と安定版という二つの版があり、開発版ではあたらしい機能の実装などが試験的に行われたりする。後述する安定版と比べてバグが多く突然クラッシュすることが比較的多い。安定版は文字どおり安定したバージョン。英語ではそれぞれdevelopment-version, stable-versionとか言ったりする。
手順2:圧縮されたファイルを解凍する
コマンドラインから以下のコマンドを実行して圧縮されたファイルを解凍する。
$ tar xvzf mpg123-0.68.tar.gz
圧縮されたファイルの解凍にはいくつか専用のコマンドがあって、圧縮の形式によって使い分ける。tarはそのコマンドの一つ。コマンドの使い方に関しては日本語のサイトにわかりやすいものがあるのでググって調べよう。それでも分からないとき、あるいは英語がある程度できる人はmanというコマンド(たしか
ソフトウェア演習Aでやったはず)で調べる。manコマンドを使えば大抵のコマンドのマニュアルは参照できる。
(通りすがり補足:
研究室のWSのtarコマンドはzオプションに対応していないぽい。GNUのtar、つまりgtarコマンドを使えばいいらしい)
$ man tar
手順3:ソースコードのビルドとインストール
解凍済みのソースコードが得られたので実行可能ファイルをビルドする。まずは解凍したディレクトリに移動する。
$ cd mpg123-0.68
このフォルダ名は長いのでタブキーによる補完を行う事を強くおすすめする。コンソールの操作において入力の補完は大変重要である。
$ cd mpg[tabキーを押す]
$ cd mpg123-0.68
この操作によって、もし名前が一意に決定されるならディレクトリ名すべてが補完される。そうでない場合は確定している部分だけが補完される。
次にlsコマンドでディレクトリ構成を眺める。README, INSTALL, configure, Makefile, doc, srcなどといった名前が並んでいるはずだ。docはdocumentの略、srcはsource codeの略だ。このような名前の付け方は主に慣習によるもので、大抵のUNIX系アプリケーションではこのような略称が使われる。README, INSTALLも同様で、これらのファイルにインストールの方法が(英語で)書かれている。configure, Makefileはビルドのツールである。manあるいは他のwebページを参照されたし。さて、ビルドはconfigureとMakefileの二つを使って行われる。ユーザがルート権限をもっている場合は
# ./configure
# make
# make install
でインストールは終了する。ルート権限をもつユーザ(スーパーユーザ)とはシステムの管理者の事で、言ってみればシステムの神である。スーパーユーザはあらゆる権限を持っている。例えばある一般ユーザが実行しているプログラムを断わり無しに強制終了させたり、あらゆるファイルの削除、システムのクラッシュを行える、プロセスの優先順位の変更等の強力な権限を持つ。もちろん学生にそんな権限が与えられるはずがない。私たちは一般ユーザである。この”ルートユーザと一般ユーザ”という概念はWindowsでは薄いのでUNIX系OSでは強く意識させられる。ユーザの変更はsuというコマンドで行える。どんなコマンドかは自分でしらべよう(webページ、あるいはman等)。パスワードが分かる人はスーパーユーザになれるぞ!
ということで、上記の方法ではアプリケーションをインストールできない。というのは上記の方法ではシステムの大事な場所を書き換えるからである。一般ユーザには一般ユーザとして身分をわきまえなければならないのだ。。。一般ユーザがアプリケーションをインストールするには自分に与えられたホームフォルダ以下にインストールする必要がある。これを行うにはconfigureというスクリプトにそのことを教えてあげなければいけない。続き。インストール先のフォルダを作成してconfigureの実行、そしてmakeというプログラムを実行する。
$ mkdir ~/mpg123
$ ./configure --prefix=$HOME/mpg123
$ make
$ make install
$HOMEはユーザのホームディレクトリを示す環境変数である。・・・テストのために--prefixという部分を抜いたら普通にインストールできてしまった。ビビった。なんかいけるっぽい。実は/usr/localは
Solaris本体のハードディスクに確保された領域で、学生のアカウント権限でも自由にアプリケーションをインストールすることができる。
上記のコマンドを実行するとホームフォルダ以下のmpg123という名前のディレクトリ以下にアプリケーションがインストールされる。ちょっと見てみよう。
$ cd
$ cd mpg123
$ ls
bin share
binというのも慣習による名前で(binaryの略)、実行可能ファイルが置かれるディレクトリである。これでインストールされた。ホームフォルダに戻って実行してみよう。
$ cd
$ mpg123
bash: mpg123: command not found
コマンドが見つからないと言われてしまった。それもそのはずで、PATHという環境変数があるのだ。コマンドはあらかじめ指定されたディレクトリから探される。要は環境変数PATHに/home/g031***/mpg123が入っていないためにコマンドが無いと言われたのだ。ということでmpg123をインストールしたディレクトリをPATHに加えよう。ホームフォルダにある.bashrc(隠しファイルである。ls -aで表示できる)を編集する。
$ cd
$ mule .bashrc &
そして適当な場所に以下の記述を追加する。
PATH=$PATH:~/mpg123/bin/
export PATH
そして以下を実行
$ source .bashrc
これで実行できるはずだ。
$ mpg123
(メッセージが表示される)
あとはmp3ファイルをもってきて実行時の引数に渡すだけだ。まず適当なmp3ファイルを落とそう。wwwのリソースを取得するためのコマンドにwgetというのがある。
$ wget http://podcast.tbsradio.jp/ijuin/files/20071106.mp3
$ mpg123 20071106.mp3
終了!
最後に
今回の記事でやったことは
- 一般的なアプリケーションのソースコードからのビルドとインストール
- 開発版と安定版
- tabキーによる補完
- sourceforge.net
- 圧縮されたファイルの解凍
- manコマンドによるマニュアルの参照
- 慣習による命名
- スーパーユーザとは
- 環境変数の設定
- configure, make
興味をもったことはググるなり図書館行くなりして調べよう。
関連キーワードを挙げるなら
GNU, Linux, wget, rpm, yum, オープンソフトあたり
最終更新:2008年05月04日 03:30