ns2でolsrを利用するために,um-olsr-0.8.8をインストールしてみた.
um-olsr-0.8.8をダウンロードして解凍したら,ns-allinone-2.34/ns-2.34/ にファイルを移動.
ついでに,um-olsr-0.8.8というディレクトリ名をolsrに変更する.
先ほどns2.34をインストールしたが,um-olsrのns2.34用のpatchファイルが存在しなかったため,自分で作成してみた.
保障はできませんが,もしよかったら使ってみてください.
um-olsrのns2.34用パッチファイル: um-olsr-ns2.34-sk.patch
このファイルをダウンロードしたら, ns-allinone-2.34/ns-2.34/ にファイルを移動.
そしたら以下のコマンドを実行.
patch < um-olsr-ns2.34-sk.patch
あとは,./install (もしくは/ns-2.34でmake)を行えば,um-olsrのインストールが完了.
インストールできたか確認するために,サンプルプログラムを実行.
これがちゃんとできればOKです.
lnコマンドはリンクを作成するコマンド.
オプションなしだとハードリンク.オプション-sをつけるとシンボリックリンク.
自分もあまりよく分かっていないが,使いやすいため通常シンボリックリンクを作成することが多い.
使い方のメモを残しておく.
ln -s リンク先ファイル名 ファイル名
ns2の最新版(ver2.34)がリリースされていたので,さっそくインストールしてみた.
Download source:
* current release 2.34 (released Jun 17 2009)
まずは,nsの本家のDownload and Build nsからns-allinone-2.34.tar.gzをダウンロード.
次に,ダウンロードしたファイルを解凍する.
$ tar xvfz ns-allinone-2.34.tar.gz
解凍できたらインストール.
$ cd ns-allinone-2.34
$ ./install
これであとはパスを通せば完了.
nam-1.13の時はエラーが発生してパッチをあてたりとインストールにてこずったが,今回のnam-1.14は無事にインストールできた.
調べてみたところ,前バージョンの2.33がリリースされたのが2008/4/1らしい.
およそ一年ぶりのバージョンアップだが,勝手な予想だとおそらく2.33のエラーを取り除いた安定版といったところではないかと思う.
ns3を使ってみようと思っていたが,しばらくはns2でトライしてみよう.
patchコマンドの入門編.
1.パッチファイルとは
パッチ(patch)とは,プログラムの一部を修正するために,変更点(差分情報)のみを抜き出して列挙したファイルである.
修正点だけを抜き出したパッチ作成し,これを既存のプログラムにあてることで,修正がおこなえる.
バグ(不具合)の修正や小規模なバージョンアップなどを行なう際に,プログラム全体を入れ替えるのは非効率なため,パッチファイルが用いられる.
2.パッチファイルの作り方
例として,次の2つのファイルを使う.
test (←間違ってるプログラム.修正前)
test.new (←正しいプログラム.修正後)
正しいファイルは, 元のファイルよりも長い名前をつけておく必要がある.
test
one
too (←スペルミス)
three
four
five
seven (←six が抜けてる)
eight
nine
ten
test.new
one
two (←スペルを修正)
three
four
five
six (←six を付け加えた)
seven
eight
nine
ten
上の二つのファイルを作成したら,diffコマンドを用いて、 test を修正するためのパッチファイル(test.patch)を作る.
% diff -c test test.new > test.patch
これでパッチファイルが作成される.ちなみに,diffのオプションは-cの代わりに-uでもいい.
3.パッチファイルの使い方
2で作成したパッチファイル(test.patch)を早速使ってみる.
% patch < test.patch
patching file test
これで,testがtest.newと同じ内容に修正されているはずである.
ちなみに,修正後にもう一度patchコマンドを実行すると,以下のように表示される.
% patch < test.patch
patching file test
Reversed (or previously applied) patch detected! Assume -R? [n]
ここでnを入力すると何も起こらないが,y(yes)と入力するとパッチをあてる前に戻る.
つまり,testの内容が元の間違った内容に逆戻りするということである.
以上,簡単だがpatchコマンドの入門でした.