um-olsrをns2.34にインストール

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コマンド

lnコマンドはリンクを作成するコマンド.
オプションなしだとハードリンク.オプション-sをつけるとシンボリックリンク.

自分もあまりよく分かっていないが,使いやすいため通常シンボリックリンクを作成することが多い.
使い方のメモを残しておく.

ln -s リンク先ファイル名 ファイル名

ns2の最新版(ver2.34)をインストール

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の作り方,使い方

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コマンドの入門でした.

← 前のページ