]
トップ 最新 追記

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2008-11-03 [長年日記]

_ 第2回定期株主総会

つつがなく終了した。


2008-11-04 [長年日記]

_ gurbは、serial console からも利用可能

(http://www.linux.or.jp/JF/JFdocs/Remote-Serial-Console-HOWTO/configure-boot-loader-grub.html)に書いてあるように、grubでも serial の設定をすれば使えます。

つまり、液晶のぶっ壊れたノートを再利用してみたり、videoカードがぶっ壊れて途方に暮れてしまっても、この技を知っており、シリアルがあれば、生きていくこともできます。

ちなみに、長期間使用しているハードウェアは、バスタブ曲線によると、ある程度までは堅牢に動きますが一定期間後は故障率が上がる傾向があるとしています。壊れても泣かないように気をつけておきましょう。とはいえ最初でも壊れるんだから、いつでもバックアップ大事ってことか。

_ X200 の 無線でちと困っていたこと。

たぶん、fnキー+F5か、ファンクションキーのどのキーか、まだ確定していないのだが いつの間にか押下していて、無線が使えないモードに落ちていた。

iwlist wlan0 scanを実行しても、もちろん無線の一覧などは取れない。どのキーを押下すると、回復するのか判らない状態で、fn+ファンクションキーを押して、リブートする作業を、3連休の間に間を見てやっていた。X200をタイプしている状態の時に向かって左側面に、無線LANのON/OFFスイッチもある。

だいたい、Fn+F5と無線LAN ON/OFF SWの組み合わせあたりに絞り込めそうな気がするので、次回困ったらカーネルのログを貼り付けておこう。今回失敗だったのは、困っていたときのカーネルログを保存してなかったことである

_ Feed Validator

ATOM・RSS・KMLフィードがValidかどうかチェックしてれる。(http://feedvalidator.org/check.cgi) なぜ、これかは、lifereaを使っているのだが、最近読み込めないRSSフィードが増えてきた。身近な人のRSSフィードが表示されないので、どちらが悪いのかよく判らないので基準が欲しいと思い紹介してみます。


2008-11-06 [長年日記]

_ 組み込みでマルチコア

組み込みマルチコア進化論(1)マルチコアで並列化する前に考えること(http://monoist.atmarkit.co.jp/fembedded/articles/multicore/01/multicore01a.html) これから、86系で、Core2DUOとかのボードを扱うような案件があったら普通に、マルチコアなんだよなあ。組み込みでなくても、昔のNewsでしたっけ。68000系のCPUが2個あったりとかしてたんですよねえ。

_ rsyslogの導入

(http://www.atmarkit.co.jp/flinux/rensai/newlog04/newlog04a.html)Debian GNU/Linux Lenny も

yelona:/home/yabuki# dpkg -l rsyslog*
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)維持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(H)維持/(R)要再インストール/X=両方(状態,エラーの大文字=異常)
||/ 名前                   バージョン          説明
+++-========================-========================-================================================================
ii  rsyslog                  3.18.2-1                 enhanced multi-threaded syslogd
un  rsyslog-doc              <なし>                 (説明 (description) がありません)
un  rsyslog-mysql            <なし>                 (説明 (description) がありません)
un  rsyslog-pgsql            <なし>                 (説明 (description) がありません)
のように rsyslog が標準で使われている。導入の部分は他のディストリビューションなどでどうしているかなどの参考になるが、Debian 使いなら次回以降に期待か。

_ 生産準備支援ツール

見える化の一つ、(http://www.ipros.jp/adv/10923/)

GP4は、生産ラインをコンピュータ上にバーチャルに3Dでモデリングし、製造 をシミュレートすることで製造上の問題点を抽出し、効率の良い生産ライン構築の手助けをする生産準備ツールです。

デジタル・マニュファクチャリングやバーチャル・ファクトリー分野における純国産の最新ソフトウェアです。

_ memo:プログラマーを採用する際に重視すべき10の資質

プログラマーを採用する際に重視すべき10の資質(http://japan.zdnet.com/sp/feature/07tenthings/story/0,3800082984,20382969,00.htm)他にも、Joelのテスト方法とか、いろいろあります。応募者に対して、公表できる部分とできない部分の両方ありますが、どんなテストがあるかは、応募者と雇い主の両方の時間を節約するのに、利用できそうな気がします。

_ memo:米GoogleとMotorola、GNOME Foundationに参加

(http://sourceforge.jp/magazine/08/11/06/0322212)どの程度組み込みに関係してくるか。携帯電話へのインパクトに収まるか。組み込みGUI汎用へのインパクトを持つか。


2008-11-08 [長年日記]

_ KOF2日目

昨日のスーツとはうって変わって、山登り系の格好をして参加。

_ OpenStreetMap

もっている、Mio C235で GPX 形式のファイルを作成できるかを、専門家の方々に教えを請う。Topic: Tutorial - Enabling Export Button & Saving Track Logs(http://hugginsnet.com/ilovemymio/index.php?topic=478.0)に、人柱の指針として教えていただいた。csvファイルができれば、GPXファイルは、中身がXMLらしく、緯度経度と時間が最低限あればうまくいきそうな感じだと教えてもらえた。

OSMのサイトにログインして、ほかの人がつくった地図データをダウンロードして研究できるらしいというのも教えてもらえた。

_ gpsbabel

DebianでのGPSデータのコンバートソフト

_ josm

Debian GNU/Linux Lenny なら、地図データを操作するプログラムが収録されている。表示、編集 http://www.openstreetmap.org/のアカウントがあればupload/downloadができる。

$ apt-cache search josm
josm - Editor for OpenStreetMap
josm-plugins - Plugins for JOSM

_ Linux-Tools for AT91xx based GPS-Loggers

Linuxでも、実はこんな風にGPSのデータを取り出したりできるようですね。これらは perlのスクリプトで実現しているようです。(http://www.schimmelnetz.de/projekte/iTU4l/)

リンク先のようなGPSが対象だそうです。(http://minami.typepad.com/blogcabin/2008/05/gisteq-phototra.html)


2008-11-10 [長年日記]

_ 人に受け入れられるユニークさを持たねばならぬ。

いまの重点テーマ。ここでなくては、あなたでなくては、と言ってもらうのに、他人に自分(自社)を表現をせねばならぬ。選ぶ側の視点で自己点検せねばならぬ。矜恃をもってやらねばならぬ。

_ 取締役就任許諾書

株式会社の定款にもよるし、どちらが先であるかは、ケースによるが、(1)役員(a.k.a 取締役)になってもらうひとに事前にネゴして、おくだけでなく「取締役就任許諾書」までもらっておく。(2)株主総会などで取締役の就任が許諾されたことを報告するパターンもあるようだ。

ちなみに、驚いたことがあります。恐ろしいことに(http://oshiete1.goo.ne.jp/qa437799.html)のような、勝手に役員などにされてしまう場合があるとのこと。

_ Debootstrap

deboostrapでアーキテクチャを指定して使う場合には、

--arch=ARCH
Set the target architecture (use if dpkg isn't installed). See
also --foreign.
ターゲットアーキテクチャを設定する(もし、dpkg を使わずにインストールするなら使用する) --foreign オプションも見よ
--foreign
Do the initial unpack phase of bootstrapping only, for example
if the target architecture does not match the host architecture.
A copy of debootstrap sufficient for completing the bootstrap
process will be installed as /debootstrap/debootstrap in the
target filesystem.
Debootstrapの最初のアンパックフェーズのみ行う。たとえば、ターゲットのアーキテクチャがホストと一致しない場合である。以下は実行例

yelona:/home/yabuki# debootstrap --arch armel --foreign lenny /mnt/
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: lzma 
I: Found additional base dependencies: libept0 libxapian15 
I: Checking component main on http://ftp.us.debian.org/debian...
I: Retrieving adduser
I: Validating adduser
I: Retrieving apt
I: Validating apt
I: Retrieving apt-utils
I: Validating apt-utils
I: Retrieving aptitude
I: Validating aptitude
I: Retrieving base-files
I: Validating base-files
I: Retrieving base-passwd
I: Validating base-passwd
I: Retrieving bash
I: Validating bash
I: Retrieving bsdmainutils
I: Validating bsdmainutils
I: Retrieving bsdutils
I: Validating bsdutils
I: Retrieving coreutils
I: Validating coreutils
I: Retrieving cpio
I: Validating cpio
I: Retrieving cron
I: Validating cron
I: Retrieving debconf
I: Validating debconf
I: Retrieving debconf-i18n
I: Validating debconf-i18n
I: Retrieving debian-archive-keyring
I: Validating debian-archive-keyring
I: Retrieving debianutils
I: Validating debianutils
I: Retrieving dhcp3-client
I: Validating dhcp3-client
I: Retrieving dhcp3-common
I: Validating dhcp3-common
I: Retrieving diff
I: Validating diff
I: Retrieving dpkg
I: Validating dpkg
I: Retrieving e2fslibs
I: Validating e2fslibs
I: Retrieving e2fsprogs
I: Validating e2fsprogs
I: Retrieving ed
I: Validating ed
I: Retrieving findutils
I: Validating findutils
I: Retrieving gcc-4.2-base
I: Validating gcc-4.2-base
I: Retrieving gcc-4.3-base
I: Validating gcc-4.3-base
I: Retrieving gnupg
I: Validating gnupg
I: Retrieving gpgv
I: Validating gpgv
I: Retrieving grep
I: Validating grep
I: Retrieving groff-base
I: Validating groff-base
I: Retrieving gzip
I: Validating gzip
I: Retrieving hostname
I: Validating hostname
I: Retrieving ifupdown
I: Validating ifupdown
I: Retrieving info
I: Validating info
I: Retrieving initscripts
I: Validating initscripts
I: Retrieving iproute
I: Validating iproute
I: Retrieving iptables
I: Validating iptables
I: Retrieving iputils-ping
I: Validating iputils-ping
I: Retrieving libacl1
I: Validating libacl1
I: Retrieving libattr1
I: Validating libattr1
I: Retrieving libblkid1
I: Validating libblkid1
I: Retrieving libbz2-1.0
I: Validating libbz2-1.0
I: Retrieving libc6
I: Validating libc6
I: Retrieving libcomerr2
I: Validating libcomerr2
I: Retrieving libconsole
I: Validating libconsole
I: Retrieving libcwidget3
I: Validating libcwidget3
I: Retrieving libdb4.6
I: Validating libdb4.6
I: Retrieving libdevmapper1.02.1
I: Validating libdevmapper1.02.1
I: Retrieving libept0
I: Validating libept0
I: Retrieving libgcc1
I: Validating libgcc1
I: Retrieving libgcrypt11
I: Validating libgcrypt11
I: Retrieving libgdbm3
I: Validating libgdbm3
I: Retrieving libgnutls26
I: Validating libgnutls26
I: Retrieving libgpg-error0
I: Validating libgpg-error0
I: Retrieving liblocale-gettext-perl
I: Validating liblocale-gettext-perl
I: Retrieving liblzo2-2
I: Validating liblzo2-2
I: Retrieving libncurses5
I: Validating libncurses5
I: Retrieving libncursesw5
I: Validating libncursesw5
I: Retrieving libnewt0.52
I: Validating libnewt0.52
I: Retrieving libpam-modules
I: Validating libpam-modules
I: Retrieving libpam-runtime
I: Validating libpam-runtime
I: Retrieving libpam0g
I: Validating libpam0g
I: Retrieving libpopt0
I: Validating libpopt0
I: Retrieving libreadline5
I: Validating libreadline5
I: Retrieving libsasl2-2
I: Validating libsasl2-2
I: Retrieving libselinux1
I: Validating libselinux1
I: Retrieving libsepol1
I: Validating libsepol1
I: Retrieving libsigc++-2.0-0c2a
I: Validating libsigc++-2.0-0c2a
I: Retrieving libslang2
I: Validating libslang2
I: Retrieving libss2
I: Validating libss2
I: Retrieving libssl0.9.8
I: Validating libssl0.9.8
I: Retrieving libstdc++6
I: Validating libstdc++6
I: Retrieving libtasn1-3
I: Validating libtasn1-3
I: Retrieving libtext-charwidth-perl
I: Validating libtext-charwidth-perl
I: Retrieving libtext-iconv-perl
I: Validating libtext-iconv-perl
I: Retrieving libtext-wrapi18n-perl
I: Validating libtext-wrapi18n-perl
I: Retrieving libusb-0.1-4
I: Validating libusb-0.1-4
I: Retrieving libuuid1
I: Validating libuuid1
I: Retrieving libwrap0
I: Validating libwrap0
I: Retrieving libxapian15
I: Validating libxapian15
I: Retrieving login
I: Validating login
I: Retrieving logrotate
I: Validating logrotate
I: Retrieving lsb-base
I: Validating lsb-base
I: Retrieving lzma
I: Validating lzma
I: Retrieving makedev
I: Validating makedev
I: Retrieving man-db
I: Validating man-db
I: Retrieving manpages
I: Validating manpages
I: Retrieving mawk
I: Validating mawk
I: Retrieving mktemp
I: Validating mktemp
I: Retrieving module-init-tools
I: Validating module-init-tools
I: Retrieving mount
I: Validating mount
I: Retrieving nano
I: Validating nano
I: Retrieving ncurses-base
I: Validating ncurses-base
I: Retrieving ncurses-bin
I: Validating ncurses-bin
I: Retrieving net-tools
I: Validating net-tools
I: Retrieving netbase
I: Validating netbase
I: Retrieving netcat-traditional
I: Validating netcat-traditional
I: Retrieving passwd
I: Validating passwd
I: Retrieving perl-base
I: Validating perl-base
I: Retrieving procps
I: Validating procps
I: Retrieving readline-common
I: Validating readline-common
I: Retrieving rsyslog
I: Validating rsyslog
I: Retrieving sed
I: Validating sed
I: Retrieving sysv-rc
I: Validating sysv-rc
I: Retrieving sysvinit
I: Validating sysvinit
I: Retrieving sysvinit-utils
I: Validating sysvinit-utils
I: Retrieving tar
I: Validating tar
I: Retrieving tasksel
I: Validating tasksel
I: Retrieving tasksel-data
I: Validating tasksel-data
I: Retrieving tcpd
I: Validating tcpd
I: Retrieving traceroute
I: Validating traceroute
I: Retrieving tzdata
I: Validating tzdata
I: Retrieving update-inetd
I: Validating update-inetd
I: Retrieving util-linux
I: Validating util-linux
I: Retrieving vim-common
I: Validating vim-common
I: Retrieving vim-tiny
I: Validating vim-tiny
I: Retrieving wget
I: Validating wget
I: Retrieving whiptail
I: Validating whiptail
I: Retrieving zlib1g
I: Validating zlib1g
I: Extracting base-files...
I: Extracting base-passwd...
I: Extracting bash...
I: Extracting bsdutils...
I: Extracting coreutils...
I: Extracting debconf...
I: Extracting debconf-i18n...
I: Extracting debianutils...
I: Extracting diff...
I: Extracting dpkg...
I: Extracting e2fslibs...
I: Extracting e2fsprogs...
I: Extracting findutils...
I: Extracting gcc-4.2-base...
I: Extracting gcc-4.3-base...
I: Extracting grep...
I: Extracting gzip...
I: Extracting hostname...
I: Extracting initscripts...
I: Extracting libacl1...
I: Extracting libattr1...
I: Extracting libblkid1...
I: Extracting libc6...
I: Extracting libcomerr2...
I: Extracting libdb4.6...
I: Extracting libdevmapper1.02.1...
I: Extracting libgcc1...
I: Extracting liblocale-gettext-perl...
I: Extracting libncurses5...
I: Extracting libpam-modules...
I: Extracting libpam-runtime...
I: Extracting libpam0g...
I: Extracting libselinux1...
I: Extracting libsepol1...
I: Extracting libslang2...
I: Extracting libss2...
I: Extracting libstdc++6...
I: Extracting libtext-charwidth-perl...
I: Extracting libtext-iconv-perl...
I: Extracting libtext-wrapi18n-perl...
I: Extracting libuuid1...
I: Extracting login...
I: Extracting lsb-base...
I: Extracting lzma...
I: Extracting makedev...
I: Extracting mawk...
I: Extracting mktemp...
I: Extracting mount...
I: Extracting ncurses-base...
I: Extracting ncurses-bin...
I: Extracting passwd...
I: Extracting perl-base...
I: Extracting procps...
I: Extracting sed...
I: Extracting sysv-rc...
I: Extracting sysvinit...
I: Extracting sysvinit-utils...
I: Extracting tar...
I: Extracting tzdata...
I: Extracting util-linux...
I: Extracting zlib1g...
yelona:/home/yabuki# 
で、
yelona:/home/yabuki# ls -la /mnt/
合計 88
drwxr-xr-x 19 root root  4096 2008-04-07 04:51 .
drwxr-xr-x 22 root root  4096 2008-10-30 16:15 ..
drwxr-xr-x  2 root root  4096 2008-04-29 13:45 bin
drwxr-xr-x  2 root root  4096 2008-08-06 01:38 boot
drwxr-xr-x  2 root root  4096 2008-11-10 17:49 debootstrap
drwxr-xr-x  2 root root  4096 2008-07-03 00:44 dev
drwxr-xr-x 26 root root  4096 2008-11-10 17:49 etc
drwxr-xr-x  2 root root  4096 2008-08-06 01:38 home
drwxr-xr-x  8 root root  4096 2008-04-29 13:39 lib
drwx------  2 root root 16384 2008-11-10 14:12 lost+found
drwxr-xr-x  2 root root  4096 2008-08-06 01:38 mnt
drwxr-xr-x  2 root root  4096 2008-08-06 01:38 proc
drwxr-xr-x  2 root root  4096 2008-08-06 01:38 root
drwxr-xr-x  2 root root  4096 2008-04-29 13:45 sbin
drwxr-xr-x  2 root root  4096 2008-09-16 16:48 selinux
drwxr-xr-x  2 root root  4096 2008-08-12 23:26 sys
drwxrwxrwt  2 root root  4096 2008-08-06 01:38 tmp
drwxr-xr-x  9 root root  4096 2008-04-07 04:47 usr
drwxr-xr-x 11 root root  4096 2008-08-12 23:26 var
yelona:/home/yabuki# 
な感じ。

2008-11-11 [長年日記]

_ あるim(Input Method)で、困るアプリケーションがあったら

GNOME環境の場合、入力できる場所で右クリックして出せるメニューGNOME Right click Menuで、Input MethodのメニューGNOME Input Method Menuで別の入力方式を選んでみると良い。

_ Lenovo の X200 用 AC adapter

うーむ。売り切れ中が続いている。市場で互換AC adapter が出てきて、安定供給されないかな (http://www-06.ibm.com/jp/pc/option/obi/nob07/40y7699/price.shtml)

_ gniibeさんがおっかけけていたもの

去年の11月に、ご一緒したときに、kuroboxのキャッシュの話をされていました。その顛末は(https://members.fsij.org/trac/codefestweek2007/wiki/orion-bug)だったんですね。辛抱強く再現テストを行われたのですね。すごい。

_ ubootのMLにkzm-arm11-01のパッチが流れていた。

(http://www.mail-archive.com/u-boot@lists.denx.de/msg01804.html) 修正するように求められているみたいだけど。

KZM-ARM11-01(http://www.kmckk.co.jp/kzm/index.html)と、freescaleのdata sheet(http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX31#Data_Sheets)

こいつは、kit をみるとbootには Redboot を使っている。内蔵flashからbootなのだろうから、Redbootからubootに書き換えるときに書き込みをしくじったら、jtagでリカバーなんだろうなあ。

bootを内蔵flashからusb memory stickにできたら、そんな危険なことしなくて済むんだろうな。マニュアルを読んでみないと、usb bootできるかどうか判らないなあ。delタグで囲んである部分は uboot が usb対応してたらできる話ですね。(http://www.eleki-jack.com/Kurobox-pro2/2007/07/usb-rootfs.html)

_ Debian:CDD が Debian Pure Blends へ名称変更するそうです。

Debian Pure Blendsってなんだ? と思ってメールを開いたら上記のとおり。(http://debian-news.net/modules/news/article.php?storyid=4797)

_ ET2008

11月19日から21日まで、Embedded Technology 2008(http://www.jasa.or.jp/et/)がパシフィコ横浜であるみたいだけど、どうするかなあ。

_ 本購入

Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック(江村 秀之/池田 譲治/下田 洋志/松澤 太郎/dynamis) Linuxカーネル クイックリファレンス(Greg Kroah-Hartman/千住 治郎) と、Manage It! 現場開発者のための達人式プロジェクトマネジメント(Johanna Rothman/でびあんぐる) を購入。

Linuxカーネル クイックリファレンス(Greg Kroah-Hartman/千住 治郎)の125pにある、ルートファイルシステムをマウントする前の遅延時間をカーネルの起動パラメータで与えることができること知ったのは収穫だ。


2008-11-12 [長年日記]

_ Redboot

boot loader の一つ。対応アーキテクチャーが多い。全体的なことは、組み込みLINUXシステム構築(カリム ヤフマー/Karim Yaghmour/林 秀幸) の9章 ブートローダのセットアップなどを読むと良い。この文書だけでは redboot の詳細については足りない。そのため補完する形で、配布元(http://sources.redhat.com/redboot/)の文書やFAQ(両方とも英語)を読んだり、利用するコマンドを 3. RedBootについて(http://www.embedded.jp/article/linux_kernel_2-3.html)で見れば良い。

_ 組み込みLINUXシステム構築 (単行本)

この本、初版は2003年11月18日であるが、この時点で組み込みの中で Debian (とくに GNU/Linux) に関する記述がちらほらと出ている。いまだと、(http://www.emdebian.org/)なども出てきているので、次の版がでないかなと思っています。

_ セキュリティリスクを一言でいう練習。

強力になったFlashやスクリプトが新たなリスクを招く --- 「WPA突破」よりも重要なセキュリティ問題とは?

一言で全体を表す練習で、人によって表現の仕方を変えて説明する方法を考えてみるのに良いかと。「悪意のある人の家にいって、毒入りカレーを食わされる」とか。最初は毒まんじゅうが思いついたが、まんじゅう怖いとなると落語のネタになってしまうんだなあ。

_ 一回ぐらい使ってみておこうか。

記事だけだと、どんな風に便利かがいまいち理解できなかった。手を動かしてみる? DebianおよびUbuntuシステムのパッケージ管理用スクリプト(http://sourceforge.jp/magazine/08/11/12/026216)

_ initramfs

ramfs属には、いくつかの種類がある。具体的な名称は、tmpfs、initramfsなどである。Debian の initramf の中身を見てみたいと思った人は、JF のinitramfs バッファフォーマット(http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/early-userspace/buffer-format.txt.html)をみたり、man mkiniramfs, iniramfs-tools や update-initramfs /etc/initramfs.conf などを見た方が良い。

ramfs属そのものについては、(http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/filesystems/ramfs-rootfs-initramfs.txt.html)を読め。manに書いてあることをそのまま応用して、中身を解凍する

yabuki@yelona:/tmp/initramfs-test$ gunzip -c /boot/initrd.img-2.6.27-1-686 | cpio -i -d -H newc --no-absolute-filenames
16603 blocks
yabuki@yelona:/tmp/initramfs-test$ ls -la
合計 40
drwxr-xr-x  9 yabuki yabuki 4096 2008-11-12 15:10 .
drwxrwxrwt 24 root   root   4096 2008-11-12 15:09 ..
drwxr-xr-x  2 yabuki yabuki 4096 2008-11-12 15:10 bin
drwxr-xr-x  3 yabuki yabuki 4096 2008-11-12 15:10 conf
drwxr-xr-x  4 yabuki yabuki 4096 2008-11-12 15:10 etc
-rwxr-xr-x  1 yabuki yabuki 3986 2008-11-12 15:10 init
drwxr-xr-x  5 yabuki yabuki 4096 2008-11-12 15:10 lib
drwxr-xr-x  2 yabuki yabuki 4096 2008-11-12 15:10 sbin
drwxr-xr-x  8 yabuki yabuki 4096 2008-11-12 15:10 scripts
drwxr-xr-x  3 yabuki yabuki 4096 2008-11-12 15:10 usr
yabuki@yelona:/tmp/initramfs-test$ file init
init: POSIX shell script text executable

ちゃんと、initが実行できるshell scriptとして鎮座している。


2008-11-13 [長年日記]

_ Freemind in Lenny

Debian GNU/Linux Lenny の aptitude で freemind をインストールしてみた。

yelona:/home/yabuki# aptitude install freemind
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了        
以下の新規パッケージがインストールされます:
  freemind 
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
403kB のアーカイブを取得する必要があります。展開後に 618kB のディスク領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
取得:1 http://http.us.debian.org lenny/contrib freemind 0.7.1-6 [403kB]
403kB を 4s 秒でダウンロードしました (92.1kB/s)                
パッケージフィールドを読み込んでいます... Done                 
Reading package status... Done                                   
Retrieving bug reports... Done
Parsing Found/Fixed information... Done
未選択パッケージ freemind を選択しています。
(データベースを読み込んでいます ... 現在 147581 個のファイルとディレクトリがインストールされています。)
(.../freemind_0.7.1-6_all.deb から) freemind を展開しています...
man-db のトリガを処理しています ...
menu のトリガを処理しています ...
freemind (0.7.1-6) を設定しています ...
menu のトリガを処理しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了        
タスクの記述を読み込んでいます... 完了  

動かしてみた。

yabuki@yelona:~$ freemind 
 
Looking for user properties:
/home/yabuki/.freemind/user.properties
 
User properties not found. It will be automatically created.
Done.
Default (System) Look & Feel: javax.swing.plaf.metal.MetalLookAndFeel
Warning: the font you have set as standard - null - is not available.
[Freemind-Developer-Internal-Warning (do not write a bug report, please)]: Tried to get view without being able to get map module.
/usr/bin/freemind: line 118: 11399 アボートしました${JAVACMD} freemind.main.FreeMind $@
yabuki@yelona:~$ java -version
java version "1.5.0"
gij (GNU libgcj) version 4.3.2
  
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
yabuki@yelona:~$ 

アボートしたので、querry-btsで、freemindパッケージのバグレポートを確認すると、wishlistにOpenJDKで、freemindが動くので、freemindをmainに移さないかという記録があるので、openjdk-6-jre を入れてみた。

今度は、動き始めた。日本語入力もできる。文字のバランスがいまいちなのは、フォントの指定がseifなのを日本語フォントにすればいい。Debian GNU/Linux Lenny で freemind を起動した画像

_ memo:CHERRYの「赤軸」キーボード展示中

(http://www.watch.impress.co.jp/akiba/hotline/20081115/etc_cherry.html)で展示してある

CHERRY のキーボードのマトリクスは、赤、黒、茶、青っていうタイプに分かれるらしい。どうやらクリック感のあるなし、タイプの底までに届くまでの力の必要度合いの加減でマトリクスができるみたい。

_ RJ-45-sized Linux server upgraded

小さい機器には、ロマンがある。大きさがEthernetのくちプラスアルファぐらいで、CPUはARM7互換みたいです。(http://www.linuxdevices.com/news/NS5478335905.html?kc=rss)

_ memo:社員が壊れる【1】“抜け殻”正社員、派遣・請負依存経営のツケ --- どこもかしこも自分じゃできない症候群

ピッチャーばかりで、キャッチャーがいない。ってのは不幸だなあ。過剰にコストを切り詰め最適化して、後で困り、より過激な変革が起きるのを待つというのは、社員は判っているよなあ。(http://business.nikkeibp.co.jp/article/person/20081027/175268/?P=5)

_ OpenOffice.org 3 Users Guide

OOoのVersion 3 についてのユーザガイド(英文)(http://documentation.openoffice.org/manuals/userguide3/)

_ [Debian] debian installer(略して d-i) Lenny-rc-1 ををを、玄箱も対象だぜ

アーキテクチャ arm は lenny で終わりだから、armelで、新規インストールするのが推奨とのこと。(http://www.cyrius.com/journal/debian/nas-lenny-rc1)


2008-11-14 [長年日記]

_ 国際機関としてのインマルサット

イギリスにあるらしい

_ memo:あなたの知らないJDKの便利ツールたち

よく判っていないのだが、Debianでもsun-javaの6を使うと、こんなの入っているのだろうか。(http://www.atmarkit.co.jp/fjava/column/andoh/andoh43.html)

openjdk-6-jreでは、どうなんだろうか。


2008-11-18 [長年日記]

_ MTU Discovery black hole

初心者向けの netfilter には、ICMP を全部 filter するように薦めているものがあるが、ICMP には、ping 以外にもやっていることはある。やりすぎのおかげで (http://www.soi.wide.ad.jp/class/20040021/slides/10/23.html)にあるような、Path MTU Discovery Black Hole 問題が発生する。

_ JF - Linux Advanced Routing & Traffic Control HOWTO

Shapterというソフトウェアの紹介を、kmutoさんの記事shaperで帯域制御(簡易編)(http://kmuto.jp/d/index.cgi/debian/shaper.htm)で知ってはいたけども、より帯域制御などを学ぶのにLinux Advanced Router Howto(http://www.linux.or.jp/JF/JFdocs/Adv-Routing-HOWTO/)がある。「iproute2、 トラフィック制御、および多少の netfilter に関する、極めて実践的なアプローチ。」 という短い要約がついている。

JFのおかげで、この文書も日本語で読むことができます。ありがたいことです。

GREのトンネリングについて書いてあります。*1IPv6のトンネリングについての話題も入っている。また、IPSECのことも、IPSECのトンネリングまでカバーしている。

*1 GRE自体は、http://www.infraexpert.com/study/rp8gre.htm をみてください。

_ Linux Embedded Beginners' Guide

JFと同じような形式で書かれた、組み込み初心者向けのガイド。(http://jr0bak.homelinux.net/~imai/linux/embedded_beginner.html#toc1) initの代わりに、自分で作ったHello worldを出してみるというもの

玄箱あたりに興味を持った人にも勧める

_ /proc/sys/net/ipv4/icmp_destunreach_rate

これって、obsolete になってるの? 2.6.27 や 2.6.18 では、カーネルソースを

grep -nr icmp_destunreach_rate
しても Documentation/filesystems/proc.txt 以外引っかからないんだが。


2008-11-19 [長年日記]

_ Linux での QoS(続き)

昨日の記事、JF - Linux Advanced Routing & Traffic Control HOWTOの続き

概念を知る記事として、安井さんが書いた(http://itpro.nikkeibp.co.jp/article/COLUMN/20080520/303192/?ST=oss&P=2)は、わかりやすい。

また、JFには、traffic control Mini-Howto(http://www.linux.or.jp/JF/JFdocs/traffic-control.html#ss3.4)が存在している。

_ [Debian] Debian GNU/Linux Lenny での traffic shape 検索結果

Lennyで現在入っている、traffic shape で引っかかるパッケージは

yelona:/usr/share/doc/iproute-doc# apt-cache search traffic shape
iprelay - User-space bandwidth shaping TCP proxy daemon
kernel-patch-wrr - Extension to traffic Control/network bandwidth management
libroxen-watchdog - Watchdog module for the Roxen Challenger web server
shaperd - A user-mode traffic shaper for tcp-ip networks
wondershaper - Easy to use traffic shaping script
です。ドキュメントを読んだ限りで、まだ試してないけど、wondershaper って、めちゃくちゃ簡単なのでは? depend が iproute (Debian系以外のディストリビューションでは、iproute2 って名前かも) だけなんで、たぶん、 tc で実際はやっているのだろう。

yelona:/usr/share/doc/iproute-doc# file `which wondershaper`
/usr/sbin/wondershaper: POSIX shell script text executable

ってことで、シェルスクリプトを見たら、やっぱりtcを呼び出している。


2008-11-20 [長年日記]

_ 銀行経由で客先へ

銀行で通帳に記帳して、入金のチェック。電話を一本かけてから、客先へ向かう

_ web100

kernel patchが必要だが、TCPの性能評価には便利な一品。(http://www.web100.org/)

_ memo:オーディオ圧縮技術の音質について

(http://anonymousriver.hp.infoseek.co.jp/Audio-Codecs.html)

_ Linux kernel レベルでのパケットジェネレーター

こいつを使えば、ネットワークの負荷試験につかえるような「パケット生成機」が作れるのかいなあ。下記のは、kernel 2.6.27のKconfigより

config NET_PKTGEN
tristate "Packet Generator (USE WITH CAUTION)"
depends on PROC_FS
---help---
This module will inject preconfigured packets, at a configurable
rate, out of a given interface. It is used for network interface
stress testing and performance analysis. If you don't understand
what was just said, you don't need it: say N.

Documentation on how to use the packet generator can be found
at <file:Documentation/networking/pktgen.txt >.

To compile this code as a module, choose M here: the
module will be called pktgen.

[カーネルディレクトリ]/Documentation/networking/pktgen.txtを読め。

_ TCP_Probe

TCP_Probeは、kprobeの仕組みを使ってTCPの内部データを取得する。

  • TCP Probeについてのドキュメントは、(http://www.linuxfoundation.org/en/Net:TcpProbe)であり、下記でふれているURLは、前述のURLに飛んでくる。GNU plotで綺麗にグラフまで書ける方法が載っている。下記の kprobes に依存している。
    config NET_TCPPROBE
    tristate "TCP connection probing"
    depends on INET && EXPERIMENTAL && PROC_FS && KPROBES
    ---help---
    This module allows for capturing the changes to TCP connection
    state in response to incoming packets. It is used for debugging
    TCP congestion avoidance modules. If you don't understand
    what was just said, you don't need it: say N.

    Documentation on how to use TCP connection probing can be found
    at http://linux-net.osdl.org/index.php/TcpProbe

    To compile this code as a module, choose M here: the
    module will be called tcp_probe.
    「Kernel top leve/net/Kconfigの中にある。
  • Kprobesは kernel module できないように見える。Kprobesの説明については、Kprobesによるカーネルのデバッグ --- Linuxカーネルに動的にprintkを挿入する(http://www.ibm.com/developerworks/jp/linux/library/l-kprobes/index.html)にある。「kernel top level/arch/Kconfigの中にある説明では
    config KPROBES
    bool "Kprobes"
    depends on KALLSYMS && MODULES
    depends on HAVE_KPROBES
    help
    Kprobes allows you to trap at almost any kernel address and
    execute a callback function. register_kprobe() establishes
    a probepoint and specifies the callback. Kprobes is useful
    for kernel debugging, non-intrusive instrumentation and testing.
    If in doubt, say "N".
    となっている。

2008-11-21 [長年日記]

_ kprobesの使いすぎに注意

一つ一つの処理は軽くても、大量に出力するとやっちゃうと、カーネルが重たくなる話。 printk を動的に埋めることができる kprobes を使う場合、データの出し過ぎに注意する。

Debian Etch(kernel 2.6.18)では、 kprobes および TCP_Probe オプションの指定する場所が、kernel 2.6.27とは違う。

_ netem

netem

BSD系にも同じような仕組みがあるとはいえ、すごいよ、Linux kernel さん。回線エミュレータまで作れるんだ。shaperから派生して、パケットの遅延や、パケットロスの発生、などを作り出せるんだ。もちろん、2つのネットワークの間にいるブリッジみたいな形になるけど。

Linux box には Etherの口が2つと、Etherのクロス2本、両端に、TCP/IPを喋るマシンがいれば、下記のような感じ。

(PC A) === ( eth0 -- Linux Box(netem利用) -- eth1 ) === (PC B)

仮想化を使ったら、2台にできるかな

_ 入金確認

入金を確認したので、次の処理へ進む。電話で連絡を取って、この件終了。

_ TCP Hybla Homepage

httpでつないでも、httpsにリダイレクトされるのか。(http://hybla.deis.unibo.it/)

日本語で読める参考としては、(http://www.aiet.ecei.tohoku.ac.jp/2007KenshuuA/PPT/kato1.ppt)があるようだ。


2008-11-26 [長年日記]

_ 本:TCP/IPプロトコル&サービスガイド (Microsoft Windows2000テクニカルリファレンス) (単行本(ソフトカバー))

WindowsのTCP/IPの細かい部分は、このへんの本を読めばいいのかな。TCP/IPプロトコル&サービスガイド (Microsoft Windows2000テクニカルリファレンス)(ジョゼフ・G. デイヴィス/トマス リー/Joseph G. Davies/Thomas Lee/トップスタジオ)

_ teraterm

Debian GNU/Linux Lenny で確認したが、 terminfo に teraterm が登録されている。どのぐらい昔からかは知らないけれど、windowsの teraterm から接続しても便利につかえるようになっているんだ。

yabuki@yelona:~$ dpkg -S teraterm
ncurses-term: /usr/share/terminfo/t/teraterm
ncurses-term: /usr/share/terminfo/s/screen.teraterm
yabuki@yelona:~$ infocmp teraterm
#	Reconstructed via infocmp from file: /usr/share/terminfo/t/teraterm
teraterm|Tera Term Pro,
	am, km, mc5i, msgr, xenl,
	colors#8, cols#80, it#8, lines#24, ncv#43, pairs#64, vt@,
	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
	flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG,
	ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq,
	ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD,
	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kent=\EOM,
	kf0=\EOy, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
	kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
	kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~,
	lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i,
	mc5=\E[5i, op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
	sgr0=\E[0m\017, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
	smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR,
	u7=\E[6n, u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd,

_ リニアのグラフと、対数グラフ

GNU Plotを使っている友人に、結果を見るときには、リニアのグラフだけでなく、対数グラフにしてプロットしてみる効用について教えてもらった。

この手法、本で読んで「知識だけ」では知っていたけど、GNU Plot などで表現するときに使わないと、知らないのと一緒だな。おかげで、データのグラフがわかりやすくなった。


2008-11-27 [長年日記]

_ tcpflow

tcpdump に似たようなツールに、tcpflow(http://freshmeat.net/projects/tcpflow/) ってのがあるのですね。tcpdumpは、IPヘッダーやTCPヘッダーの中身を見たいときにも有効ですが、tcpflowは、逆に通信の中身だけに注目したい場合に、便利かと思います。Linuxソケット・プログラミングの5つの落とし穴(http://www.ibm.com/developerworks/jp/linux/library/l-sockpit/index.html)に記述がありました。

yabuki@yelona:~$ apt-cache search tcpflow
tcpflow - TCP flow recorder

_ DTN - Delay-tolerant network

何のことかと思ってたら、最近 /.Jでのトピックの惑星間通信で、このキーワード見たんだった。Testbed on Advanced Transport Protocols and Architectures (TATPA)にも出てくる。


2008-11-28 [長年日記]

_ OpenOffice.org の 対数グラフ

OpenOffice.orgで、2.3より対数グラフが実装されているそうな。(http://wiki.services.openoffice.org/wiki/Ja.openoffice.org/Documentation/2.3/NewFeatures#.E5.AF.BE.E6.95.B0.E3.82.B0.E3.83.A9.E3.83.95.E3.81.AE.E8.87.AA.E7.94.B1.E3.81.AA.E8.A8.AD.E5.AE.9A)

対数グラフは、グラフのツールバーから使えるようです。

_ iperfの-dオプションの結果の読み方

iperfの-dオプションの挙動がわからなかったので、apt-get source でソースを取得する。emacs の grep-find を使って、該当の場所を狭める。thread を使って、送受信をつかっている部分まで確認したら、-dの結果の読み方を、別のアプローチでやっていた人が先に見つけてしまった。表示されるクライアントサイドからの送信と、サーバサイドからの送信をIDで対応させて確認すれば良いのだと。


2008-11-29 [長年日記]

_ ジャイアニズムは必ずしも性能を向上しない。

相手にドカドカとデータを送り込んでも、必ずしも全体のスループットは良くならない。たとえば、データを取りこぼしてしまうことで、別の部分が再送(またはやりなおし)をすることになる。相手の性能がボトルネックになっている場合は、相手の性能上限の処理をこちらでフロー制御する(王道)か、相手を入れ替えてしまって、より良い性能をだすか?だろう。

_ Linux:TCPのチューニング(バッファ編)

TCP Tuning Guide(http://www-didc.lbl.gov/TCP-tuning/linux.html) Linuxカーネルの中には当然、送受信バッファも持っている。カーネルが持つ、その送受信バッファを変更することでTCPのパフォーマンスを変えることができる。

_ 分岐することは悪か。

CPUのパイプラインで先読みしている場合、分岐は先読みを全部、ご破算にしてしまうので悪なのだろう。(http://sourceforge.jp/projects/btrax/)


2008-11-30 [長年日記]

_ 靴磨き

「人の足下を見る」ということわざがある。一般的には、「人の弱みにつけ込む」という意味で使われる場合が多い。その他の用例では、「人の値踏みをする」という意味もあるようである。

なぜ足下なのか? 靴の状態を見れば、その人の裕福度や、神経の行き届き方が判るらしいのである。

この考えの前提には、「人間は自分で選んで、自分を表現している」という前提がある。つまり自分の表現したいことを服でも表現しているのだ。という考えてである。一番わかりやすい例は、自分の考えている内容をTシャツで表すという方法がある。この手法をどんどんと推し進めていくと、「私は大人の男性だ」や「自分は悪ガキです」などとラベリングされた服装をすることにより、その集団の中に入っていくパスポートを得るための装いであると考えることができる。

ビジネスの世界の場合、まず外見から判断され、外見で判断されたフィルターを通った後に、言葉や考えを聞いてもらえる。

話をきいてもらえるチャンスを増やすためには地道に、靴を磨いて人に会っても恥ずかしくない状態にしておくことも大事です。

_ 赤外線サーモグラフィ装置

空港の検疫などで置いてある装置赤外線サーモグラフィ装置サーモトレーサ 「TH9260」(http://www.nec-avio.co.jp/general/sinseihin/th9260/th9260.html)民生用にもあるのですね。