2011年5月16日月曜日

テキストファイルを指定文字列で分割

テキストファイルを任意の文字列で分割する場合は、csplit コマンドを利用する。 例えば、章単位(行頭に「第x章」という文字がある場合)で sample.docというファイルを分割する場合、以下のコマンドを 実行すればいい。
$ cat sample.doc
第1章

これは、第1章の文章です。


第2章

これは、第2章の文章です。


第3章

これは、第3章の文章です。


第4章

これは、第4章の文章です。


第5章

これは、第5章の文章です。
$ csplit sample.doc /^第[1-9]章/ {*}
コマンドの引数として、最低でも分割元のテキストファイル

2011年5月7日土曜日

MAC が勝手につくる隠しファイルをつくらないようにする

.DS_Store などを勝手に作るので、迷惑。 つくられないように設定。 MAC のコンソールにて
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true
これでOK。

2011年5月1日日曜日

Linux のメモリ開放について

様々なプロセスが結構バッファとしてメモリをつかんだままに なってたりするので、開放する。
# sysctl -w vm.drop_caches=3
1 ページキャッシュ解放 2 ダーティキャッシュ、inode解放 3 ページキャッシュとダーティキャッシュ、inode解放 という感じ。 ただし、できるなら、2にしておいたほうが安全そう。

2011年4月26日火曜日

rrdtool について

rrdtool info

最大値を確認するには、
$ rrdtool info ファイル.rrd | grep max

rrdtool tune

最大値を修正するには、
$ rrdtool tune ファイル.rrd -a データソース名:最大値
ただし、最大値制限なしは、「U」を指定。 sysworks 資料庫 rrdtool マニュアル訳 参照

おまけ

グラフをグラデーションにするには、
DEF:a=$rrddir\/$_[0].rrd:ds0:LAST \
CDEF:a2=a,0.8,* \
CDEF:a3=a2,0.8,* \
CDEF:a4=a3,0.8,* \
CDEF:a5=a4,0.8,* \
AREA:a#FF7F00:Active \
AREA:a2#FF8C19:Active \
AREA:a3#FF9933:Active \
AREA:a4#FFA54C:Active \
AREA:a5#FFb266:Active \
こんな感じで指定すると可能

rrd の作成方法

$ rrdtool create ファイル名.rrd \
--step 300 \
DS:ds0:COUNTER:600:0:125000000 \
DS:ds1:COUNTER:600:0:125000000 \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797 \
RRA:MAX:0.5:1:600 \
RRA:MAX:0.5:6:700 \
RRA:MAX:0.5:24:775 \
RRA:MAX:0.5:288:797 

$ chmod o+r ファイル名.rrd
でOK。

2011年4月22日金曜日

フルノシステムズのアクセスポイントについて

Web認証のシーケンス

  1. SSIDに対して所定のパスフレーズで接続
  2. 10.0.0.0/8のIPアドレスがAP組み込みのDHCPサーバから一時的に振り出される。リース時間は数秒程度。
  3. ユーザがブラウザを開いてHTTPトラフィックが発生するまで、有線側へのトラフィックは全遮断。
  4. HTTPトラフィックを横取りして、AP組み込みWebサーバportal.unifasへリダイレクト。
  5. APはWeb認証画面のフォームにPOSTされたユーザID・パスワードを使ってユーザを認証する。認証バックエンドはLDAPサーバ。
  6. ユーザIDが認証されたら、その端末からのトラフィックを有線側へ転送開始。
  7. この時点で、DHCPサーバからIPアドレスが改めて振り出し直される。
  8. DHCPサーバから正式なIPアドレスを取得した以降は、普通にインターネットアクセス可能。
  9. 但し、上流側にはHTTPなど通常利用で必須のサービスに限定するACLが掛かっている。また、APに繋がっているクライアント間通信はAPの「セグメンテーション機能」により全遮断されている。
  上記のステップ 7 が曲者で、Mac OS X の挙動として最初に振り出された一時的 IP アドレスのリース時間が極めて短くしてあるにも関わらず、何故かIPアドレスを取得し直さないという問題がある。 現状ではユーザ側で以下のような対応をする以外に方法がない模様。
  • Web認証したら、一旦、ブラウザを閉じる。
  • ブラウザを閉じたら、MacBookを閉じてスリープさせる。おおよそ5秒程度以上。
  • 再度MacBookを開いてリジュームさせる。
  • 再度ブラウザを開けば、インターネットアクセス可能になっている(はず)。
  • 上手く行かなかったら、上記手順を繰り返してみる。

DNS named.root 更新確認スクリプト

#!/bin/bash # DNSのnamed.rootファイルの更新確認スクリプト # 最新版のnamed.rootファイルを取得し、差分を確認する。 # 更新履歴 # 2014.02.07 watari # お約束 export LANG=C ## 実行ディレクトリ #PR...