Skip to content

Linux

Ubuntu 15.10 に Linuxbrew をインストールしてみる

OS X には Homebrew というパッケージマネージャがありますが、これを Linux に移植した Linuxbrew というソフトウェアがあります。Linuxbrew には以下のようなメリットがあります。

  1. 実行に root 権限が必要無い
  2. Linux と OS X (Mac) で同じパッケージマネージャが使える
  3. OS のパッケージマネージャでは提供されていないソフトウェアでも、見つかる場合がある
  4. ホームディレクトリ配下にインストールされるので、不要になった時は削除が簡単

今回は Ubuntu 15.10 に Linuxbrew をインストールしてみます。

VIRL 上で Ubuntu を使う

VIRL にはデフォルトで Ubuntu のイメージが登録されています。VIRL 1.0.26 だと Ubuntu 14.04.2 LTS が登録されていました。

1
2
3
4
5
6
cisco@server-1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:    14.04
Codename:   trusty

今回は VIRL 上で Ubuntu を使ってみます。

ファイル名の拡張子を一括置換するには

bash 上でファイル名の拡張子を一括置換したい場合、以下のようなワンライナーで実行出来ます。例えば .txt を .json に一括置換したい場合はこのようになります。

1
for filename in *.txt; do mv $filename ${filename%.txt}.json; done

スクリプト中で実行しているコマンドを表示する

普通にシェルスクリプトを書くと実行結果のみが表示され、『実行しているコマンドそのもの』は表示されません。「試験結果のエビデンスとして、結果と共にコマンドも残したい」「スクリプトをデバッグしたい」といった場合は実行結果だけでなく、実行したコマンドも表示されると便利です。今回は「スクリプト中で実行しているコマンドも表示する方法」をメモします。

RADIUS をテストするには

RADIUS サーバの構築後にテストを実施する際、「実際に RADIUS クライアントとして設定したネットワーク機器やサーバへ SSH ログインし、RADIUS サーバで上手く認証されるか?を確認する」ことは、もちろん可能です。しかし、他にも(実際のログイン処理では無く)『テストコマンドで RADIUS 認証の挙動を確認する』方法があります。まずはテストコマンドで動作を確認し、上手くいったら実際のログインテストを試す… というのが最もスマートだと思います。メジャーなところでは以下のような方法があります。

  1. FreeRADIUS 付属の radtest を使う
  2. Cisco IOS の test aaa を使う

今回はこれらの RADIUS のテスト方法について記載してみます。RADIUS サーバには MikroTik の RouterOS を使いました。

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.