LVMでディスクを追加

LVM は公式ドキュメントがどこにあるのかわからない。とりあえずこれを読んでみる。 http://tldp.org/HOWTO/LVM-HOWTO/commontask.html pvcreate で /dev/xvdb を全部 PV とする。 HOWTO では推奨されてないが、Linux 以外からパーティションを認識できなく…

DOM-U ikura にディスクイメージを追加。

ディスクイメージを作る。 特に意味はないが、既存のイメージファイルと合わせることにする。 [root@gohan ~]# ls -l /var/lib/xen/images/ikura.img rwxr-xr-x 1 root root 4294967297 Sep 16 20:59 /var/lib/xen/images/ikura.img [root@gohan ~]# bc bc 1…

Xen ディスク追加方法を模索

/etc/xend/ikura に設定ファイルを見つけた。他人事のように言っているのは、しばらく触ってなくて手探りで探しているから。 ちなみに、ファイル名が ikura なのは disk full で困っている DOM-U のホスト名が ikura だからだ。 xen の設定はホスト名に合わ…

対策を考える

プライオリティが高いのは disk full の解決だ。disk full になったマシンをどうするか。 サーバを捨てる。 新しく別のマシンを用意して、プログラム/データを移行する。 Xen にディスク容量をなんとかして増やす。 いろいろデータが詰まってて、捨てるには…

サーバ disk full

Linux Xen の上で飼ってる VM の1個が disk full になった。 remedie, tiarra, mysql, cpan modules etc をインストールしてたらいつのまに小さな HDD を圧迫したのだ。 自宅のおもちゃサーバだからいいんだけどさ。問題は2つ。 disk full を解決する必要…

ソートされた複数のCSVファイルを結合するスクリプト

問題 CSVファイルが複数存在する。各ファイルは異なる列データが保存されているが、どのファイルもCSV左端列でソートされている。これらを左端列でソートされた1つのCSVファイルにまとめたい。まとめるプログラムを作れ。なお、CSVファイルは数万行を想定し…

Linux のメモリ管理動作確認のために作成したCコード

メモリを消費するためのプログラム。好きな量のメモリをmalloc/freeで割当/解放するだけ。 watch -d cat /proc/meminfo と合わせて使うことを想定。本当は swap させるまでメモリを使いたいんだけど、このプログラムじゃダメかも。割り当てるだけじゃだめな…

DVDをiPod Touchで見るための方法

HandbrakeでDVDをエンコードしてファイル化。それをiTunes経由でiPod Touchに取り込めばいい。 HandbrakeでDVDをエンコード 手持ちのDVDをPCに挿入 HandBrake 起動してDVDドライブを選択 Title でどこをエンコードするか指定 Toggle PresetsでiPod High-Rez…

bash でスタックトレース

bash には perl の confess 相当のサブルーチンがありません。しかし実装することができます。 #!bash source carp.sh foo() { confess "something wrong" echo "this line will not be executed." } bar() { foo } baz() { bar } baz exit $ sh stacktrace.…

perl でスタックトレース

perl には confess というサブルーチンがあります。confess はスタックトレースを表示し終了するサブルーチンです。confess の引数に終了した理由を記述するだけで、ソースコードの可読性が向上するだけでなく、障害時のトラブルシュートが容易になります。 …

やる気ねえ

あーどーしよ。

Cisco Interface Sorter

Cisco 機器のインタフェースを sort 関数でソートするためのソーター。 使い方や動作仕様は 01_sorter.t を参照。 Example/Util.pm package Example::Util; use strict; use Exporter; use Carp; our @ISA = qw(Exporter); our @EXPORT_OK = qw(cisco_interf…

amazon bookmarklet

Amazon の URL を圧縮し、アフェリエイトID を付与するブックマークレット。 javascript:var%20asin=document.getElementById('ASIN').value;location.href='http://amazon.jp/o/ASIN/'+asin+'/pgy-22/ref=nosim';"

TSUTAYA DISCAS 予約リスト一覧を好きなエディタで編集

TSUTAYA DISCASはすばらしいサービスです。 でも、予約リストのユーザビリティのなさにげんなりします。 そこで、ローカルPCでまとめて借りる順番を決めて、一括変更できないかと思いたちました。とりあえず、 DISCAS より予約リストを取得 取得したデータを…

bash でパイプ起動時、 $? に代入されるのは最後に起動したコマンド

bash-3.2$ perl -e 'exit 1' | perl -e 'exit 2' | perl -e 'exit 3' bash-3.2$ echo $? 3 bash-3.2$

ohzaki ファイルロック用ラッパー

ohzaki 氏の my_flock は perl 言語だけで実装できる簡易排他制御としては優秀。 ただ、basename 末尾に数値があると本家コードはこれを無視して実行し、期待しない timeout 計算を行ってしまい、ある程度うまく動く(毎回の実行に timeout 秒の遅延が発生す…

Getopt::Long

#!perl use strict; use warnings; use Getopt::Long; my %opts = ( verbose => 0, fname => 'data.txt', ); sub usage() { print STDERR "$0 [options..]\n"; exit 1; } GetOptions( 'verbose=i' => \$opts{verbose}, 'fname=i' => \$opts{fname}, ) or usa…

ユニークリストの読込/保存

#!perl use strict; use warnings; use Carp; sub load_uniq_list(%) { my %args = @_; defined $args{fname} or confess "no fname"; ref $args{list} eq 'ARRAY' or confess "no list"; open my $fh, '<', $args{fname} or confess $!; my %exists = map {…

Xcode3.1 + Sqlite3 を使用する方法

sqlite3 は標準でついているのでそれを使う。 試しにライブラリバージョンを出力するコードを書く。 #import #import int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // insert code here... NS…