いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.131 / 読者数:1290名

こんばんは、うすだです。

当メルマガは、3年前の2月末に、第1号を発行しました。
ですので、もうすぐ3年を迎えようとしています。

読みにくい文章や読みづらい構成、ときには誰もついてきていないかも的なネタで、 みなさまを当惑させ続けてきたように思います。
そのようなメルマガにもかかわらず、登録解除せず読み続けていただいたことに、 たいへん感謝しております。

これからも、持てる能力をフル活動させて、なるべくわかりやすく、 かつ役に立つ内容をお送りしたいと思いますので、よろしくお願いします。

そうそう、これを機会に、みなさまに、 あらためてお知らせしておきたいことがあります。

それは、実際に試してみる、ということの大切さです。

所詮、本などを読んで得た知識は、そのときはなるほどと思っても、 時がたつにつれて、記憶が薄れていってしまうものです。
ですが、実際に試して得た経験は、時間がたっても、結構忘れません。
特に、失敗したときの経験は、何十年たっても、鮮明に残っています。

わたしも、最初入った会社で、システム管理を任されたときは、 あちこちのマシンの設定を試しては失敗する、ということをやらかしていました。

たとえば、NIS とか NFS の設定を間違えてしまいますと、OS ごと固まることがあり、 周囲のひとみんなに迷惑がかかります。
ネットワークに関しても、たとえば 10BASE-2 の場合、 うっかりどこかの接続を外してしまいますと、 ネットワーク全体が停止してしまいます。
そんな、当時のお約束的なことを、何度もやらかしました。

…ああ、ちょっと意識しただけで、脳ミソから失敗が、いくつも出てきてしまいます。 (他に、書けない失敗や、思い出になってない失敗も…。)

ひとさまに迷惑をかけることは、もちろんよいことではありません。
しかし、失敗を恐れていてはなにもできない、というのも事実です。
ここは、失敗を通じて経験を得ることで、将来世の中に貢献できるようになるのだ、 と前向きに考えて、周囲の冷たい視線を恐れずに、チャレンジしてみてください。

…と、原点をかえりみたところで、今回も、はりきってまいりましょう!

今回のお題 - deb パッケージを作成する

前回、RPM パッケージを手抜きで作成する方法を、ご紹介しました。

Vol.130 - RPM パッケージを作成する
http://www.usupi.org/sysad/130.html

使ってるのは Debian 系だからなぁとか、RPM ばっかりずるいぞ! とか、 厳しい意見がわんさか…なんてことはなく、いつも通り反響がなかったのですが、 読めない空気を読み取って、今回は、 deb パッケージの作成方法を取り上げてみたいと思います。

本質的には、RPM も deb も大差ないと、わたしは思っているのですが、 もちろん、使用するコマンドや、ファイルの構成はかなり異なります。

Debian 系のかたはもちろんですが、そうでないかたも、 となりの芝生が青いかどうかを確認する材料として、読んでいただけますと幸いです。


さて、今回の目標ですが、前回と同様、 パッケージ化したいファイル一式がすでにわかっていて、 それらを deb パッケージにすること、にしたいと思います。
例に挙げる対象も、やはり前回取り上げました、 usuDigest というニセのフリーソフトです。内容はアレですが、 手順は大小にかかわらず同じですので、気にしないふりをして、ご覧ください。

というわけで、deb パッケージ化の手順は、以下の通りです。

  1. deb パッケージを作成する環境を整える。
  2. dh_make コマンドに、必要なファイルを作ってもらう。
  3. control ファイルなどを編集する。
  4. dpkg-buildpackages コマンドで deb パッケージを作成してもらう。

今回は、環境の用意が間に合わず、 Ubuntu 7.10ja と 6.10ja でのみ確認しました。
おそらく、他の Debian 系のディストリビューション上でも、 同じ手順でできるはず…ですが、もしできなかったら、 文句メールを送付ください。
(できるだけ、フォローはさせていただきます。)


まずは、deb パッケージを作成するために必要なものをそろえます。

具体的には、dh-make, fakeroot, dpkg-dev といったところのパッケージが、 必要となります。
それらのパッケージがないか、あるいはあるかどうかがわからないという貴兄は、 以下のように apt-get してください。

  # apt-get install dh-make fakeroot dpkg-dev

 

そして、作業用の適当なディレクトリを作成します。

別に、ホームディレクトリ直下などででも、パッケージを作成することは可能です。 ただ、パッケージ作成の際に、いくつかのファイルができますので、 どのファイルが作られたのかがわかるように、 特定のディレクトリで行うようにしたほうが、無難です。

名前はなんでも構いませんが、ここでは、 ~/debu というディレクトリにしておきます。(…と、特に理由はありません。)

  % mkdir ~/debu

では次に、前回使用したファイルを、お取り寄せします。

http://www.usupi.org/sysad/130_usudigest.tgz

↑を、ブラウザや wget コマンドなどを使って、入手しましょう。

そして、先ほどの ~/debu に、アーカイブだけを展開します。

  % tar xvfz 130_usudigest.tgz -C ~/debu usudigest-0.1.tgz

さらに、アーカイブを展開し、展開した先へ移動します。

  % tar xvfz ~/debu/usudigest-0.1.tgz -C ~/debu
  % cd ~/debu/usudigest-0.1

ここで、dh_make コマンドを実行し、必要なファイルを自動的に生成してもらいます。

  % dh_make -e usu@usupi.org -f ../usudigest-0.1.tgz
  Type of package: single binary, multiple binary, library, kernel \
  module or cdbs? [s/m/l/k/b]

-e オプションには、あなたのメールアドレスを指定してください。
dh_make コマンドを実行しますと、上記のように質問されます。
今回は、usudigest.pl という実行ファイルが1つだけですので、 s と返事して、single binary であることを伝えます。

すると、最終確認の末、debian というディレクトリが作成されます。
中には、いろいろ必要なファイルがそろっている、という次第です。


さて、そうしましたら、パッケージを作成…の前に、debian 以下にあるファイルを、 編集する必要があります。

まずは、debian/control ファイルです。
これは、パッケージの管理に必要な情報を記述するためのものです。
最低限的には、Section, Priority および Description を記述します。

  ...前略...
  Section: admin
  Priority: optional
  ...中略...
  Description: calculate digest
   usuDigest is a perl script for calculating digest.
   This is very small, simple and experimental.

Section には、パッケージの種別を指定します。
大きくは main, non-free, contrib 等があり、main にはさらに admin, base, devel などがあります。今回は、admin にしておきます。
Priority には、重要度を指定します。今回は、optional とします。
Description には、パッケージの概要を記述します。2行目以降は、 先頭に必ずスペースを入れてください。

そして、debian/copyright および debian/changelog のうち、 <> などで記述されているところを、それらしき記述に書き換えます。
(最悪、そのままでも、パッケージ自体は作成されます。)

他に、debian/rules や debian/docs なども、 本来は編集する必要があることもありますが、今回はそのままでも問題ありません。


さあ、いよいよお待ちかね、deb パッケージの作成です。

作成には、dpkg-buildpackage コマンドを用います。
以下のように実行してください。

  % dpkg-buildpackage -rfakeroot

すると、~/debu の下に、以下のファイルが作成されます。

  • usudigest_0.1-1_i386.deb
    肝心の deb パッケージです。
  • usudigest_0.1.orig.tar.gz
    オリジナルのソースコードです。usudigest-0.1.tgz と同じです。
  • usudigest_0.1-1.dsc
    ソースコードの概要が書かれたファイルです。
  • usudigest_0.1-1.diff.gz
    オリジナルからの変更点の差分です。
    今回の場合、debian 以下のファイルばっかりになります。
  • usudigest_0.1-1_i386.changes
    変更点が書かれたファイルです。

公開する場合は、いくつかのファイルが必要になりますが、 個人や組織の中だけで使用するなら、deb パッケージだけ使えばよいと思います。

まずは、中身を確認してみましょう。
dpkg コマンドを、-I オプションつきで実行しますと、概要を出力しますので、 おかしなところがないか確認しましょう。

  % dpkg -I usudigest_0.1-1_i386.deb

また、-c オプションつきで実行しますと、 パッケージ内のファイル一覧を出力してくれます。 正しいかどうかチェックしてください。

  % dpkg -c usudigest_0.1-1_i386.deb

問題がなさそうでしたら、-i オプションをつけて、インストールを行います。 (root の権限が必要です。)

  # dpkg -i usudigest_0.1-1_i386.deb

どうでしょうか。問題ないでしょうか。
特に問題がなく、そしてもう必要なければ、アンインストールしちゃって構いません。

  # dpkg -r usudigest

dpkg コマンドにつきましては、初期のころにご紹介しております。
よくわからないという貴兄は、以下を見ると、ちょっとわかるかもです。

Vol.033 - パッケージを管理する 〜 deb 編
http://www.usupi.org/sysad/033.html

 

これは余談ですが、deb パッケージは ar 形式ですので、 ar コマンドで中身を見ることもできます。

  % ar t usudigest_0.1-1_i386.deb
  debian-binary
  control.tar.gz
  data.tar.gz

それぞれのファイルの内容については、各自でご確認くださいまし。


以上、なんちゃって deb パッケージの作成方法を、ご紹介しました。

これは、あくまでも、 ありもののファイルを簡単にパッケージ化するための方法です。
本来は、ソースコードをもとにコンパイルなどを行ってパッケージにするまでを、 自動的に行うべきだということを、忘れないでくださいまし。

ちなみに、deb パッケージの作成や公開に関しては、以下が参考になると思います。

Debian 新メンテナガイド
http://www.debian.org/doc/maint-guide/

今回のように、個人や組織内でのみ使用し、公開する予定はない、という場合は、 ある程度読み飛ばせます。
(もちろん、全部読んで理解するほうが、望ましいと思います。)

宿題の答え

前回の宿題は、

  今回のファイルを使用して、実際に RPMパッケージを作成しましょう。

でした。

今度は、実際にある Perl モジュールを対象にしてみたいと思います。

どれがふさわしいのか悩むところですが、Vine Linux4.2 にはなかった、 Digest::SHA2 の RPM パッケージを、簡易作成してみようと思います。
パッケージ名を perl-Digest-SHA2 と仮定して、作成していきましょう。

まずは、以下から、ソースコードを取り寄せます。

Digest::SHA2
http://www.cpan.org/modules/by-module/Digest/Digest-SHA2-1.1.1.tar.gz

これを展開して、とある場所にインストールします。

  % tar xvfz Digest-SHA2-1.1.1.tar.gz
  % cd Digest-SHA2-1.1.1
  % perl Makefile.pl
  % make
  % make test
  % mkdir /tmp/dest-usu
  % make DESTDIR=/tmp/dest-usu install

手順は、INSTALL ファイルに書いてある方法と、ほぼ同じです。
ただ、書いてある通りにインストールするのではなく、 /tmp/dest-usu というディレクトリを作成し、その下にインストールしています。

次に、前回使用した以下のファイルを、入手してください。
もとは架空のパッケージ用ですが、以下ではこれを雛型として使います。

http://www.usupi.org/sysad/130_usudigest.tgz

これを、適当な場所で展開します。

  % tar xvfz 130_usudigest.tgz
  % ls
  usudigest-0.1.tgz usudigest.spec

さらに usudigest-0.1.tgz を展開し、ディレクトリ名を変更します。

  % tar xvfz usudigest-0.1.tgz
  % mv usudigest-0.1 perl-Digest-SHA2-1.1.1

まずは、README ファイルを、Digest::SHA2 のものに変更します。

  % cp -p ~/Digest-SHA2-1.1.1/README perl-Digest-SHA2-1.1.1/

もちろん、インストール内容も差し替えます。
dest を、先ほどインストールした /tmp/dest-usu に差し替えます。

  % rm -rf perl-Digest-SHA2-1.1.1/dest
  % mv /tmp/dest-usu perl-Digest-SHA2-1.1.1/dest

これを tar+gzip で圧縮し直せば、(偽の)ソースアーカイブは完成です。

  % tar cvfz ~/rpm/SOURCES/perl-Digest-SHA2-1.1.1.tgz \
  perl-Digest-SHA2-1.1.1

あと、忘れてはいけないのが、肝心の SPEC ファイルですよね。
以下のようにリネームして、それらしき内容に書き換えます。

  % mv usudigest.spec ~/rpm/SPECS/perl-Digest-SHA2.spec

よくわからないという貴兄は、以下を参考にしてください。
(諸般の事情により変なファイル名ですが、気にしないでください。)

http://www.usupi.org/sysad/131_digest_sha2_spec.txt

ここまでたどり着きましたら、あとはパッケージを作成するだけです。

  % rpmbuild -bb ~/rpm/SPECS/perl-Digest-SHA2.spec

以上で、RPM パッケージが完成します。(するはず…です。)

ただ、先ほども書きましたが、これはあくまでも、邪道なやりかたです。
ソースコードがあるなら、SPECファイルの記述方法を理解して、 rpmbuild に configure や make をさせて、パッケージにしてください。

今回の宿題

今回の宿題は、

  今回のファイルを使用して、実際に debパッケージを作成しましょう。

です。

前回の宿題と同様、ホンモノを deb パッケージにしてみます。
手順はほぼ同様ですので、是非作成してみてください。

あとがき

みなさまの中には、システム管理を専業とされているかたもいらっしゃると思いますが、 SE やプログラマー、あるいはサポート業務などの合間に管理しているかたも、 大勢いらっしゃるのではないかと思います。

いずれにしましても、大半のかたがたが、朝から夜中まで、 平日だけではなく土日も出勤して、納期などと戦われていることと思います。

そんな生活をしていますと、結婚してもすれちがい的な生活になったり、 それ以前に出会いがなかったりして、いろいろと悩まれているのではないでしょうか。

さて、本題に入りましょう。
当メルマガとは姉妹関係にあります、サーチマン佐藤さんが、 SE と結婚して幸せになれるかどうかアンケートを行い、 200人強のかたがたの結果をまとめたものを、無料レポートにされました。↓

7年間ほったらかしの彼女は、SEの彼氏に何を求める?
SE200人への緊急アンケート調査を公開します。
http://www.searchman.info/repo.html

理論的なことも大事だと思いますが、似たような境遇に置かれているひとたちが、 どのように考えているのか、生の声を聞くことも大事ではないでしょうか。

わたしも拝見させていただきましたが、どちらか両極端に二分されるのかと思いきや、 思った以上にさまざまな意見があって、既婚者からみても、 いろいろと参考になりました。

もちろん、これから結婚する(かもしれない)というひとにとっても、参考になります。 メールアドレスを登録するだけで読めますので、是非読んでみてください。

 

今日は、珍しく昼間ひとりでしたので、いつもよりゆったりと書くことができました。 だからでしょうか、とうとう400行を越えてしまいました。
…うーん、次回は、もう少し簡潔にまとめたいですね…。

あ、次回は、2週間後ではなく、その次の3月9日にさせていただきます。
もちろん、月2回発行は守っていきますので、よろしくお願いします。

 

今回も、ここまで読んでいただき、ありがとうございました。
それでは、次回は 3月9日 頃に、お会いしましょう!

 

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」− 栗ネタに数時間悩むのをやめにしたい…でも楽しいです。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
LINUXで自宅サーバーを構築・導入
(Fedora8)

Fedora8のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日本の Linux 情報
日本の、Linux 総本山的なところです。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
Open Tech Press
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん





▼ 最近読んだ本

ハリー・ポッターと炎のゴブレット ハリー・ポッターと炎のゴブレット
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターとアズカバンの囚人 ハリー・ポッターとアズカバンの囚人
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと秘密の部屋 ハリー・ポッターと秘密の部屋
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと賢者の石 ハリー・ポッターと賢者の石
J.K.Rowling
  ハリポ月刊なので読み直してます
アルケミスト アルケミスト
パウロ・コエーリョ
  また読んだ
賢者の書 賢者の書
喜多川 泰
  違った視点から見られてよかった
セキュリティウォリア セキュリティウォリア
Cyrus Peikari, Anton Chuvakin
  やや冗長…ためにはなりました
CORE MEMORY CORE MEMORY
John Alderman, Mark Richards
  この筐体でPC作ってほしい!
新訳 星の王子さま 新訳 星の王子さま
サン=テグジュベリ
倉橋 由美子
  つまらない大人になったのか…
センネン画報 センネン画報
今日 マチ子
  長編マンガがとてもよかった
.....

[X]
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

夢をかなえるゾウ 夢をかなえるゾウ
水野 敬也
  いままでで最高の「笑える」成功本
Linuxデバイスドライバ Linuxデバイスドライバ
Alessandro Rubini,
Jonathan Corbet
  ドライバ作らなくてもためになる
Firefoxの改造テクニック! Firefoxの改造テクニック!
大浦 淳
  いま栗日記拡張を考えてます
Apacheモジュール プログラミングガイド Apacheモジュール プログラミングガイド
小山 浩之
  Apacheの中身もわかるよ
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
チベット永遠の書 チベット永遠の書
Theodore Illion
  いろんな意味ですごい!!
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します