ページ内ジャンプ:

アレゲなニュースと雑談サイト

yosshy の日記から検索

yosshy (3545)

yosshy
(メールアドレス非表示)
2010 年 03 月 14 日
PM 09:10
日記

TeamBlog、ユーザを2名増やした。使い続けてくれるかどうかは不明。
私は色々な案件を抱えているので便利だが、2名はそれほど多くない。それほど便利ではないかも知れない。
タグが3種類の方法で付くという事をきちんと説明しないと、TeamBlog の価値が分からないかも知れない。

2010 年 03 月 07 日
PM 06:17
日記

Trac の Blog モジュールに日報を書いていたのだが、これを週報にする際に面倒過ぎて困っていた。

  • 日報として1投稿にまとめると、週報にする際に案件毎に分解するのが面倒
  • 出張や直帰などで後から作業を記述する場合、過去日時で投稿できない

何とかならんかと色々ブログソフトを探したりしたのだが、結局良いのが見つからず自分で作ることにした。
特長:

  • マルチユーザ(当然)
  • 投稿日時を自由に設定可能(最終更新日は別途付与)
  • 投稿にカテゴリ用のタグ(キーワード)を付与可能
    • タグは専用の入力欄か、文中にて[]で囲って記述した語として設定可能
    • タグはカンマ(,)で列挙可能
    • 投稿ユーザ自身もタグとして投稿に自動設定
    • タグクラウドで投稿を抽出可能
      • デフォルトで自分自身のタグが選択された状態(top >> user)だが、top に戻れば全員分の投稿が時系列で表示される
    • 同義のタグを別のタグにエイリアス可能

これなら作業単位で記録を付け、作業自体の時系列で並べる事が出来る。イベント日時を設定できるので、過去の作業記録を付ける事もできるし、未来の予定を書く事も出来る。
週報を書く際にはタグクラウドで案件毎に絞り込めば分かりやすい。
他のユーザが書いた投稿に自分のタグが付けられている場合、タグクラウドのデフォルト画面でその投稿も表示される。
top から案件のタグを選べば、他のメンバーがその案件で何をしているのかが一目で分かる。

LAMP 上に CakePHP を載せ、プログラミング開始。とりあえず名前は TeamBlog にしよう。
先週の土日で基本機能は実装し、1週間かけてブラッシュアップ。
昨日テーブル構造の一部見直しを実施、キャッシュやセッションの使用で応答速度を概ね2秒以内にした。
そろそろみんなに使ってもらえるレベルかも知れない。

2010 年 01 月 01 日
AM 12:37
日本

あけましておめでとうございます。
本年もよろしくお願いいたします。

虎の絵

2009 年 12 月 31 日
PM 06:56
Linux

本家より。
Ubuntu を使って、Linux 32bit カーネル、PAE版 32bit カーネル、64bit カーネルでそれぞれベンチマークした結果が紹介されている。
いずれの結果も 64bit の性能が良く、Apache Bench による比較では 17倍の大差がついたようだ。

2009 年 12 月 20 日
AM 01:43
Linux

Linux 2.6.32 のリリースから2週間、2.6.33 へ向けた最初の開発パッチである 2.6.33-rc1 がリリースされたのでチェックしてみる。
幾つか面白いものを見つけたので紹介しよう。

+config BLK_DEV_DRBD
+ tristate "DRBD Distributed Replicated Block Device support"

ご存知、ネットワーク経由のディスクミラーデバイスである。
高可用性(HA)クラスタには、FC 接続や iSCSI 接続などの共有ストレージを使用するタイプと、DRBD のようなネットワーク経由でレプリケーション(ミラー)するストレージを使用するタイプがある。前者は高価なストレージを用いなければならないが、後者はこうしたものが必要ない。Heartbeat 等のフリーなクラスタシステムで人気の機能だ。

+config DRM_NOUVEAU
+ tristate "Nouveau (nVidia) cards"

nVidia 製ビデオカード向けの「オープンソース」ドライバ。マージリクエスト時に何故か Linus が仔馬に興奮した一品である。

+config SCSI_HPSA
+ tristate "HP Smart Array SCSI driver"

HP 社のサーバに搭載されている RAID デバイスを通常の SCSI ディスク(/dev/sdX)として見せるドライバ。
元々 Linux では cciss ドライバで同デバイスを使用できたが、デバイス用スペシャルファイルのルールが独特(/dev/cciss/cXdY)だったため、ディスク管理ツール側で特別な配慮が必要だった。
旧来の IDE/ATA ドライバ(/dev/hdX)も廃止の方向にあるし、「一つの /dev/sdX は全てを統べる」と言ったところか。

+config BLK_CGROUP
+ Generic block IO controller cgroup interface. This is the common

リソース管理機構 cgroup のブロックデバイス向け I/F。

+config DRM_VMWGFX
+ tristate "DRM driver for VMware Virtual GPU"
+config VMWARE_PVSCSI
+ tristate "VMware PVSCSI driver support"

VMware 向け仮想ビデオドライバと仮想ディスクドライバ。

+config BATMAN_ADV
+ tristate "B.A.T.M.A.N. Advanced Meshing Protocol"

B.A.T.M.A.N. (better approach to mobile ad-hoc networking)という狙いきったとしか思えない名前のルーティングプロトコルのサポート。

+config DREAM
+ tristate "HTC Dream support"
+ depends on BROKEN

言わずと知れた Android 端末のサポート。

+config RAMZSWAP
+ tristate "Compressed in-memory swap device (ramzswap)"

Ubuntu のライブ CD で使用されている、swap 用の圧縮機能付き RAM ディスク。
私も愛用しており、今ではディスク上の swap パーティションを使用していない。

+config STRIP
+ tristate "STRIP (Metricom starmode radio IP)"

これもまた狙っているとしか思えない。

+config EXT4_USE_FOR_EXT23
+ bool "Use ext4 for ext2/ext3 file systems"

ext2/3 ドライバがコンパイルされていない場合、ext4 ドライバで ext2/3 ファイルシステムを使用する為のオプション。
しかし、Ubuntu 9.10 を数回 ext4 でインストールしてハングアップしている経験上、ext4 はあまり安定している気がしない…。

+config TINY_RCU
+ bool "UP-only small-memory-footprint RCU"

マルチプロセサ/マルチコアでない(単一プロセッサ:UP)マシンでは RCU 機構自体があまり意味を成さない。このオプションは UP マシン向けに簡素化した RCU を実装するもの。

+config MMAP_ALLOW_UNINITIALIZED
+ bool "Allow mmapped anonymous memory to be uninitialized"

Linux の mmap() ではクリアされたメモリ空間が渡されるが、これをクリアしない為のオプション。性能が大幅に向上するらしいが、セキュリティ上の問題があるため、組み込みデバイスでしかサポートされない。
 

2009 年 12 月 06 日
AM 12:53
Linux

前回の HDD 異常検出後、CF-W2 の内蔵ストレージをコンパクトフラッシュ(CF)にする方向で検討。
ところが、これが思わぬ苦労の始まりとなった。

ヨドバシで CF-IDE 変換アダプタを購入。
帰宅後、早速「CF-W2 分解」でググり、こちらのページを参考に本体を分解。
分解自体は手順どおりやればそれほど難しくはなかったが、CF-IDE 変換アダプタのコネクタ部分の表裏が分からない。暫く悩んでいたが、HDD の1番ピン表記を見つけて無事解決。
ところが、本体を組み立てて Ubuntu の CD-ROM から起動したところ…
カーネルの初期化後、init 起動ぐらいのタイミングで、画面がブラックアウトする問題が発生。カーネルパニックとかではない、どちらかというとハードウェア障害のようだ。
ところが、CentOS 4.4 ベースの自作ライブ CD で起動するとちゃんと動作する。CF も使用できる。ソフトウェアの問題なのか?

CF-IDE 変換アダプタの問題かと思い、玄人志向の同様のアダプタを買ってきたが、やはり同じ問題が発生する。
別マシンでカーネルを組み直したり、netconsole で起動途中をモニタしたりしたが、ソフトウェアの問題の特定には至らなかった。

ふと思い直して、壊れかけの元の HDD を繋いでみる。…ちゃんと動くんだなこれが。
そうか。ハードウェアの問題か。それなら話は早い。

「CF-W2 HDD交換」でググり、いくつかの情報を漁る。予想どおり、CF-W2 の元 HDD の電源仕様が特殊らしく、自前で HDD 交換する場合は IDE コネクタのピンを2本ほど間引く必要があるらしい。
同様の処置を CF-IDE 変換アダプタに施して本体を仮組みし、起動!
…認識すらしなくなったよ(T-T

もしかしたら逆差ししたか?
本体を分解し、コネクタを確認。どうやら逆だったようだ。
再び仮組みし、起動!
…おお、ちゃんとミニルート環境を実行している。やはりハードウェアの問題だったようだ。

本体を組み上げ、ライブ CD 上で Ubuntu 9.10 の netboot イメージを CF 上にダウンロード。GRUB をインストールし、再起動。ようやくこれで Ubuntu 環境を取り戻せそうだ。
…ところが、パーティション作成を自動にしたところ、インストールの最終段階でシステムがハングアップ。以前にも体験した、ext4 のバグのようだ。
インストールイメージのダウンロードからやり直し、ext3 でルートファイルシステムを構成するよう設定。一連のインストール作業の結果、ようやく Ubuntu 9.10 環境がインストールされた。

後は LXDE と Midori、Sylpheed、WICD をインストール。
相変わらず 9.10 では X の設定に苦労する(カーネルの i915 ドライバの問題)が、それもようやく終わった。

ああ、快適。
HDD の動作音もないし、ディスクアクセスはやはり早い。
ストレージ容量はたかが 4GB しかないが、Netbook 的用途ではこれで十分である。

2009 年 11 月 16 日
AM 12:16
日記

自宅の個人マシンは Let's note CF-W2、何と 2003年夏モデルを後生大事に使っている。
マシンを買い換える金が無いわけではない。Linux 使いとしてはソフトウェア的に環境を更新できるので、マシンを買い換えなくても OS を入れ替えるだけで

何だか新しくなった

幸福感を味わえる。実にリーズナブルである。

しかし、2009年も後2ヶ月。CF-W2 を購入してから6年半が過ぎようとしている。
そのためか、最近 HDD が

ブーン

と音を出すようになった。少々不安である。
aptitude で smartmontools をインストール。実行してみる。

# smartctl --all /dev/sda
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
(中略)
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       1330
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       17362
  5 Reallocated_Sector_Ct   0x0033   001   001   050    Pre-fail  Always   FAILING_NOW 1023
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   069   069   000    Old_age   Always       -       12725
  10 Spin_Retry_Count        0x0033   253   100   030    Pre-fail  Always       -       0
  12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       7748
192 Power-Off_Retract_Count 0x0032   099   099   000    Old_age   Always       -       679
193 Load_Cycle_Count        0x0032   030   030   000    Old_age   Always       -       705538
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       412
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       59
222 Loaded_Hours            0x0032   082   082   000    Old_age   Always       -       7340
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       595
240 Head_Flying_Hours       0x0001   100   100   001    Pre-fail  Offline      -       0
 
Error 1 occurred at disk power-on lifetime: 12725 hours (530 days + 5 hours)
  When the command that caused the error occurred, the device was active or idle.

つまり、こうだ。

# smartctl -H /dev/sda
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
 
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   001   001   050    Pre-fail  Always   FAILING_NOW 1023

ヤバげである。
替えのディスクを用意しないと…

2009 年 11 月 10 日
PM 08:41
Linux

KVM の開発 ML に

なる投稿を見つけて喜びの踊り。
Linux の汎用仮想デバイス API である virtio には、コンソール(tty)、ディスク、ネットワーク等のゲスト OS 用ドライバはあったものの、フレームバッファは長い間存在しなかった
virtio でフレームバッファが表示できるのであれば、将来的に lguest のゲストOS上でもネットワークを経由せずに X が使えたり、directfb やフレームバッファに直接描画するソフトウェアが使える。大変興味深い。

2009 年 11 月 05 日
PM 10:01
日記

今日「Ubuntu 9.10、不具合の多さが話題に」というネタが出ていた。
最近 Ubuntu 9.04 から 9.10 にアップグレードしたのだが、確かにマウスはちゃんと動かなかった。GRUB が 2 系になったからか、デフォルトのカーネルが 9.04 の物のままだったのだ。

それではと、クリーンインストールする事にした。別に GNOME 環境も要らないし。

  1. Ubuntu 8.10 ライブ CD で起動
  2. ディスクのパーティションテーブルを削除

    # dd if=/dev/zero of=/dev/sda count=1

  3. パーティションを作成して ext2 でフォーマットしてマウント

    # fdisk /dev/sda
    ...
    # mke2fs /dev/sda1
    # mount /dev/sda1 /mnt

  4. GRUB のモジュール群をパーティションにコピーし、MBR に GRUB をインストール

    # cp -a /usr/lib/grub/* /mnt/grub
    # grub
    grub> setup (hd0) (hd0,0)

  5. Ubuntu 9.10 のミラーから netboot 用カーネルイメージ、initrd をダウンロード
  6. 再起動
  7. GRUB からカーネルを起動

    GRUB> kernel /linux
    GRUB> initrd /initrd.img
    GRUB> boot

  8. 最小構成でインストール
  9. 再起動

aptitude で下記のパッケージをインストールする。

  • lxde
  • xorg
  • wicd
  • midori
  • sylpheed
  • xdm

再起動後、何故か Let's Note CF-W2(2003年モデル)では X が正常に起動しない。どうやら DRM 周りが混乱している模様。
強制再起動後、GRUB2 のメニューの出し方が分からなくて悩む。結局 GRUB 起動時にシフトキーを押し続けるとメニューが出る事が判明、シングルユーザモードで起動する。
落ち着くまで、VESA ドライバを使おう。xserver-xorg-video-intel パッケージを削除し、下記を実行。

# X -configure

出来た xorg.conf.new を調整して、/etc/X11/xorg.conf にコピー。
後は細々した調整を行った。1GB 以下のディスク使用量だが、快適な環境に満足している。

2009 年 05 月 25 日
PM 11:21
Google

何だか上手くいかない。
こちらの情報を参考に作業していたのだが、再構築したカーネルで起動すると init が SegV を起こす。
例のダウンロードしてきた USB メモリイメージ中のカーネルで実行すると、今度は上ものが起動しない。

2つ変えてみよう。

  • OpenJDK 6 にする。
    上記ページで触れられている通り、確かに Google のダウンロードサイトにある手順では JDK 5 ベースでの作業を推奨しているが、何故かあちらこちらの情報では平気な顔して OpenJDK 6 を使用している。
  • パッチを一切当てない。
    散見する成功例ではほとんどパッチを当ててないか、全く当てていない。まずは素のままビルドして、上手く行ったら1つずつパッチを当てよう。

母機でのコンパイルは時間がかかるが、2〜3時間ほどで終わる。
いっちょやってみよう。