2006年8月5日 (土曜日)

11:10:36 # Life sshfs便利。 リモートのファイルシステムでも、 ssh (sftp) さえ通ればファイルシステムとしてマウントできます。 そうすると、リモートのファイルシステムに対してローカルのコマンドで処理できるようになります。 あまり巨大なファイル転送が発生するとファイル転送の帯域の問題が発生しますが、便利です。 たとえば、Debianでのパッケージインデックス、Packages や Sources ファイルを作成したいとう場合、 dpkg-scanpackages/dpkg-scansources コマンドを実行する必要がありますが、 リモートのサーバが Debian でない場合、そのコマンド自体を動作させるのは面倒です。 そういう場合に sshfs を利用してローカルでコマンドを実行させればよいのです。 あら便利。

$ mkdir remote
$ sshfs viper2:public_html/tmp/ remote
$ cd remote/20060731
$ dpkg-scanpackages . . > Packages
 ** Packages in archive but missing from override file: **
  linux-uvc-source

 Wrote 1 entries to output Packages file.
	

11:40:21 # Life klogd. /prog/kmsg というファイルがあるのですが、そのファイルを読むと dmesg で出力されるような内容がリアルタイムで読み出せます。 しかし、使ってみてわかると思うのですが、通常、klogdもそのファイルを読み込んでおり、先によんだもの勝ちでとられてしまうようです。 たとえば、 tail -f /proc/kmsg で観察してみると、二回に一回程度しか出力が出てきません。 解決策はklogdを停止する、という技があります。 klogctl 命令(syslogシステムコール)を利用すると printk バッファ全体を取得することなどができます。 しかし、その情報からどうやって新規に追加された情報を区別するのか、がよくわからないですね。

REAL csh: #include <sys/klog.h>
REAL csh: char s[4097]; 
	  s[4096]=0; 
	  klogctl(3, s, 4096); 
	  printf("%s\n", s);
	
Junichi Uekawa

$Id: dancer-diary.el,v 1.91 2006/06/15 15:14:10 dancer Exp $