Skip to content

2015/08

sudo でリダイレクトするには

sudo の実行結果をリダイレクトしようとするとエラーになります。

1
2
$ sudo echo "TEST" > /root/test.txt
-bash: /root/test.txt: Permission denied

このような場合は sudo sh -c の引数として一連のコマンドを実行します。

1
$ sudo /bin/sh -c 'echo "TEST" > /root/test.txt'

参考までに、「-c」オプションは man によると以下のように書かれています。

-c Read commands from the command_string operand instead of from the standard input. Special parameter 0 will be set from the command_name operand and the positional parameters ($1, $2, etc.) set from the remaining argument operands.

CoreLinux 6.3 を VIRL に登録する

Tiny Core Linux はフットプリントが非常に小さい Linux ディストリビューションで、Cisco VIRL のような仮想化された検証環境内で複数インスタンスを立ち上げても軽快に動作する、という特徴があります。用途に応じて幾つかの種類があります。参考として記載したサイズは 6.3 用 ISO イメージのサイズです。

  1. Core
    • 9MB 程度。CLI だけの、最小環境での利用を想定。
  2. TinyCore
    • 15MB 程度。GUI(X)を含む。
  3. CorePlus
    • 84MB 程度。TinyCore に様々なパッケージを追加している。

追加パッケージも数多く提供されているので Core をベースにパッケージを追加し、カスタマイズしていくのも簡単です。今回は Core を VIRL に登録してみます。

Juniper vMX を Cisco VIRL に登録する

Juniper vMX を使うと x86 上で JUNOS を動作させることが出来ます。vSRX も JUNOS の学習に使えますが、KVM / QEMU 上で使うとなぜか commit 出来ません… Cisco VIRL に vMX を登録するとひとつの環境で Cisco や Juniper、その他の OS との相互接続を検証することが出来、非常に便利です。vMX を VIRL に登録するのは簡単ですのでポイントだけ記載しておきます。

JSON や XML を整形して表示する

JSON や XML を整形して表示出来るツールをまとめます。

  • JSON の整形
    1. Python の標準ライブラリを使う
    2. 軽量 JSON パーサー「jq」を使う
  • XML の整形
    1. xmllint を使う
    2. tidy を使う
    3. xmlstarlet を使う

Extra Packages を追加した MikroTik CHR を Cisco VIRL に登録する

RouterOS 6.31 current の公開に伴って CHR(Cloud Hosted Router)6.31 のバイナリも公開されています。ただし、公式ダウンロードページ では無く、フォーラム にダウンロードリンクがあります。

  1. http://www.mikrotik.com/download/share/chr_6_31.img
  2. http://www.mikrotik.com/download/share/chr_6_31.vmdk

今回は CHR 6.31 に Extra Package を追加し、更にそれを Cisco VIRL に登録します。大部分は過去記事「VIRL に RouterOS を登録してシミュレーション環境を作るには」と同じです。