Google Code Prettify

2010年10月1日

Squeeze に移行してみる

squeeze がフリーズされて、暫く経つので安定の良い頃合いかなと、 自宅のメインのサーバを lenny から squeeze に移行してみた。

何とも、安定してる。。。

lenny ベースだと、古く使いたい機能が無いので、 適当に野良バックポートしてた netatalkkvm/libvirt-bin とか幾つかあったのが、 標準のパッケージで済むのが良い。

ただ、1点だけ手作業が必要だった。 どうも autofs のマップファイルが LDAP を参照しているとき、 マスタでは slapd が立ち上がらないタイミング(autofs より slapd が後)なので、 うまく機能しない。。。

まだ sysvinit ベースなので、次のようにした。

update-rc.d -f slapd remove
update-rc.d slapd defaults 18 82

upstartに移行した暁には、Debian もいい感じになるのかなぁ

追記 (2011/02/12)

Debian squeeze から upstart の時代だといった奴は、、、 sysvinit と insserv の合わせ技が標準じゃないかぁ!!

なので、/etc/init.d/autofs の先頭に書かれた insserv 設定行の該当部分を下記のように書き換えると、対処ができる。

...
# Should-Start: ypbind nslcd slapd
# Should-Stop: ypbind nslcd slapd
...

2010年7月1日

Linux SCSI Target Framework を使う

Debian/Ubuntu の iSCSI Target のお話が出てくると、iSCSI Enterprise Target (IET)が必ず出てくる。

まぁ、良いんだけど kernel ソースに取り込まれていないモジュールを使うので、 時々、他の複合的な要因かもしれないが、あさっての場面で oops は吐いくれたりする。

Fedora/RHEL/CentOS とかだと、既にLinux SCSI Target Framework(tgt)に移行している。コイツは 2.6.20 頃 kernel ソースに取り込まれているので、 結構安定してるんじゃないかなと思う。

tgt の性能に関しては、2006 年頃の論文「Linuxにおけるストレージシステムフレームワークの実現(オペレーティングシステム)」を見る限り、IET と若干落ちるぐらいなので、気にしなくても良いかも。

そろそろ Debian/Ubuntu でも Linux SCSI Target Framework(tgt)に移行する時期だ。

ユーザベースのツール群 tgt パッケージは、squeeze/lucid で用意されているみたいなので、やってみた。

ハマりポイントが2点ある。

  1. init スクリプトが見当たらない。バグ(#577925BUG #574554)として登録されている。
  2. tgt-admin 内で、デバイスが既に利用してるかどうかチェックする部分が上手く動いていない。と言うか、Debian/Ubuntuでは /bin/sh が dash (ash の亜種) になっているため、perl の system関数の呼び出しのスクリプト片に移植性がある書き方が要求される。コイツを踏んでる。

なので Fedoraのinitスクリプトを参考に、upstart 用のイベント設定ファイル? /etc/init/tgtd.confを書き下し、tgt-admin の修正パッチtgt-admin.diffを作ってみた。

例として、単一ディスクをiSCSIで公開する事を考える

以下の設定ファイルを書き下し、「tgt-admin -e」とタイプすれば良い。

/etc/tgt/targets.conf

default-driver iscsi

<target iqn.2010-07.com.example:stroage.fserver.data>
	driver iscsi
	backing-store /dev/sdb
</target>

実際にiSCSIターゲット設定が上手く行ったかは、次のようにする。

# tgt-admin -s
Target 1: iqn.2010-07.com.example:stroage.fserver.data
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB
            Online: Yes
            Removable media: No
            Backing store type: rdwr
            Backing store path: None
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 34360 MB
            Online: Yes
            Removable media: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
    Account information:
    ACL information:
        ALL

あとは、巷に溢れている tgt の設定方法が使える。 上手く設定すると、CDドライブやリムーバルディスクとかも、ネット越しで使えるようになるらしい。

追記 (2010/09/06)

気づいてみると、二番目のハマり点も修正済み(#589716)になったようである。

debian squeeze がリリースしたら、tgt をサクッと使うようになれる訳ですね。

2010年6月8日

日本語 texi から栞付きPDFを生成する

GNU のドキュメントシステムに texi 形式のファイルがある。 この形式のファイルから適当なコマンドを使って、info / dvi / pdf / html 等の 文書に変換できる。

最近では PDF 形式に変換するのに pdfetex を使う事で dvi 経由せずに直接 pdf に変換できる。 ただ、pdfetex は日本語化されていないので、日本語で書かれた texi は pTeX と dvipdfmx を組み合わせて変換する必要がある。

% TEX=ptex texi2dvi filename.tex
% dvipdfmx filename.dvi

このやり方でも pdfetex を使った変換と同様な PDF が作れるが、一つだけ違いがある。

栞/ブックマークが付かない。

実用上は問題は無いが、栞が付いた方が使い易い。。。はてどうしたもんだかぁ

texinfo.tex の日本語化

変換用のマクロ texinfo.tex の日本語化は本家 texinfoには含まれていない。 現在良くメインテナンスされているものとして、角藤版pTeXの texinfotools-w32.tar.bz2 がある。

ただ、僕も昔に texinfo.tex や makeinfo のナンチャって日本語化対応したことがある。 HDD の隅にある断片を探して調べてみたら、どうも elisp-manual-19-2.4-jp2.0.tar.gz を起点にして 作業したもので、検索をかけるとホンの僅かだが OSS の文書変換用に取り込まれている。。。

まぁ、自分の成果から起点とするのが、やり易いからコイツから作業するのがいいやぁ

dvipdfmx が PDF 生成用の special は 「Dvipdfm User’s Manual」/「DVI specials for PDF generation」 にキッチリ記載があり、栞の生成は難しくはなさそうである。

で、texinfo.tex の履歴だけgithub fukusaka/texinfo-ja に上げて、texinfo.tex の最新版と組み合わせて使えるように修正、同時に栞生成コマンド@usedvipdfmxを追加してみた。

使い方

texi のヘッダ部を次のように修正する。

\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename filename.info
@settitle TITLE
@documentlanguage ja
@documentencoding utf-8
@iftex
@usedvipdfmx
@end iftex
@c %**end of header

で、pTeX / dvipdfmx を使って、栞付きのPDFが生成できる。

まとめ

iOS4のPDFリーダーは栞付きが上手く扱えるのだろうかぁ。。。

久しぶりの投稿

かなり期間が空いてしまったが、ブログを再開してみようと思う。 2013年3月が直前の投稿だったが、頻繁に更新していた時期が 2011年11月までなので、8年間ぶりとなる。 8年間なにをしていたのかと言えば、2回転職して未だにIT技術者の職を得ている。 その...