トップ 追記

Yukiharu YABUKI の tDiary



2008-10-10 [長年日記]

_ qemu と kvm

Debian というか Linux で、他アーキテクチャのエミュレーションが、ちょっと必要ができそうなんで、軽く下調べ。

qemuは、他アーキテクチャのエミュレーションもできる。対象アーキテクチャはこんな感じ

yabuki@yelona:~$ qemu
qemu                  qemu-ppc64abi32       qemu-system-mips64el
qemu-alpha            qemu-sh4              qemu-system-mipsel
qemu-arm              qemu-sh4eb            qemu-system-ppc
qemu-armeb            qemu-sparc            qemu-system-ppc64
qemu-cris             qemu-sparc32plus      qemu-system-ppcemb
qemu-i386             qemu-sparc64          qemu-system-sh4
qemu-img              qemu-system-arm       qemu-system-sh4eb
qemu-m68k             qemu-system-cris      qemu-system-sparc
qemu-mips             qemu-system-i386      qemu-system-x86_64
qemu-mipsel           qemu-system-m68k      qemu-x86_64
qemu-ppc              qemu-system-mips      
qemu-ppc64            qemu-system-mips64    

lenny の d-i を x86 以外で動かしてみるのもおもしろいかもしれない。

kvm

qemu をやるなら、 kvm もと、色気を出した。しかし、思うところまでは道半ばなのでメモっておく。

私の手元のマシンは、Lenovo X200 なので、kvm-intel.ko が読み込まれていないといけない。

自分でカーネルコンパイルして運用してしまっているので、kvm-sourceパッケージを導入して

make-kpkg --initrd kernel-image modules-image
をしてモジュールをそろえておく。

ここで気がつくのが遅れましたが、BIOSでvirtualzationとVT-dを有効にしたら、いったん power を off にしてから立ち上げることをしましょう。そうすると、

yabuki@yelona:~$ lsmod | grep kvm
kvm_intel              33956  0 
kvm                   117800  1 kvm_intel
と読み込んでくれます。BIOSで仮想化を有効にしておかないと、起動時に kvm_intel が load できてなかったり、modprobe しても失敗するなどしていたような気がします。

yabuki@yelona:~$ ls -la /dev/kvm 
crw-rw---- 1 root kvm 10, 232 2008-10-10 09:02 /dev/kvm

なので、自分もkvmグループに入っておく必要があります。

$sudo adduser yabuki kvm
あたりでしょうか。逆は、
$sudo deluser yabuki kvm
です。脱線しますが、vigrなどでグループを編集すると、vigr -s でも編集しろみたいなメッセージを lenny から見るようになりました。前述の adduser/deluser の方が、一回で済むのでいいのではないでしょうか。

自分が kvm グループに入っているかどうかは、id コマンドで確認します。logout や再起動してから、

yabuki@yelona:~$ id
uid=1000(yabuki) gid=1000(yabuki) 所属グループ=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),110(netdev),113(powerdev),122(kvm),1000(yabuki)

とします。 kvm 以外は、Debian GNU/Linux Lenny が設定してくれています。

で、あとは
qemu-img create hogefuga.img 10G
してディスクイメージを作り、i386のd-iを落としてきて、kvm コマンドで実行すれば kvm が動くはずですが、私の所では qemu で動いているようです。そう判断したのは、d-iが立ち上がってくるウィンドウの上部に kvm ではなく、qemu と表示されているからです。kvmでなくqemuで立ち上がっているd-i

kvm -cdrom foo/bar/debian-testing-i386-netinst.iso hogefuga.img
とまでやって、時間切れ。またどこかでチェックしましょう。vmware 6.5はサービスを停止させているので,起動時から VT-d などの仮想化機能をを取りっぱなしにしてなかったら大丈夫と思うけど....

_ iijの山本さんの「文章の書き方」

具体的で分かりやすい。一読を勧める 。(http://d.hatena.ne.jp/kazu-yamamoto/20080924/1222224226)から、pdfを開いてみるといい。


2008-10-09 [長年日記]

_ 情報システム等の脆弱性情報の取扱いに関する研究会 報告書

下の方にあるpdfファイルを参照。これは脆弱性情報について(http://www.ipa.go.jp/security/fy17/reports/vuln_handling/index.html)

プログラミングに関する件は、『セキュア・プログラミング講座』(http://www.ipa.go.jp/security/awareness/vendor/programming/intro.html)などを参考にするのも良いだろう。

(http://slashdot.jp/developers/article.pl?sid=03/06/20/1544200)の中からいくつか (後で追記する。)

_ kvm + virt-manager

lennyでのお話。

yelona:~# aptitude install virt-manager
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了        
以下の新規パッケージがインストールされます:
  dnsmasq{a} dnsmasq-base{a} libpolkit-dbus2{a} libpolkit2{a} libvirt-bin{a} libvirt0{a} libxenstore3.0{a} 
  netcat-openbsd{a} python-gtk-vnc{a} python-libvirt{a} python-urlgrabber{a} virt-manager virt-viewer{a} virtinst{a} 
更新: 0 個、新規インストール: 14 個、削除: 0 個、保留: 0 個。
2589kB のアーカイブを取得する必要があります。展開後に 7373kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] 
ひとまず、一般ユーザで virt-manager で、仮想マシン・マネージャーを起動してみる。

2008-10-06 [長年日記]

_ 「IPAフォント使用許諾契約書の改訂作業および英語版作成作業」事前確認公募

やっと、きたー。(http://www.ipa.go.jp/software/open/ossc/2008/font/koubo.html)

_ 決算業務

いろいろとやってたら、夜が明けそう。

実感と数字の乖離があるけど、このあたりは税理士さんがdebugしてくれると思う*1

忙しくなってきたので、お金でよりよいサービスを受けて、よりギアを高めていく方向にシフト中。

あ、始発電車が動き出したみたい。送付書類を作って、仮眠するか。

*1 確かに、ここにbugがあると教えていただけました。もちろん指摘事項はこちらが直します。


2008-10-05 [長年日記]

_ 決算作業

本日も引続き、決算作業をがんばる。天気も雨だし。月曜日からもありがたいことに、いっぱいのお仕事が待っている。いっぱいの仕事があるということはいっぱい売上が上がるということで、会社が成長する余地があるということ。

_ 神戸の実家へ

夜になり、集中力が切れた段階で神戸の実家へ、甥と姪の顔を見に行く。甥はもうすぐ6歳とのこと。早いなあ。主たる用事は終了し、甥と姪とすこしだけ遊ぶ。

_ Open JDK

ここの記事「Ubuntu 8.04 LTS」と「Fedora 9」がOpenJDK実装をサポート(http://sourceforge.jp/magazine/08/05/01/031256)では、2つのディストリビューションの名前しか出てないけど Debian GNU/Linux Lenny にも Open JDK は入ってますよ。

yabuki@yelona:~$ apt-cache search openjdk
icepick - java toolchain built from OpenJDK sources
icepick-gcj - java toolchain built from OpenJDK sources (native library)
cacao-oj6-dbg - Java runtime based on OpenJDK (debugging symbols)
cacao-oj6-jdk - OpenJDK Development Kit (JDK)
cacao-oj6-jre - OpenJDK Java runtime, using CacaoVM JIT
cacao-oj6-jre-headless - OpenJDK Java runtime, using CacaoVM JIT (headless)
cacao-oj6-jre-lib - OpenJDK Java runtime (architecture independent libraries)
openjdk-6-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-6-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-6-doc - OpenJDK Development Kit (JDK) documentation
openjdk-6-jdk - OpenJDK Development Kit (JDK)
openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre-lib - OpenJDK Java runtime (architecture independent libraries)
openjdk-6-source - OpenJDK Development Kit (JDK) source files

_ CIツールの cruisecontrol の Debian package.

CIツールのcruisecontrol のdebianパッケージ版をみつけたんだけど、中身は Debian policy に沿ってない。/optにそのまま展開してたり、配布の障害になりそうな部分としては、特にライセンスまわりが怪しい。意図はいいんだけど、ちとまずいことが多いので、パッケージ作者の blog に mentors.debian.net でメンタリングを受けてみてはという提案をしておいた。うまく行くといいんだけど。

_ GTK+/GNOME による GUI アプリケーションプログラミング

オンラインで出版されているのですね。(http://www.iim.ics.tut.ac.jp/~sugaya/books/GUI-ApplicationProgramming/)

_ smb:// 経由で音声再生

私は、毎日曜日には IC レコーダーで NHK の英語関係の講座を録音だけはしている。録音したファイルは、あとで聞けるようにしてある。私がオールドタイプだからだと思う。が、smb://経由でsmbmountとかしなくても totem ならmp3を聞こえるようになっているのですな。なまじっか、smbmount や nfs などの手段をしっているためか。試したことがなかった。

あとで、いくやさんに聞いたら、最近はふつーらしい。私の好きな audacious でもできるかしら?

_ system-config-lvm

lvmでRAIDをしてないならおすすめ。ってことか。逆に言うと Raid エレメントがなくなって涙目になりかねないので、ハードウェアRaid以外はやばいってことか?

Description: A utility for graphically configuring Logical Volumes
 System-config-lvm provides a graphical interface to the LVM tools (and related
 utilities, including fsck and resize2fs) which is good for non-emergency
 storage administration. It enables you to manage your logical volume and
 filesystem configuration with a few mouse clicks, and it prevents potentially-
 disasterous command-line mistakes such as reducing a logical volume size before
 reducing the filesystem contained within that volume.
 .
 (One word of warning: system-config-lvm does not recognize RAID elements as
 being in use, and therefore lists them as "Unitnitialized Entities". If you are
 using a LVM-on-RAID configuration, system-config-lvm will let you wipe out RAID
 elements by making them into PVs. Be careful!)
Homepage: http://www.redhat.com

GUI好きで、RAID使ってない人でlvmを使いたい人には便利かも。Debian GNU/Linux Lenny なら (http://d.hatena.ne.jp/dayflower/20080501/1209539498)のような作業をせずに、そのまま system-config-lvm 使えました。


2008-10-04 [長年日記]

_ 決算作業

先月末で検収を上げたので、税理士さんへの帳簿と資料の最後の部分をやりはじめる。

_ VMware 6.5 in Debian GNU/Linux Lenny

客先の納品物件に WORD のドキュメントが必要なんで、Debian GNU/Linux Lenny を入れている X200 に VMware 6.5 を使って Windows VISTA business をインストールしました。Lenovo から供給されている Windows VISTA business は OEM のため、MSと同じ条件で Virtual Machine 上に OS をインストールする権利を持つかどうか、問い合わせる先を聞き出せないので、ひとまずあきらめて自分でOSを入手してきました。私の場合、VMware 6.5 の プロパティにて、CD(DVD)ドライブのレガシーエミュレーションを有効にしておかないと、うまくインストールができずに悩みました。

MS の windows VISTA SP1 以降なら、今のところ virtual machine にインストールしていいことは明示してあります。(http://download.microsoft.com/documents/useterms/Windows%20Vista_Home%20Basic%20and%20Home%20Basic%20SP1,%20Supplemental_Japanese_0be7a031-3931-4ce8-9917-46ca2d67d13e.pdf)

逆に、仮想化ははやっていますが動かす OS のライセンスは確認しておかないと、ライセンス違反になるのでご注意を。GNU/Linux なら、あまり心配しなくてもいいのですが。プロプラエタリな製品は仕方ないですね。VMwareのネットワークの設定をきちんとしていたためか、インターネットでのアクティベーションができました。電話せずに済んで一安心。

VMware 6.5 から bundle バージョンってのができましたが、これがこれまでのtar.gz版に変わるものみたいです。実行権限をつけて実行すると windows の wizard みたいにあれよあれよという間にインストールできてしまいます。any-any patch で悩まずに済んだし。

Office Personal

普段は、OpenOffice.org でいいのですが、客先へ納品する確認のための最終リファレンスとして WORD インストール。


2008-10-03 [長年日記]

_ 宴会

総勢20名弱で、西中島南方と新大阪の間で宴会をした。流石にこれだけの人数で宴会をすると、自分の名刺に顔写真を入れている価値を感じる。

客先から、名刺を取りに事務所に戻って本当に良かった。


2008-10-02 [長年日記]

_ 宴会

東京からお客様が来られているということで、宴会に参加できるか問い合わせて入れるとのこと。最寄り駅がJR環状線の桜宮のお店へ合流した。奥様にはお久しぶりにお会いしました。

そこでサプライズゲストにお会いしました。名刺交換させていただき、ちょっとびっくり。また別の方から x86 系じゃない Debian もやってる? って所から、お仕事につながりそうなお話をお伺いしました。


2008-10-01 本日から衣更え [長年日記]

_ 出版社へ要望をだしてみた。

Linuxスーパーユーザハンドブック Technical Handbook (Technical Handbook Series)(吉田 智彦/関根 達夫) Linuxスーパーユーザハンドブック Technical Handbook (Technical Handbook Series)(吉田 智彦/関根 達夫)を手元において見ているのだが、2005年05月30日初版出版で改定がなされていない。これは残念なことなので出版社のサイトから、問い合わせというか改定版の予定はありますか? という内容のことを書いてみた。良いと思ったら続きが欲しくなるのは人情ですよね。

_ UBIFS - UBI File-system

Linux 2.6.27-rc8 Kernel Released となり、UBIFS がカーネルに入ったのを知った。このファイルシステムを使えば、Eee-PCなどのフラッシュメモリを使うPCたちへの福音となるのだろうか。(http://www.linux-mtd.infradead.org/doc/ubifs.html)

私は知らなかったですが、サードパーティが大容量のDドライブをだしてきているのですね。

フラッシュの耐久性が、いわゆるCドライブなら10万回で、いわゆるDドライブなら1万回など、異なる書き込み回数性能や、I/O速度の差があるような環境で、どうしたら快適に過ごせるかというのは一般的な組み込み案件でもありそうな話である。

_ Emacs が daemon へ

Emacsはdaemonとなりて、各emacsクライアントから繋ぎにくるスタイルが早いということが判明したそうです。ネタもとはこちら(http://blog.orebokech.com/2008/09/emacs-now-with-built-in-daemon.html)

_ grubの初期設定は、/etc/default/grubを見よ。

先日インストールした Debian GNU/Linux Lenny の話である。初期に導入されるカーネルのコンパイルが、コンパイルされた gcc のバージョンは、lenny に含まれているバージョンが異なっている。そのためカーネルのモジュールを後からコンパイルしていれる時に、不安なので、カーネルを手元でコンパイルしなおして、

yabuki@yelona:~$ cat /proc/version 
Linux version 2.6.26 (2.6.26) (root@yelona) (gcc version 4.3.1 (Debian 4.3.1-9) ) #1 SMP Sun Sep 28 19:48:41 JST 2008
としている。この際、grub-updateで既存の Debian の吊しカーネルと同居させているのであるが、make-kpkgの時に --initrd と kernel-image ぐらいしか指定しなかったので、gurbのメニュー上では、Debianの吊しカーネルが先に表示されて、ブートしてくる。

X200がs2diskを実行すると、リブートしてくるのもあって、grubの初期設定を替えたくなったので lenny での御作法をしらべてみた。

yabuki@yelona:~$ dpkg -l grub*
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)維持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(H)維持/(R)要再インストール/X=両方(状態,エラーの大文字=異常)
||/ 名前             バージョン    説明
+++-==================-==================-====================================================
un  grub               <なし>           (説明 (description) がありません)
ii  grub-common        1.96+20080724-10   GRand Unified Bootloader, version 2 (common files)
un  grub-efi           <なし>           (説明 (description) がありません)
un  grub-ieee1275      <なし>           (説明 (description) がありません)
un  grub-linuxbios     <なし>           (説明 (description) がありません)
ii  grub-pc            1.96+20080724-10   GRand Unified Bootloader, version 2 (PC/BIOS version
un  grub2              <なし>           (説明 (description) がありません)
結果からいうと、/etc/default/grub を編集してから、update-gurbをするのが良い。
yabuki@yelona:~$ cat /etc/default/grub 
# This file is sourced by update-grub, and its variables are propagated
# to its children in /etc/grub.d/
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX=
 
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
 
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

ほかにも、/etc/grub.d/というディレクトリもあるので、追っかけてみると良い。私の場合は、GRUB_DEFAULTを2に替えてみるつもり。

yabuki@yelona:/boot/grub$ sudo update-grub
Updating /boot/grub/grub.cfg ...
Found Debian background: debian-blueish-wallpaper-640x480.png
Found linux image: /boot/vmlinuz-2.6.26-1-686
Found initrd image: /boot/initrd.img-2.6.26-1-686
Found linux image: /boot/vmlinuz-2.6.26
Found initrd image: /boot/initrd.img-2.6.26

_ wireshark/tshark

本日は、EeePCにUbuntuを入れている人に少しヘルプをしました。wiresharkを入れたいと言うことで、お手伝いをしました。そこで気がついたことがあります。ネットワークから途絶しているマシンに usb meomry 経由でパッケージをダウンロードしておいたものを、dpkg -i で列挙する形でインストールしました。Ubuntu には、root はいないので、sudo さんで、wireshark さんを立ち上げないと ethernet device を promise mode にできないのではないかと思うのです。で一般ユーザから sudo 経由でインストールしたためか、メニューから辿ると、一般ユーザ権限で wireshark を実行するメニューしかでてきません。

どっか別のところでは、wireshark を root として実行するメニューを見たような気がしたのですが、まあ時間もないので、端末から sudo 経由で wireshark を実行するようにというアドバイスだけしておいたのですが。

メニューから root として wireshark を実行させるのって、一般の Ubuntu からできてましたっけ?

あと後から思ったのは、GUIじゃなくても tshark の方が座りが良かったかなあと

_ 使っていた手帳が、ディスコンになる。

ディスコンといっても、ボディコンの親戚ではない。discontinued(製造中止で廃盤)になったのである。

能率手帳のタイムデザイナーA5ってやつだったんだが。通常の能率手帳のパーティカルを、お勧めされたがてんで気に入らず。しかたないので、また自分の使いやすい手帳を探しに時間を取らねばならない。パイロットのパーティカルか、クオ・バディスの手帳かな。

_ X200 は PC Express の所も動いていないこと判明

PC Express カードを入手して突っ込んでみたが、何も反応がない。調べてみたら、ログにも何も上がって来ない。

yelona:/home/yabuki# /etc/init.d/pcmciautils 
No PCMCIA bridge module specified failed!
ってことで、そもそも PC Express を利用するモジュールが特定できてないんだから無理ですな。

kmutoさんのhalの所には登録しておいたけど、kernel 2.6.26 でみるとこんな感じ

yabuki@yelona:~$ lspci
00:00.0 Host bridge: Intel Corporation Cantiga Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07)
00:03.0 Communication controller: Intel Corporation Cantiga MEI Controller (rev 07)
00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
03:00.0 Network controller: Intel Corporation Device 4236
04:00.0 Memory controller: Intel Corporation Turbo Memory Controller (rev 11)

2008-09-30 [長年日記]

_ MIDとGoogle search

分からない言葉があったので、googleさんに聞いてみる方法を教えてもらった。define:mid とすると、web上でのmidについての定義を調べてくれる。(http://www.google.co.jp/search?source=ig&hl=ja&rlz=&=&q=define%3Amid&btnG=Google+%E6%A4%9C%E7%B4%A2&meta=)

残念ながら見付からなかったが、UMPCやMIDって違うカテゴリなのね。(http://pc.watch.impress.co.jp/docs/2008/0603/nvidia.htm)によると、

現在、MID(Mobile Internet Device)と呼ばれる機器が注目を集め始めている。MIDは狭義な定義では、通話機能を持たずにHSDPAやWiMAXなどのインターネットへの無線常時接続を前提とした携帯機器で、日本市場での製品で言えば、先日ウィルコムが発表したD4や、イーモバイルのEM・ONEなどがこれに該当するだろう。

MIDをインターネットへの無線常時接続できる機器と定義するのであれば、通話もできるスマートフォンと呼ばれる機器もMIDに分類してもよく、ウィルコムのW-ZERO3や、ソフトバンクのXシリーズ、日本では未発売だがAppleのiPhoneなどもMIDといってもいいだろう。

とあるので大体こんな感じのレンジなのねと、この定義をひとまず受け入れてみる。

_ 時間、時刻、水晶発振

コンピュータの上で時間を合わせることについて、どのぐらい真剣に考えているでしょうか。ntpやntpdateに任せておけばいいやとか思っていませんか? dual boot している人や、ntpd ですぐに時刻が補正できないぐらいマシンを落す必要がある人、--- 例えばビルの計画停電や長期休みなど --- でシステムクロックに大きな狂いがでてくるとコンピュータの時刻が同期しないので、ログ関係、スケジュールされた処理など、狂ってくるでしょう。

ここまで聞いて、ピンくる Linux 管理者や開発者なら、The Clock Mini-HOWTO(http://www.linux.or.jp/JF/JFdocs/Clock/)を読む価値があると認めることでしょう。電波時計やタイムサーバも面白いと思いますが、まずは足元から。


2008-09-28 [長年日記]

_ 関西オープンソースおよび関西コミュニティ大決戦(a.k.a KOF2008)のサイト

関西オープンソース2008および関西コミュニティ大決戦(http://k-of.jp)が更新されました。申込などは、Webで内容を確認して、必要事項を揃えてから申込を行ってください。

_ 試験

久しぶりに、大規模試験を受けて来ました。感覚では、4:6の比率で女性が多い試験です。お金を払っているのに、当日空席の席が一割ぐらいでしょうか。昔に受けた情報処理技術者試験よりは出席率良かったです。

_ lookup-el

辞書サーバ経由でなく、直接lookupが辞書を読む設定をしてみた。あと ndeb って(http://d.hatena.ne.jp/kotorikotoriko/20080201/1201796157)を読むと、改善した ndebs ディレクティブが使える eblook がLookupについて(http://green.ribbon.to/~ikazuhiro/lookup/lookup.html)に紹介されていました。画像や音声の拡張もあるみたいです。

_ AVASYSのLinuxドライバー

Linuxドライバーがあると、うれしいですな。新機種に対応したLinux用ドライバをリリースしました(9/19) (http://avasys.jp/hp/page000001200/hpg000001170.htm)

_ 基本機能も高度な機能も備えたブログ・ソフトウェア、Habari

コメントスパムなどに困っているなら、選択肢の一つ?!(http://sourceforge.jp/magazine/08/09/12/0117204)

_ Photoshopフィルターを使うためのGIMPフィルター User Filter

Photoshop向けのフィルターって、よくわからないのですが Photoshop以外に使ってもいいって許可もらえるものなの? 自由に使えるのならいいのだけど。または、Photoshop 以外で使ってもサポートがないだけとか。(http://sourceforge.jp/magazine/08/09/25/0055220)


2008-09-27 [長年日記]

_ X200のwireless

Lenovo X200を買って、Debian GNU/Linux Lenny を入れているわけです。X32と比べて熱が少ないのは非常にうれしい。まだ設定途上ですが、X200の Wireless LAN は新しすぎて、Linux カーネルのおっかけをしないといけない風味。

PC Cardは、小さめのExpress PCカードっていうのですか? このタイプ。なんで、これまで買っているPC Cardが物理的制約で使えません。Emobileか、X200 に入るサイズの Wireless Card を買って来ようかと思います。内蔵 LAN は Linux Kernel のほうで落ち着いたらまた試してみようと思います。

下記のような感じで、Debian GNU/Linux Lenny から見えてます

yelona:/home/yabuki# lshw -short
H/W path             Device     Class          Description
==========================================================
                                system         745423J
/0                              bus            745423J
/0/0                            memory         128KiB BIOS
/0/6                            processor      Intel(R) Core(TM)2 Duo CPU     P8
/0/6/a                          memory         64KiB L1 cache
/0/6/c                          memory         3MiB L2 cache
/0/6/1.1                        processor      Logical CPU
/0/6/1.2                        processor      Logical CPU
/0/b                            memory         64KiB L1 cache
/0/20                           memory         2GiB System Memory
/0/20/0                         memory         1GiB SODIMM Synchronous 667 MHz (
/0/20/1                         memory         1GiB SODIMM Synchronous 667 MHz (
/0/1                            processor      
/0/1/1.1                        processor      Logical CPU
/0/1/1.2                        processor      Logical CPU
/0/100                          bridge         Cantiga Memory Controller Hub
/0/100/2                        display        Cantiga Integrated Graphics Contr
/0/100/2.1                      display        Cantiga Integrated Graphics Contr
/0/100/3                        communication  Cantiga MEI Controller
/0/100/19            eth0       network        82567LM Gigabit Network Connectio
/0/100/1a                       bus            82801I (ICH9 Family) USB UHCI Con
/0/100/1a.1                     bus            82801I (ICH9 Family) USB UHCI Con
/0/100/1a.2                     bus            82801I (ICH9 Family) USB UHCI Con
/0/100/1a.7                     bus            82801I (ICH9 Family) USB2 EHCI Co
/0/100/1b                       multimedia     82801I (ICH9 Family) HD Audio Con
/0/100/1c                       bridge         82801I (ICH9 Family) PCI Express 
/0/100/1c.1                     bridge         82801I (ICH9 Family) PCI Express 
/0/100/1c.1/0                   network        Intel Corporation
/0/100/1c.2                     bridge         82801I (ICH9 Family) PCI Express 
/0/100/1c.2/0                   memory         Memory controller
/0/100/1c.3                     bridge         82801I (ICH9 Family) PCI Express 
/0/100/1d                       bus            82801I (ICH9 Family) USB UHCI Con
/0/100/1d.1                     bus            82801I (ICH9 Family) USB UHCI Con
/0/100/1d.2                     bus            82801I (ICH9 Family) USB UHCI Con
/0/100/1d.7                     bus            82801I (ICH9 Family) USB2 EHCI Co
/0/100/1e                       bridge         82801 Mobile PCI Bridge
/0/100/1f                       bridge         ICH9M-E LPC Interface Controller
/0/100/1f.2          scsi0      storage        ICH9M/M-E SATA AHCI Controller
/0/100/1f.2/0.0.0    /dev/sda   disk           250GB HITACHI HTS54252
/0/100/1f.2/0.0.0/1  /dev/sda1  volume         243MiB Linux filesystem partition
/0/100/1f.2/0.0.0/2  /dev/sda2  volume         232GiB Linux filesystem partition
/0/100/1f.3                     bus            82801I (ICH9 Family) SMBus Contro
/1                              power          42T4536

_ llvmruby

llvmrubyとは、Ruby のエクステンションである。llvmruby が llvm コンパイラーをつかって、楽しく楽にツールをビルドできるようになる ためのものらしいです。(http://llvmruby.org/wordpress-llvmruby/) の What is llvmruby ってのをみるとそんな事が書いてありました。


2008-09-25 [長年日記]

_ USB Video Class

Linux UVC driver and tools(http://linux-uvc.berlios.de/) 昔は、video って IEEE1394 でやるもんだって思ってましたけど、そんなこともなくて、USB Video Class ってのがあって、いまは WebCam を探す旅にでなくても、この辺から選べば、使えそうな感じなんですね。

_ SQLite Studio

SQLite に GUI を使って管理ができるそうです。(http://sqlitestudio.one.pl/index.rvt)

_ 掃除はメンテナンスの基本

埃っぽい環境でPCを動かしていると、エアフローの部分がトンでもない事になっている場合があります。こんな時に落してはいけないシステムだと、ある日突然お亡くなりになる場合があるので、防災訓練みたいに掃除するときには予備機を投入して実際に稼働するか確認してみてはいかがでしょうか。

_ Lenny upgrade advisor

Debian の Lenny へアップグレードをする際に当って、問題になりそうな部分を教えてくれる(http://lists.debian.org/debian-devel/2008/09/msg00135.html)


2008-09-24 [長年日記]

_ 組み込み屋さんとの話の中で

蟹チップで有名な、RealTek で性能がでるとか出ないとかは、データシートを見てからお話がスタートするので、巷に溢れている蟹が性能が出ないというのは、デバイスドライバーの方に問題があるのだ。とのこと。微妙にダメなソフトウェアを引きずっていると、そこに産業が生まれる。完璧なモノだけだと周辺活動が回らない。ってな話になった

ダメなモノで良いというわけではない。そもそも使う気にならないから。

_ 2 clause BSD License

Debconf の copyright を読むと、2条項 BSD ライセンスのようだ。

_ man 1 debconf, man 7 debconf

最初、man 1 debconfだけしか、manが引けなかったが、

aptitude install debconf-doc
すると、man 7 debconf も読めるようになった。

_ 特定非営利活動促進法 および 一般社団法人及び一般財団法人に関する法律

社会的に認められる手段の一つとして、特定非営利活動を行う団体に法人格を取得する方法がある。次の法令を参照のこと。(http://law.e-gov.go.jp/htmldata/H10/H10HO007.html)

一般社団法人及び一般財団法人に関する法律

こちらも関係がある。どちらの法律が使いやすいかは、別途考えるべし。(http://law.e-gov.go.jp/announce/H18HO048.html)

_ 自分の立場を考えてくれる法律家に相談する

下請け法 の時期から思っていた事だが、自分の立場で考えてくれる法律家などの専門家が必要になった時に、どのようにすればぴったりの人と出会えるだろうか。専門家には専門領域があり、その時々によって利用したい専門領域が違う場合、中小企業では潤沢に資金があるわけでないので、いわゆる顧問契約と、スポットと組み合わせていく戦略しかないのだろうか。

どういうキーワードでググレばいいのかわからないが、いくつかの企業が連合体となって、複数の専門家を抱えるような仕組みがあれば、受ける方も仕事量の確保および平滑化ができそうな気もするのだが


2008-09-23 [長年日記]

_ 3D円グラフ

学生時代、円グラフって社会の教科書でみたぐらいで自分では使った事がなかった。単に、棒グラフと折れ線グラフで事が足りていたからで、円グラフの使いどころは、錯覚を誘発しやすい環境を作る事なのだな。プレゼンなどで円グラフがでてきたら、そこは質問するポイントなのかと思います。3D円グラフを使うのはやめよう(http://oku.edu.mie-u.ac.jp/~okumura/blog/node/2266)

_ FLOSSでGPSを扱っている、開発者およびユーザの情報交換としてのメーリングリスト

興味のある人は入ってみては?(http://risto.kurppa.fi/blog/invitation-for-all-open-source-gps-software-developers-and-users-to-join-foss-gps-mailing-list/)

_ sysctlによるカーネルのチューニング

結局は、カーネルの事を知らないとチューニングできないので、素人がsysctlコマンドを知ったからといって、劇的な成果がでるわけではない。結局ここも、基礎体力なのだ。sysctlによるカーネルのチューニング(http://sourceforge.jp/magazine/08/09/12/0134255)

_ Project KENAI

Source Forgeとは異なった進化を遂げようとしている。現段階ではコミュニティというか多数の業務命令でなく、自由意志で開発に参加する人達を引き付けるところに力点をおいているのかしら。(http://kenai.com/)

企業で使うのなら、いまの所なら SourceForge に分がありそうだが。さて

_ Cray から 個人でも買えるかも知れないスパコン

何に使うかだよなぁ(http://slashdot.jp/article.pl?sid=08/09/18/0250221)

_ バイト列を読み取る処理のバリエーション

バイトストリームを扱う抽象のバリエーションって、こうやって整理されると設計の時にどれを選ぶかもれなく検討できるのでよいですね。細かい部分はリンク先を見てもらうとして、下記のまとめを例にして分類しているような本があるといいんだが。

  • バッファをユーザが確保する方法
    • 内部のバッファからコピーする read()
    • ユーザのバッファに直接書き込める read_async()
      • コールバックのかわりに poll_read()
  • システム内部のバッファを公開する方法
    • 連続したメモリ領域を仮定する read_buffer()
    • 非連続なメモリを利用する read_chunk()
      • 非連続を隠す normalize() と read_normalized()
      • メモリブロックを引き渡す move()

元記事はこちら(http://plus.ce-lab.net/plus-stream/byte-stream-101)

_ 第2回 勉強会の開催は「メリット>コスト」

FLOSSのプロジェクトに例を出すなら、最初に立ち上げた人から次の担い手へのバトンタッチへの言及があると良かったのではないでしょうか。(http://jibun.atmarkit.co.jp/lcom01/rensai/first/02/02.html)

_ オープンソースのビジネス利用:神話と実態

参照元はこちら。(http://www.infoq.com/jp/news/2008/08/10-myths-about-oss-in-business)

_ 医学と統計と海外で働くということ

私の知り合いの一人のblogです。なかなか刺激的なことをやっているらしい。統計学(http://blog.livedoor.jp/bijoux_iris/archives/51074035.html)

場所が変われば、色々変わっているみたいですね。個人主義に必要なのはコミニュケーション能力(http://blog.livedoor.jp/bijoux_iris/archives/51074137.html)

で、これらのことを読んでから(http://www.itmedia.co.jp/enterprise/articles/0807/17/news051.html)の取り合わせをみると、統計の事と、私が知っている範囲でのIT・通信系の風土について考えさせれました。

_ PPA

インターネット上に Debian 系マシンのアカウントを持っていない場合で、debパッケージを作って置いておきたい場合に便利そうだが、作る人によってクオリティが違うだろうから、メンターする人間とコンタクトできる場所なども必要かなとおもった。mentors.debian.net とは違った切口ですね。 君にもできる PPA - アカウントを取ろうCommentsAdd Star(http://d.hatena.ne.jp/MIZUNO/20080913/1221296778)

_ 哲学カフェ

世の中には、いろんな方がいます。例えば、Googleなどの検索エンジンで「哲学カフェ」というキーワードで検索してみると世界の見方が違う人に会えるかも知れません

_ strcasecmp

昔は、英文字だけの比較なら、テンポラリにupperまたはlowerで一方に合わせて比較していたものだが、strcasecmp,strncasecmpなら、その一手間ががいらない。詳しくは、man strcasecmp


2008-09-22 [長年日記]

_ ulogd_PWSNIFF.c

ulogdのソースコードをみてたら、POP3とFTPの生パスワードが流れていたら記録するエクステンションをみつけた。ネットワーク管理者が自分の組織のポリシーに応じて使うと良いんじゃないでしょうか。

_ [Debian] checkbashisms

bashism --- bash 依存症をチェックするコマンド。

$ checkbashisms
Usage: checkbashisms script ...
   or: checkbashisms --help
   or: checkbashisms --version
This script performs basic checks for the presence of bashisms
in /bin/sh scripts.
$ dpkg -S checkbashisms
devscripts: /usr/share/man/man1/checkbashisms.1.gz
devscripts: /usr/bin/checkbashisms
devscripts: /usr/share/man/fr/man1/checkbashisms.1.gz

2008-09-19 [長年日記]

_ ulogd の upstream

Debian GNU/Linux Etch の時点では、ulogd の upstream の URL は合っていたのかもしれないが、本日の時点では、http://www.gnumonks.org/projects/ulogd には、何もない。たぶん、プロジェクトの url は、(http://www.netfilter.org/projects/ulogd/index.html)に移っているのではないか。と思って、(http://packages.debian.org/lenny/ulogd)にアクセスして、外部の資源:を確認したら、netfilter.orgの方になってました。

移転したのがわかったので、助かった。

_ ulogd の debian/rules

cdbsをつかってあるので、下記のように複雑さが隠蔽されている。つまり簡単だということだ。--- cdbs が良きに計らってくれるからですが。
#!/usr/bin/make -f
 
include /usr/share/cdbs/1/class/autotools.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/simple-patchsys.mk
 
DEB_CONFIGURE_SCRIPT_ENV =
DEB_MAKE_INVOKE = make
DEB_CONFIGURE_USER_FLAGS = --with-pgsql --with-mysql --with-pcap --with-sqlite3
 
DEB_INSTALL_CHANGELOGS_ALL = Changes

_ netstat-nat

Debian Package に netstat-nat のパッケージがあるのに気が付いた。

Ernalda:~# netstat-nat
Proto NATed Address                  Foreign Address                State
Ernalda:~# netstat-nat -h
args: -h: displays this help
      -n: don't resolve host/portnames
      -p <protocol>        : display connections by protocol
      -s <source-host>     : display connections by source
      -d <destination-host>: display connections by destination
      -S: display SNAT connections
      -D: display DNAT connections (default: SNAT & DNAT)
      -L: display only connections to NAT box itself (doesn't show SNAT & DNAT)
      -x: extended hostnames view
      -r src | dst | src-port | dst-port | state : sort connections
      -o: strip output header
      -v: print version

ということで自分のマシンで nat をかけているとこれを見て楽しむ! ことができます。

_ BSDの pfsync の機能を Debian GNU/Linux でも --- conntrack, contrackd

パケットのステート情報の複製について、備えあれば憂いなし - pfSense/pfSyncでネットワーク管理を容易に(http://journal.mycom.co.jp/articles/2007/05/24/bsdcan2/)では、BSD系での話がかかれている。しかし、BSDのpfsyncじゃなくても、

aptitude install conntrack conntrackd
とすれば複数台でコネクショントラックの状態について複製する準備ができる。

詳細については、(http://conntrack-tools.netfilter.org/about.html)を起点に読めばわかる。

私としては、keepalivedを使った、packetのコネクションテーブルを複製し、NAT/IP masq/firewall マシンの failover 機能も面白いが、4層(UDP, SCTPなど)のセッションをぶった切ることができそうなのが面白い。--- netfilter が奥深いというのが、ようやく実感できてきた。

_ antとmakeとCとC++

CI*1ツールとして CruiseControl が有名ですが、こいつはANTを使うんで、Linux(Unix)系の人にはあまり馴染みがない。unix系なら、makeを使っている場合が多い。CIツールで、C/C++を使い、make を主に使っている場合は、何を使うのが良いのだろうか。--- buildbot などもあるけれど、antで xml file を書いてmakeを呼び出すべきなのか。

*1 Continuous Integration

_ 共有メモリ

man ipcs or
yabuki@Ernalda:~$ ipcs -h
ipcs provides information on ipc facilities for which you have read access.
Resource Specification:
        -m : shared_mem
        -q : messages
        -s : semaphores
        -a : all (default)
Output Format:
        -t : time
        -p : pid
        -c : creator
        -l : limits
        -u : summary
-i id [-s -q -m] : details on resource identified by id
usage : ipcs -asmq -tclup
        ipcs [-s -m -q] -i id
        ipcs -h for help.
関連キーワード:共有メモリ(shared mem)、オーバーコミット(over commit)、OOM Killer
yabuki@Ernalda:~$ cat /proc/sys/vm/overcommit_memory
0
これだけあれば、調べられるはず。

_ SQLite をファイルを使わずにメモリ上だけで処理させみた参考値を発見した。

(http://sebastian-bergmann.de/archives/751-Testing-with-SQLite-In-Memory-Databases.html)

_ ソフトウェアエンジニアの道

朱に交われば赤くなる。回りの環境を整えよう。という意味で、自分の居場所をどこにするかなど参考になりました。(http://docs.google.com/EmbedSlideshow?docid=dcfbwtsr_30gtpm43pv)

_ ファイルシステム暗号化

この情報って、じつは最近発売されたSoftware Design (ソフトウエア デザイン) 2008年 09月号 [雑誌] Software Design (ソフトウエア デザイン) 2008年 09月号 [雑誌]にまとめられているそうですね。fedoraでのlukの話Fedora9 で USB外付けHDDを暗号化してみる(http://blog.livedoor.jp/scarletwing/archives/65093304.html)。時間をみつけて自分のメモも pull out しておかないと... 忘れてしまいそうだ。


2008-09-17 [長年日記]

_ tuedaさんへ

記事元はこちら。嗚呼,でびやん(http://www.ueo.co.jp/~tueda/diary/?date=20080917#p01)まずは、操作のhisotryを、rootとsudo を使っているならそのユーザのを取って記録しておいてください。例えば、

#history > hoge
$history > fuga
で、これから述べる事が合っているか確認したいです。

Debian.orgが出している、ドキュメントを読むとわかりますが、使用を推奨しているのは、apt-get コマンドじゃなくて、依存性をチェックして削除もできる、aptitude コマンドです。あ、apt-getコマンドから aptitude コマンドに乗り換える時は、下記のパッケージデータベース部分に追加情報を記録する必要があるので、apt-get と aptitude のコマンドを混在させると、apt-getで入れたパッケージは、aptitudeの必要とする追加情報がないので、いったん削除対象になってしまうので、驚くかもしれません。是非、aptitude コマンドで統一しましょう。tuedaさんなら、Debian reference(日本語版) see also (http://qref.sourceforge.net/Debian/reference/reference.ja.txt)の6. Debian パッケージ管理と 6.2.2. `aptitude' などから興味のある所を読み進めてもらえればいいでしょう。

yabuki@Ernalda:~$ sudo aptitude install apache2-mpm-prefork 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
タグのデータベースを構築しています... 完了
以下の新規パッケージが自動的にインストールされます:
  apache2-utils apache2.2-common
以下の新規パッケージがインストールされます:
  apache2-mpm-prefork apache2-utils apache2.2-common
更新: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
アーカイブ 1726kB 中 420kB を取得する必要があります。展開後に 4473kB のディスク 領域が新たに消費されます。
続けますか? [Y/n/?]
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.debian.org etch/main apache2-mpm-prefork 2.2.3-4+etch5 [420kB]
420kB を 2s 秒でダウンロードしました (175kB/s)
未選択パッケージ apache2-utils を選択しています。
(データベースを読み込んでいます ... 現在 270509 個のファイルとディレクトリがイン ストールされています。)
(.../apache2-utils_2.2.3-4+etch5_i386.deb から) apache2-utils を展開しています.. .
未選択パッケージ apache2.2-common を選択しています。
(.../apache2.2-common_2.2.3-4+etch5_i386.deb から) apache2.2-common を展開してい ます...
未選択パッケージ apache2-mpm-prefork を選択しています。
(.../apache2-mpm-prefork_2.2.3-4+etch5_i386.deb から) apache2-mpm-prefork を展開 しています...
apache2-utils (2.2.3-4+etch5) を設定しています ...
apache2.2-common (2.2.3-4+etch5) を設定しています ...
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
This module is already enabled!
 
apache2-mpm-prefork (2.2.3-4+etch5) を設定しています ...
Starting web server (apache2)....
 
で、
yabuki@Ernalda:~$ dpkg -S /etc/init.d/apache2
apache2.2-common: /etc/init.d/apache2
を実行して、/etc/init.d/apache2 のファイルがどこのパッケージに属しているか確認します。で、一つ予想なのですが、tuedaさんの書き方だと、apache2-commonを先に強制removeしているような気がしています。コマンドのヒストリーでどうなっているか確認できませんか? で、aptutude remove を使えば、
yabuki@Ernalda:~$ sudo aptitude remove apache2-mpm-prefork
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
タグのデータベースを構築しています... 完了
以下のパッケージが使われていないので削除されます:
  apache2-utils apache2.2-common
以下のパッケージが削除されます:
  apache2-mpm-prefork
更新: 0 個、新規インストール: 0 個、削除: 3 個、保留: 0 個。
0B のアーカイブを取得する必要があります。展開後に 4473kB のディスク領域が解放されます。
続けますか? [Y/n/?]
拡張状態情報を書き込んでいます... 完了
(データベースを読み込んでいます ... 現在 271002 個のファイルとディレクトリがインストールされています。)
apache2-mpm-prefork を削除しています ...
Stopping web server (apache2)....
apache2.2-common を削除しています ...
No apache MPM package installed
apache2-utils を削除しています ...
のように、いも蔓式に入れたパッケージも削除対象になるので、ぜひ aptitude を使って下さい。よろしくお願いします。

2008-09-16 [長年日記]

_ 検査が終わったら世界が変わっていた。

たまには、こういうことがあるんだなあ。検査入院から世間にもどってきたら、リーマンブラザーズが破綻してた。株やFXはやってないので直接は関係ないけど、間接的には、経済動向として関係してくるかもしれない。

_ ulogd

iptables の -j LOG は、カーネルログとして記録され、dmseg にもiptables の log が残る。このため、-j ULOG として ulogd にログを取らせて、デフォルトでは、syslog風emuの書式でログが取られる。色々とプラグインがあって、syslogdにログを任意のファシリティ、任意のレベルで送り込めたり、MySQLやPosgreSQL, SQLiteにデータを取り込めたりする。また、PCAPを使えばWireshark(Ethereal)/tcpdump にデータを取らせて、それらの形式でログが取れる。

_ FCKeditor

もちろん、Debianにもパッケージはあるわけだが。本家のサイト(http://www.fckeditor.net/)の動作環境を提示する方法がなかなか面白かった。

FCKeditorは、HTMLを入力する際にwebサーバ側のjava scriptをclientへ送り込み Web BrowserでMS Word風味なメニューをjava scriptで作りだし、あたかもアクセスしているサイトで HTMLエディターが使えるものだと思わせるように作ってある。下記には、私の場合、backports.orgのパッケージを利用している。stable以外のパッケージを利用するので、人によっては避けた方が良い。

$ sudo aptitude install fckeditor
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
タグのデータベースを構築しています... 完了
以下の新規パッケージが自動的にインストールされます:
  apache2 apache2-mpm-worker apache2-utils apache2.2-common
以下の新規パッケージがインストールされます:
  apache2 apache2-mpm-worker apache2-utils apache2.2-common fckeditor
更新: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
2696kB のアーカイブを取得する必要があります。展開後に 9437kB のディスク領域が新たに消費されます。
続けますか? [Y/n/?] y
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.debian.org etch/main apache2-utils 2.2.3-4+etch5 [342kB]
取得:2 http://www.jp.backports.org etch-backports/main fckeditor 1:2.6-1~bpo40+1 [924kB]
取得:3 http://ftp.debian.org etch/main apache2.2-common 2.2.3-4+etch5 [964kB]
取得:4 http://ftp.debian.org etch/main apache2-mpm-worker 2.2.3-4+etch5 [424kB]
取得:5 http://ftp.debian.org etch/main apache2 2.2.3-4+etch5 [41.5kB]
2696kB を 4m22s 秒でダウンロードしました (10.3kB/s)
未選択パッケージ apache2-utils を選択しています。
(データベースを読み込んでいます ... 現在 270601 個のファイルとディレクトリがインストールされています。)
(.../apache2-utils_2.2.3-4+etch5_i386.deb から) apache2-utils を展開しています...
未選択パッケージ apache2.2-common を選択しています。
(.../apache2.2-common_2.2.3-4+etch5_i386.deb から) apache2.2-common を展開しています...
未選択パッケージ apache2-mpm-worker を選択しています。
(.../apache2-mpm-worker_2.2.3-4+etch5_i386.deb から) apache2-mpm-worker を展開しています...
未選択パッケージ apache2 を選択しています。
(.../apache2_2.2.3-4+etch5_all.deb から) apache2 を展開しています...
未選択パッケージ fckeditor を選択しています。
(.../fckeditor_1%3a2.6-1~bpo40+1_all.deb から) fckeditor を展開しています...
apache2-utils (2.2.3-4+etch5) を設定しています ...
apache2.2-common (2.2.3-4+etch5) を設定しています ...
設定ファイル /etc/apache2/mods-available/authn_dbd.load を新規にインストールしています ...
 
apache2-mpm-worker (2.2.3-4+etch5) を設定しています ...
Starting web server (apache2)....
 
apache2 (2.2.3-4+etch5) を設定しています ...
fckeditor (2.6-1~bpo40+1) を設定しています ...

2008-09-12 [長年日記]

_ デバイスの名前を永続化する。

kinnekoさんところ経由概要: UUID, パーティションラベルとfstab(http://manual.sidux.com/ja/part-uuid-ja.htm)、Linux の場合なら、LVMもある意味、レイヤーがあるのでデバイスの名前を永続化するのにつかえそうな気がするんだけど、組み込み機器ならそのCPUパワーも節約したい?


2008-09-11 [長年日記]

_ pthread を使う上で陥りがちな罠

bashのulimit -s でバイトサイズを適切なサイズにしておかないとデフォルト値は8Mなので、ドンドンと仮想メモリを食っていくプログラムができやすい。

_ inotify-tools

inotifyを使って、「待ち」を作りたい場合は、inotifywait を "Watch"をさせたい場合は、inotifywatchを。詳細は man inotifywait および man inotifywatch を行うこと。

Ernalda:~# aptitude install inotify-tools
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
Building tag database... Done
The following NEW packages will be installed:
  inotify-tools
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 78.3kB of archives. After unpacking 442kB will be used.
Writing extended state information... Done
Get:1 http://security.debian.org stable/updates/main inotify-tools 3.3-2 [78.3kB]
Fetched 78.3kB in 8s (8721B/s)
Selecting previously deselected package inotify-tools.
(Reading database ... 270755 files and directories currently installed.)
Unpacking inotify-tools (from .../inotify-tools_3.3-2_i386.deb) ...
Setting up inotify-tools (3.3-2) ...
inotifywait実験

shell scirptなどでinotifyを使って、Daemonもどきなファイル監視スクリプトを作りたい場合に役立つ。

端末Aで inotifywait を実行すると

yabuki@Ernalda:/tmp$ inotifywait -e modify hoge
Setting up watches.
Watches established.
のように「待ち」に入る。そこで、端末Bから、echo "fuga" > /tmp/hoge とすると、
hoge MODIFY

という表示を出して、waitから抜けてくる。

2008-09-10 [長年日記]

_ RFC: Internationalized Email Headers

(http://tools.ietf.org/html/rfc5335)

_ gwak で cgi

awk 好きな知り合いが、簡単な browser 情報と server 情報を表示する cgi を gawk で作るとかいってました。httpd から渡される情報を整形して表示するだけなら gawk でも十分でしょう。

_ memo:Google Releases More Patches for MySQL

(http://google-opensource.blogspot.com/2008/09/google-releases-more-patches-for-mysql.html) Google が MySQL に対するパッチをリリースした。より詳しくは原文参照のこと

  • 前回のパッチより、機能拡張とバグ修正を行った
  • マルチコアのサーバ上で、innoDBをより早く動かす機能が入った
  • Mutexを使った接続の統計情報の表示を変更した。
  • データベースのアカウント毎およびクライアントのIP毎のモニターおよびrate-limit の変更

_ 海外でセキュリティがわかるネットワークのプログラマーとしてやりたかったら

(http://iscs.sourceforge.net/)などで、プロジェクトで活躍してみるのもいいんじゃないでしょうか。自分のレベルとかわかるし、英語の勉強にもなるでしょう。


2008-09-09 [長年日記]

_ KGDB と Debian GNU/Linux Lenny

linux kernel watch 7月版(http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch07a.html)で、kernel 2.6.26 の話題がでていたが、こいつにはKGDBという、カーネルをソースレベルでgdbのように、デバッグ作業ができるという機能がマージされている。

Debian Lenny は、Linux kernel が 2.6.26 でリリースとのことなので、熱心にカーネルを追っかけている人以外でも、KGDBを試す機会が増えそうである。


2008-09-07 [長年日記]

_ systemtap

カーネルのパフォーマンス計測は、oprofileなどが有名だが。これも Debian Package になっている。see also apt-cache show systemtap

Description: instrumentation system for Linux 2.6

The SystemTap project aims to produce a Linux tool that lets

application developers and system administrators take a deeper look

into a running kernel. It aims to exploit the capability of a fully

open-source Linux target to go beyond performance measurements, and

perhaps even serve as a programmable debugger.

_ memo:週に一度、日曜日に自問すべき20の質問

(http://www.ideaxidea.com/archives/2008/09/20_9.html)私の場合は、自分が病気になると全ての事がストップしてしまう状態なんで、「健康で毎日働くことができるか?」ってのを入れますかね。--- 年取ると、毎日チェックする項目が増えますな。体重とか血圧とか歩数とか。

私が、何時いなくなっても動くシステムができるのが理想です。

_ memo:第25回 「時間がない」は負け犬の言い訳 50代上司の好奇心に思い知る

これは、年代よりも個人差が大きいのではないか。全部、真に受ける必要はないだろうと思う。全力を出してないから長時間働けるという考え方もある。どこまで自分の体に踏み込んで生きて行くかはその人の信条だし。主に企業の場合、求められている成果を出せない人は切られて行ってしまうので難しい所です。また、人に求められないと自己承認欲も満たせませんし。(http://itpro.nikkeibp.co.jp/article/COLUMN/20080709/310486/)

あと、あるスキルを獲得するのに目安として1万時間(だっけ?)を費す必要があるというので、自分に対して時間を投資する必要がある。何に時間を費すかは自分で決められます。ある一定のスキルに到達するまではセンスはいりません。時間をかけてシステム*1に則っとり学ぶかどうかです。逆にいう、それ以上の世界を見るのにはセンスがいるのかもしれませんが。好きが有利だというのは、この時間が苦痛か楽しみかによって学習する進度が違うからなのでしょう。と私は理解しています。

とはいえ、社会生活を営んでいるのであまり極端な生活をしていると世の中のトレンドに対する感受性が落ちたりやコミュニケーションを阻害します。何をするにしても作用と反作用があるので、何をどう組み合わせるかが、その人のセンスなのかもしれません。

*1 このシステムが体系立っている方が良いが、完璧でなくても良い。普通自分で改善のサイクルを回すから。

_ memo:Microsoftの開発現場ではVSSではなくCVSが,プロジェクト管理はMS ProjectではなくExcelが使われている

コードの差分を取ると簡単に書いてあるが、、統一したスタイルの遵守はどうしているのかな。(http://gihyo.jp/dev/clip/01/orangenews/vol46/0007)


2008-09-06 大人買い [長年日記]

_ books

これまでの仕事からや、知り合いの技術者達が参考にしていた本を買い揃えておきたかったので、当面必要になりそうな2万円分の書籍を購入した。

2万円分本をかったのでジュンク堂のコーヒー券を2枚も貰ってしまった。一万円つきに一枚くれるらしい。

これだけ書籍を買うと重いので良い筋トレになる。鉄下駄や、リストおよびアンクルウェイトって感じか。後述するがうろうろとしたので、本日も一万歩達成した。予定していた用事の8割ができたのでひとまず良とする。

_ 裸族の2世代住宅

なんだこれ?って名前ですが、センチュリー 裸族の二世帯住宅 CRNS35EU2 センチュリー 裸族の二世帯住宅 CRNS35EU2です。対応OSとして、Linuxは書いてないですが、家庭で簡易なRaid 1(ミラーリング)をするときに、候補に上がってきたモノです。

_ バックアップ体制を、もうちょいまともにする。

いままでは、単一のHDDにデータを/homeなどのデータを置いていましたが、この裸族の2世代住宅で、ハードウェアraid1(ミラーリング)で、すこし安心度がアップしました。

ちなみに、RAID1は、だけでは上書きしてしまうファイルなどは救えないので、バックアップはpdumpfsなどの世代バックアップや、領域を分けるなど対策がいるかと思います。置いている場所が天災(地震や火事)などは、考え出すと対策費が予算を越えるのでひとまずパス。ノートパソコンのバックアップだけに使うので、平日は同じ場所にないのが救いです。

盗難などで他者にハードディスクが行ってしまった時の対策するために、dm-cryptで、対象パーティションを暗号化します。Debian Installerでもインストール時に暗号化は選べるのでやりましょう。VMwareの中でDebianのインストールをしてdm-cryptを使ってもいい。

増設した「裸族の二世代住宅」への作業メモ

まずは、(http://www.debian.org/releases/stable/i386/ch06s03.html.ja#di-partition)を眺めておきます。

前提として、「裸族の二世代住宅」は、ミラーモードで使用します。usbで挿したら以下のようなdmesgが出てます。

usb 4-1: new high speed USB device using ehci_hcd and address 15
usb 4-1: configuration #1 chosen from 1 choice
scsi4 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 15
usb-storage: waiting for device to settle before scanning
  Vendor: External  Model: AL25744_12345678  Rev:
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 625142449 512-byte hdwr sectors (320073 MB)
sda: Write Protect is off
sda: Mode Sense: 1a 0c 00 00
sda: assuming drive cache: write through
見たら判りますが、HDDは320GBのを2本入れてます。

2008-09-05 [長年日記]

_ FbTerm

memo:X不要で動作する高機能ターミナルエミュレータFbTerm の続き。 武藤さんも記事にしているFBTerm(http://kmuto.jp/d/index.cgi/debian/fbterm.htm)

早さは正義だとすると、画面描画が早い fb 上で動くアプリケーションが増えるだろうなあ。


2008-09-04 [長年日記]

_ gdb に関する情報

マイミクさんに、gdbの使い方を尋ねられました。知っている所を書いておきます。

  • gdbがインストールしてあるマシン

    • まずは、man gdb
    • ドキュメントがあるかどうかをチェックする。ちなみに Debian GNU/Linux Etch の /usr/share/doc/gdb/の下には、refcard.(ps|dvi|tex)が圧縮された状態である。他の Linux ディストリビューションでも何らかのドキュメントがあるだろう。また別にgdb-docというパッケージがありドキュメントが別になっている。gdbがインストールしてあるマシンの中を確認してみるのが良い。また gdb を GUI で使いたいなら、 ddd などある。パッケージのインストールのなど必要があれば管理者に相談すること。

  • web --- "gdb" でGoogleるといろいろと出てくると思います。

  • 本 --- 手もとで常に参照するなら、紙か本が良いかと思います。書き込みもできますし。さっきの refcardを印刷するもよし、会社に本があれば、それを借りるのも良いでしょう。--- 私の持っている本だと

    があります。他にも良い本はあるでしょうが参考になれば。

_ GNU Indent を日本語で語る場所は?

どこかある? 私が知らないだけだと思うのだけど。GNU Indent の recipe 集とか欲しい。とくに DOS や Windows で開発していた人が、困らないように。

具体例だと、秀丸に代表されるようなDOS/Windows系エディタがデフォルトで整形するソースコードに合わせる時に欲しい。私が秀丸などを使っていれば良いんだが、使ってないからなあ

_ memo:X不要で動作する高機能ターミナルエミュレータFbTerm

(http://sourceforge.jp/magazine/08/09/04/015224) FbTerm(http://code.google.com/p/fbterm/)jfbterm(http://sourceforge.jp/projects/jfbterm)とは違うものみたいだけど


2008-09-03 [長年日記]

_ memo:PPLサマースクール2008 --- 今日から使える! みんなの静的解析・バグ検出ツール

9月9日に東京の文教区か。liloの松本さんが興味を持ちそうなネタだな。(http://www.logos.t.u-tokyo.ac.jp/ppl_ss08/index.php/Top)

_ memo:SONY VAIO Type Z (VGN-Z90S)にDebian GNU/Linuxを入れる

(http://hanzubon.jp/node/274)

_ memo:PFIとNTTレゾナントが共同調査で報告 -- Hadoopは耐障害性に課題があるが実用性十分

PFIって、吉田さんの所の会社だったはず。(http://www.atmarkit.co.jp/news/200808/25/hadoop.html)

_ XML関係2つ

_ プロセスが死んだ時に、セマフォの開放をしたい場合

UNIXネットワークプログラミング〈Vol.2〉IPC:プロセス間通信(W.リチャード スティーヴンス) UNIXネットワークプログラミング〈Vol.2〉IPC:プロセス間通信(W.リチャード スティーヴンス)の224pを参照せよ


2008-09-02 [長年日記]

_ BSoD

客先での会話中に、BSoD という単語が出て来て、(?_?)な状態になる。わからないのでGoogleってみると、Blue Screen of Death の略語とのこと。RRoDとBSoD (http://d.hatena.ne.jp/imakitasangyo/20080216/1203154682)では、MSが正式に使っている用語との解説あり。どこの世界でも頻繁に使われる用語は、短縮されて行きますね。

_ Logitec LAN-GTJ/U2

FreeBSDでは、このUSB ether(http://www.logitec.co.jp/products/lan/langtju2.html)が動いているので、Linuxでも簡単に動くかなーとおもって、Debian Etch kernel 2.6.18 の該当箇所に、usb の vender id product idを登録してasixドライバを動かしてみた。

Macアドレスが読めるが、link upしない。Mii層までいっているみたい?だけど残念

_ memo:世界の幸福度は向上〜国別ランキング調査 --- 「富」だけではなく「選択の自由」と「寛容性」が大切

(http://business.nikkeibp.co.jp/article/world/20080901/169377/)


2008-09-01 [長年日記]

_ 第3期突入

お蔭様を持ちまして、3期目を迎える事が出来ました。関係各位にはお礼を申し上げます。

_ libssp0

Debian GNU/Linux で、gcc に -fstack-protector-all を付けてコンパイルするとき
 undefined reference to `__stack_chk_guard'
 undefined reference to `__stack_chk_fail'
などのエラーが出る場合、
  1. libssp0 がインストールされているか確認する。
  2. -lssp を付けているか確認する。
詳細は、/usr/share/doc/libssp0/README.ssp などを読め。see also GCC 4.xのSSP (Stack Smashing Protector)をH8で使ってみる(http://kuwa.s256.xrea.com/h8-ssp/index.html)
本日のツッコミ(全2件) [ツッコミを入れる]

_ Henrich [typo fix: /usr/s"ha"re/...]

_ yabuki [ありがとう。指摘されたTYPOを直しておきました。]


2008-08-29 [長年日記]

_ memo:会社で飯を出すのは簡単じゃない

世の中にはいろいろと不思議なことがある。会社の仕組みを勉強したおかげでわかった事がある。税金や社会保険などは、会社から従業員に食事などを支給して手厚い事をしようと思うと、それらの価値をお金に換算して収入とみなす。そして料率が上がってしまうのだ。(http://www.nurs.or.jp/~ogochan/essay/archives/1367)

_ 29日と言えば、にくの日。

最近、29日に定期的にリリースしているソフトウェアってどのぐらいあるのかしら。29の日すばらしい所は、定期的にリリースされるという所なので、別に拘る必要はないのだけれど。

_ 耳栓

今私の中でホットなアイテムは耳栓です。うるさい所で仕事するのには必須です。