最近発見した買い物に便利なヒューリスティクスを紹介します。

「嗜好品の満足度は6000円に近づくほど上がる」

これを6000円の法則といいます。

もっと安い価格帯が普通のものでも、高いモノでも、満足度の高い商品は6000円に収束します。

最近の観測

電子レンジ:6,836円
TWINBIRD 電子レンジ ホワイト(60Hz) DR-4215W6
掛け布団:5,980円
森のやすらぎ青森ヒバシリーズ 掛け布団「ストリア」150×210(シングルサイズ)グレイ
詳解 Linuxカーネル 第3版:6,930円
詳解 Linuxカーネル 第3版
  • 詳解 Linuxカーネル 第3版
  • オライリー・ジャパン(2007-02-26)
  • オライリー・ジャパン
  • (監修)高橋 浩和
  • (翻訳)杉田 由美子
  • (翻訳)清水 正明
  • (翻訳)高杉 昌督
  • (翻訳)平松 雅巳
  • (翻訳)安井 隆宏
  • 定価:¥ 6,930
  • 新品価格:¥ 6,930
  • 中古価格:¥ 8,930
  • ASIN:487311313X

ライフチェンジングな商品はいつも6000円なんですよ! 理由はさっぱりですが。

最近、新しいパソコンとか素敵な靴とか欲しいんですけど、

果たして自分にとって、ホカホカご飯を提供してくれるあのデバイスや、冬場の安眠を大いにサポートしてくれた驚異の寝具や、コンピューターに対する考え方を一変させたバイブル*ほどの価値があるのか?

と考えてしまってなかなか買えません。

6000円なら買うんだけど・・・。

以前、オリジナルのscaffoldジェネレーターを作るのがびっくりするほど簡単なことを知って、次のプロジェクトを始める時には必ずそれ用のscaffoldを作ってから始めようと思ってました。

プラグインの雛形を作る。名前は適当です。(YetAnotherScaffold)

script/generate plugin ya_scaffold

デフォルトのscaffoldをコピる。(下記の場所はDebianの場合)

mkdir -p vendor/plugins/ya_scaffold/generators
cp -r /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails_generator/generators/components/scaffold \
vendor/plugins/ya_scaffold/generators/ya_scaffold

ファイル名とクラス名を変える。

cd vendor/plugins/ya_scaffold/generators/ya_scaffold
mv scaffold_generator.rb ya_scaffold_generator.rb

これだけで同機能、別名のscaffoldジェネレータができる。

script/generate ya_scaffold Foo name:string ...

名前が変わっただけ。

中身を見ると、何を変えたらいいのか一目瞭然なので思う通りに変えられます。ジェネレートされるファイルのテンプレはERBなのでそれを弄るだけでも随分違います。

今回のプロジェクト用に吐かれるHTMLを弄ったり、new, editから共通の_formを使うようにしたり、i18nやpaginate入れたり、scaffold.cssやlayoutを作らないようにしたりと極簡単な変更しかしてないですが、作業の手間はかなり短縮できて嬉しいです。

こんな簡単だったらさっさと試してみればよかった。まことに遺憾です・・・。

年末に実家に帰って設置したサーバー。無事設置出来たと思ったんですが、アパートに帰ってから接続しようとするとできない。

何が問題になったんだろう?と不思議に思いましたが仕方が無いので週末早々にも実家に戻って調査しなければと思い、実家にもその旨をメールしておきました。

すると実家の両親から留守電が。

「パソコンの音が五月蝿いと思って電源を切っていたけれど、また付けたので確認してみてください。」

つながるようになりました・・・。

実家を出るとき、口をすっぱくして電源を切らないように。コードを抜かないようにと言い含めてきたはずなんですが・・・。

xen関連インストール

sudo apt-get install xen-linux-system-2.6.26-1-xen-686 \
linux-headers-2.6.26-1-common-xen \
libc6-xen \
xen-tools \
bridge-utils

xenの設定

後で書く。(設定ファイルみれば大体分かる)

domainU作成コマンドの設定

後で書く。(設定ファイルみれば大体分かる)

domainUが起動途中で固まる

設定ファイルに extra=’xencons=tty’ を追加するといける。設定ファイルのテンプレートである下記のファイルに書いておくと楽。

# /etc/xen-tools/xm.tmpl
extra = 'xencons=tty'

domainU内で時間関係のメッセージが出まくる

ntpdateを設定する。

参照:Debian – ntpdate

ロケール・タイムゾーンを設定する。

sudo dpkg-reconfigure locales
sudo tzconfig

sshでdomainUに接続できない

「stdin is not a tty」と出てつながらないのでudevを入れる

sudo apt-get install udev
RAN ONLINE

■ペットシステムとは?

RAN ONLINEの世界では、ペットカードを購入し、ペットを召還することができます。 服を着せてお散歩したり、戦いのお手伝いもしてくれる可愛くて小さなお友達を、お供させてみませんか?

akasan_strikes

YouTube – DOD 本当は怖い赤さん

安サーバー構築記のソフトウェア設定編です。 (ハード組み立て・回線契約編こちら

ハード

ハード面をまとめると、こんな感じです。

ソフト構成

  • Xen3.2でDebian Lenny(testing)をDomain0としてDebian etchをいっぱい立てる。
  • LVMを使ってみる。
  • ファイルシステムにXFSを使ってみる。

OSインストール

ここ数年サーバー関係に事なかれ主義といいますか、適当にパーテーション切ってDebian stable入れておしまい、という感じでした。久しぶりなので使ったことがなかった上記3つにチャレンジしてみました。(勉強になりました!)

ML115 G5についてるオンボードのNICのBroadcom BCM5722は手持ちのインストーラー(debian4.0r5)だと認識されませんでした。新しいインストーラー(debian4.0r6 etch-and-a-half)だと認識しました。

Debian JP Project – リリース情報

安定版(stable)

(略)その代わり、セキュリティや致命的な不具合の修正でない限り、安定版の更新が行われることは基本的にありませんでした (たとえば新しいハードウェアへのインストーラやウィンドウシステムの対応など)。しかし、Debian 4.0r4 から「etch-and-a-half」と呼ばれる変更版も追加され、これによって新しいハードウェアへの対応が行われました。最もお勧めするリリースバージョンです。セキュリティアップデートなどをまとめた形で、定期的にマイナーリビジョンアップ (r番号) が行われることがあります。

安定版でもセキュリティ以外に追加があるリビジョンがあるんですね。

Debian—debian-volatile プロジェクト

debian-volatile とは何ですか?

spam フィルタリングやウイルススキャンといった一部のパッケージは、変化し続ける目標を狙っており、データパターンを更新し続けたとしても、安定版リリースの間本当にずっと働き続けられるとは言えません。 volatile の主目標は、選択されたパッケージに対して不安定版を使うという不利益を被ることなく、システム管理者がシステムをより良く首尾一貫したやり方で更新できるようにすることです。このため、debian-volatile は、安定版のプログラムへの、機能を保持し続けるために必要な変更のみを含んでいます。

aptのsources.listにdebian-volatileという見かけないリポジトリのパスが追加されてるなと思ったら、こういうことなんすね。

LVM

今までややこしそうで避けてきたLVMを勉強してインストールしてみました。

普通のパーテーション: /boot, ext3, 100MB 物理ボリューム(PV): 上記以外全部(sda2, sdb1, sdc1) ボリュームグループ(VG): vg0(物理ボリューム全部) 論理ボリューム(LV): /(ルートパーテーション), arial-disk, xfs, 16GB スワップ, arial-swap, swap, 512MB

とりあえず16GBほど使ってインストール。

arial-xxxxというのはマシン名から取りました。使える固定IP5個のマシン名は読み辛いフォント名シリーズということで、arial(アリアル), lucida(ルーシダ), courier(クーリエ), verdana(ベルダナ), helvetica(ヘルベティカ)にしました。

参考:フォントって声に出さないから調べてみた。 – Orbium そらのたま

XEN

これまた避けてきたXenを勉強して入れてみました。(単体でメモリ8GB全部(4GB以上)を認識させるにはlinux-image-xxxxxx-bigmemなどのカーネルを使う必要があります)

etchにあるxenのカーネルというかモジュールは2.6.18-4なんですが、これだとまたオンボードNICを認識しないのでメーカーサイトからドライバを持ってくる必要がありました。

参考:作業日報 | 【Debian】ML115_G5 NICドライバ(BCM5722)

xen-create-image(+ debootstrap)コマンドを使ってdomainUのイメージを作り、立ち上げてみると・・・Invalid Argument?とかいうエラーで速攻で立ち上がらない。

いろいろ時間を費やした結果、わからないのでDebian Lenny(testing)で再インストールすることに・・・。

Debian Lenny

lennyのxenは3.2.1、xen入りカーネルは2.6.26。 これで勝つる! etchのdomainUのイメージを作って起動してみたら行けました。

そもそも糞遅いドリホの移行先と2TBのファイルサーバーを作ろうというのが目的だったので2つしかいらないんですが、いろいろと試してみようと思います。(細かいハマリがいっぱいあったので別エントリでちょこちょこ上げていきたいと思います。)

sudo lvdisplay -C
  LV           VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  arial-disk   vg0  -wi-ao  14.90G
  arial-swap   vg0  -wi-ao 488.00M
  courier-disk vg0  -wi-ao 200.00G
  courier-swap vg0  -wi-ao   2.00G
  lucida-disk  vg0  -wi-ao   2.00T
  lucida-swap  vg0  -wi-ao   2.00G
  verdana-disk vg0  -wi-ao 200.00G
  verdana-swap vg0  -wi-ao   2.00G

安サーバーを設置してみての感想

今回は個人(実家)にサーバーを設置してみましたが、ベンチャーなどでもほぼそのまま使えるかと思います。(rsyncでバックアップを追加すればよいかと)

残念だったこと

  • プロバイダーのZOOTは転送量を40GB/月ぐらいを目安と言ってること。
  • 同じくOBP25B。
  • オンボードNIC
  • Domain0がetchで動かなかったこと。(なぜ意地でもDebianしか使わないのかは謎)
  • Domain0は今後KVMに置き換わっていくらしいこと。
  • アレがついてなかったこと。
  • 年内に終わらなかったこと。

良かったこと

  • LVMが便利だったこと。
  • Xenが便利だったこと。
  • メモリ、HDDが糞安かったこと。
  • 固定IPが便利だったこと。
  • Lennyのインストーラーが再起動前にsources.listのCDの行をコメントアウトしてくれるようになったこと。
  • 意外と場所を取らなかったこと。
  • 意外と静かだったこと。
  • 仕事に色々と役立ちそうだったこと。
  • 色々勉強になったこと。
  • おもろかったこと。

前回:安サーバー構築記1 – ハード組み立て・回線契約編 発端:ITベンチャー勝ち組セット

デフォルトだとlvm入ってない。

sudo apt-get install lvm2

コマンドは使えるようになるが、ブロックデバイスとか見えない。

sudo modprobe dm-mod

Device Mapperモジュールを有効にすればOK。

sudo lvdisplay -C
  LV           VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  arial-disk   vg0  -wi-ao  14.90G
  arial-swap   vg0  -wi-ao 488.00M
  courier-disk vg0  -wi-ao 200.00G
  courier-swap vg0  -wi-ao   2.00G
  lucida-disk  vg0  -wi-ao   2.00T
  lucida-swap  vg0  -wi-ao   2.00G
  verdana-disk vg0  -wi-ao 200.00G
  verdana-swap vg0  -wi-ao   2.00G

UNIXユーザーと関係無いユーザーでアクセスできるFTPd。

Debian流だと設定方法がちょっと変。

sudo apt-get install pure-ftpd
sudo groupadd ftp
sudo useradd -g ftp -d /dev/null -s /bin/false ftp
sudo mkdir /home/ftp
sudo chown ftp.ftp /home/ftp
sudo chmod 755 /home/ftp
sudo pure-pw useradd share -m -u ftp -d /home/ftp
sudo pure-pw mkdb
sudo vi /etc/pure-ftpd/conf/PAMAuthentication
no

sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
sudo /etc/init.d/pure-ftpd restart

Debian流ゆるふわ愛され

sudo apt-get install ntpdate
sudo vim /etc/cron.hourly/ntpdate
#!/bin/sh
/usr/sbin/ntpdate-debian

sudo chmod 755 /etc/cron.hourly/ntpdate

etch backportsを使う

% sudo vi /etc/apt/sources.list
deb http://www.jp.backports.org etch-backports main contrib non-free
deb-src http://www.jp.backports.org etch-backports main contrib non-free
% sudo apt-get update
sudo apt-get install debian-backports-keyring
sudo apt-get -t etch-backports install package

etchでvimやgitの新しいの使える。

lenny backportsを使う

s/etch/lenny/