投稿者: uep

  • resolv.conf

    search 行に検索対象のドメイン名を続けて入れる.今までは,search 行を複数記述していたのだが意味なかった.ああ恥かしい.

  • 寒さ対策

    足元を暖めるヒータを導入した.ほんわか暖かく,なかなかイイ.

  • 今年初

    データ解析のため,日付が変わりそうである.トレードオフがあるが,凝り症のため,シェルスクリプトにて作業をほぼ自動化.有効データ範囲のみのデータを切り出すスクリプトが一番苦労した.そのわりにはヘボいが,備忘のため掲載.

    !/bin/sh
    
    # Time-stamp: <06/01/11 02:12:13 uep>
    # データファイルの中心のみを抽出するスクリプト.
    # 意味のないデータの最初と最後を切り落すため,
    # また,全ての時間スケールで同じデータ数抽出するため作成.
    # このスクリプトはxtを生成してから使用する.
    #
    # たとえば7行のデータから中心の3行のみ抽出する場合,
    # ↓の図のSTARTからENDまで抽出する.
    #
    #  ---------------------------------
    #  ---------------------------------
    #  --------------------------------- START
    #  ----------CENTER-----------------
    #  --------------------------------- END
    #  ---------------------------------
    #  ---------------------------------
    
    ERROR=0
    CURRENT=0
    LINE=
    
    # $#には変数の数が代入される.
    # 引数チェック
    if [ ! $# -eq 3 ]; then
        echo "Usage: grepline.sh filename start end"
        ERROR=1
        exit $ERROR
    else
        # ファイルが存在するかチェック
        if [ ! -r "$1" ]; then
            echo "Cannot find file $1" 1>&2
            ERROR=1
        else
            ALLLINE=`wc -l $1 | cut -f1 -d' '`
    #       HEAD=`head -1 $1 | cut -f2 -d'='`
    #       SCALE=`expr $HEAD : "\(.*\)(microsec)"`
            WIDTH=`expr $3 - $2`
            while [ 1000 -gt "$WIDTH" ]
            do
                WIDTH=`expr $WIDTH \* 10`
            done
            START=`expr $ALLLINE / 2 - $WIDTH / 2`
            END=`expr $ALLLINE / 2 + $WIDTH / 2 - 1`
    #       echo $START
    #       echo $END
            IFS=
            # IFSは組込み変数.無視する文字はない
            # デフォルトでは,空白,タブ,改行が無視される.
            while read LINE
            do
                CURRENT=`expr $CURRENT + 1`
                echo "Now Reading $1 ..." 1>&2
                if [ "$CURRENT" -gt "$START" ]; then
                    if [ "$CURRENT" -lt "$END" ]; then
                        echo "$LINE"
                    fi
                fi
            done <"$1"
        fi
    fi
    

  • Master’s Thesis

    M2の学生はヤマ場を迎えている.自分がM2のときには,どんなだっただろうか.反省も込めて,3月には無事に送り出せるよう,できる部分は協力して行きたい.

  • wl-summary-pack-number

    学生の頃から,MUAにはWanderlustを使っている.前々から,
    サマリ表示での番号詰めが(imapサーバでは)できない仕様に不満を感じていたが,
    某掲示板のWanderlustスレで,そもそもメッセージ番号には意味がなく,
    見えなくするのはどうかという発言を目にした.なるほどと思いサマリ表示をカスタマイズすることにした.

    ;; 番号 一時マーク 永続マーク 日付 枝 [ (子の数) 差出人 ] 件名
    (setq wl-summary-line-format “%n%T%P%M/%D(%W) %t%[%17(%c %f%) %] %s”)

    最初の%nを取れば良い.ああすっきりした.

  • HD-HGLAN / Debian化

    HD-HGLAN
    特有の問題
    らしく,Debian標準のDHCPクライアント機能は使えないそうだ.コンソールのないHD-HGLANでは一旦IP取得に失敗するとHDDを取り出し,他のPCに繋ぎKNOPPIXでブートし,/etc/network/interfaces を書換える必要がある.何度かリブートを繰り返して無事DHCPクライアント化.ふう.

    また,/etc/apt/sources.list を stable(現在はserge) を差し示すように
    し,serge化も滞りなく成功.

  • logadm (再)

    spamd のログローテーションを行いたかったのだが,HUPシグナルは使えな
    いようだ.かつ,logadm はコマンドラインの引数を解釈してくれない
    (/bin/sh -c から起動する)ようなので,spamd再起動用のスクリプトを作っ
    た.ひとまずこれで様子を見よう.

  • logadm.conf

    Solaris9から,ログのローテーションにはlogadmコマンドが標準となったようだ.logadmコマンドを引数付きで実行すると,/etc/logadm.confに設定が書き込まれる.以後はcronで回すのだが,/bin/sh -cで実行する仕様になっており,コマンド引数がオプションとして認識されない.仕方なく,コマンドをダブルクォートで囲むようにした.以下備忘のためメモ.

    -a コマンド
        logファイルのリネーム後に #!sh -c で行なうコマンドを指定
    -b コマンド
        logファイルのリネーム前に #!sh -c で行なうコマンドを指定
    -E コマンド
        古いファイルを消すのではなく,#!sh -c でコマンドを実行する.
    -R コマンド
        古いファイルがlogローテーションで作られたら実行するコマンド
    -A Age
        Ageに指定された時間変更が無かったバージョンを削除.h,d,w,m,yを使う.
    -c
        リネームするのではなく,コピーして元のものを長さ0にする.
    -C カウント
        指定したカウント以上の古いものは削除.(-C 10がデフォルト)
    -p 周期
        指定した周期でlogファイルを回す.d,w,m,yが使える.
    -s サイズ
        指定したサイズよりデカくなったらlogローテーション.b(byte),k(kilo-b),m(mega-b),g(giga-b)が使える.
    -S サイズ
        ディスク空き容量が指定したサイズより少ない限り,最古のバージョンを消す.
    -e メールアドレス
        エラーをアドレスに投げる
    -f 設定ファイル
        /etc/logadm.confじゃないとき
    -g グループ
        新しいファイルを作るときのグループを指定したいとき
    -m モード
        新しいファイルを作るときのモードを指定したいとき
    -o オーナー
        新しいファイルを作るときのオーナーを指定したいとき
    -n
        デバッグ用.実際には何もしない.
    -N
        logファイルが無かったらエラーを吐くようにする.
    -P タイムスタンプ
        ?
    -r
        回さずに削除?
    -t テンプレート
        logファイルのリネームのテンプレート(ディフォルトは-t $file.$n)
    -T パターン
        ?
    -w エントリーファイル
        行っているエントリーをエントリーファイルに書き込む?
    -z カウント
        gzipでカウント以上のファイルを圧縮する.
    
  • NICドライバ

    シミュレータの不調のためトラブルシュートする必要があったため,今日は一日実験室にこもっていた.色々な場合を試し,結局原因は分からなかったものの,怪しいPCのNICドライバを更新することで一応の解決を見た.ふう.

  • 忘年会

    のシーズンである.今回のお店はキャンパスからすぐの,家庭的な定食屋.
    一度だけお世話になったことがあるが,期待できそう.