2010年5月5日水曜日

コンフィグにコメントを残すannotateコマンド

JUNOSは、annotateコマンドでコンフィグにコメントを残すことができます。

annotateコマンドの書式は以下の通りです。
root@SRX# annotate 階層 "コメント"

annotateコマンドは少し癖があって、annotateコマンドでコメントを設定できるのは、ユーザがいる階層の1つ下の階層を示すコマンドの上に1行だけとなります。
ちょっとわかりにくいので具体的に例をあげます。

もし、自分がtopの階層にいる場合、コメントを設定できるコンフィグの場所はsystem, interface, securityなどの階層を示すコマンドの上だけにコメントを設定できます。

以下に、systemの上にコメントを設定する例を示します。
root@SRX# annotate system "This is hoge"                          

[edit]
root@SRX# show 
## Last changed: 2010-05-05 19:35:30 JST
version 10.0R2.10;
/* This is hoge */
system {
    host-name SRX;

もし、name-serverコマンドのすぐ上にコメントを残したい場合は、systemの階層に移動してからannotateコマンドを使用します。以下に例を示します。
root@SRX# edit system    /* systemの階層に移動 */

[edit system]
root@SRX# annotate name-server "That is hogeohge"  

[edit system]
root@SRX# show   
host-name SRX;
time-zone Asia/Tokyo;
root-authentication {
    encrypted-password "$1$Qr.doh8u$pICbeB.DAEA9Ue789OLZ61"; ## SECRET-DATA
}
/* That is hogeohge */
name-server {
    208.67.222.222;
    208.67.220.220;
}

最後に、設定したコメントを消去する方法を紹介します。

コメントを消去したいときにはカラのコメントを設定してください。
例として、上記の例で設定したコメントを削除する例を示します。
root@SRX# edit system    /* systemの階層に移動 */

[edit system]
root@SRX# annotate name-server "" 

[edit system]

2 件のコメント:

  1. annotateコマンド使用時の注意点についてコメントさせていただきます

    実際の現場では"show | display set"コマンドにてコンフィグ取得することが多く、この場合はannotateコマンドにて入力されたコメントは取得コンフィグへ残りません

    これは、通常形式でコンフィグを確認/作成することが非常に困難だからです、またSRXシリーズの場合はScreenOSからの移行が多いのでset形式のコンフィグのほうがより読みやすいでしょう
    Junosの通常形式のコンフィグは試験用と割り切ったほうが良いかもしれません

    この場合のは通常の"description"コマンドにて対応した方が良いでしょう
    "annotate"コマンドのどこにでもコメントを残せるという利便さはなくなりますが、set形式で取得したコンフィグにも問題なく出力されます

    ex:
    set interfaces ge-0/0/0 unit 0 description "Trust inteface"

    通常形式の出力例:
    interfaces {
    ge-0/0/0 {
    unit 0 {
    description "Trust inteface";
    }
    }
    }

    返信削除
  2. 確かに、通常のコンフィグだとファイルの長さが地獄ですよね。。。
    しかし、annotateコマンドの設定がset形式だと消えると言うのは、びっくりです。。。
    貴重な情報をありがとうございました。
    これからも、気になったことがあったら是非ともコメントをよろしくお願いします。
    コメントしてもらえることを期待しながら、これからもどんどんブログを更新していきますね。

    返信削除