]
トップ 最新 追記

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

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-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-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.リチャード スティーヴンス/W.Richard Stevens/篠田 陽一) の224pを参照せよ


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を印刷するもよし、会社に本があれば、それを借りるのも良いでしょう。--- 私の持っている本だと

    • GDBデバッギング入門 --- amazon で探しても原書しかないので絶版?2008/09/06に大阪梅田のジュンク堂で見付けました。まだ売ってます。それで、調べ直して見付けました。GDBデバッギング入門(リチャード ストールマン/ローランド ペシュ/Richard M. Stallman/Roland H. Pesch/コスモプラネット) 英語版の方が新しいバージョンですが。ひとまず日本語版を出しておきます。
    • GDBハンドブック(Arnold Robbins/千住 治郎)

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

_ 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-05 [長年日記]

_ FbTerm

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

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


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

_ books

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

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

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

_ 裸族の2世代住宅

なんだこれ?って名前ですが、センチュリー 裸族の二世帯住宅 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本入れてます。
本日のツッコミ(全1件) [ツッコミを入れる]

_ kinneko [ハードウエアだからって信用できるわけじゃないのが痛いところ。 変な台湾製よりはmdのほうが信頼できるかも。]


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-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-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-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-12 [長年日記]

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

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

本日のツッコミ(全1件) [ツッコミを入れる]

_ kinneko [LVMにすると管理が複雑になるし、復旧がやりにくくなる。 また、特定のFSとの相性が悪いので使えないこともままある。]


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-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-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
これだけあれば、調べられるはず。

_ [Benchmark] 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月号 [雑誌] にまとめられているそうですね。fedoraでのlukの話Fedora9 で USB外付けHDDを暗号化してみる(http://blog.livedoor.jp/scarletwing/archives/65093304.html)。時間をみつけて自分のメモも pull out しておかないと... 忘れてしまいそうだ。


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-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-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)

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

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

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

本日のツッコミ(全1件) [ツッコミを入れる]

_ kinneko [素直にドライバが書ける構成になっていないという時点で、ハードがダメなんじゃないかな...]


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-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-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-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/)を読む価値があると認めることでしょう。電波時計やタイムサーバも面白いと思いますが、まずは足元から。