Thursday, December 31, 2009

Today's Tweets (12/31/2009)


  • 楽天市場にて、知人から依頼された商品を注文した。 posted at 23:46:48

  • 銀座の東京羊羹 : http://www.tokyoyokan.jp/ は、移転というか閉店してしまったのか...。 posted at 23:21:01

  • @haiju おはにゃー posted at 07:26:56

  • MySpace にて Russian な人とチャットするなど...。日本語について質問したいらしい。 posted at 06:49:46

  • (´ω`) posted at 04:23:07

  • ordered an LX Desk Mount LCD Arm (silver) [45-179-194] : http://bit.ly/7Bayv8 at amazon.co.jp posted at 03:43:24

12/31/2009


  • 今年をまとめるなど。





2009

今年のまとめをポストする。

今年は、それなりに大きく変化した年だった。1 月から新しい会社に所属して仕事を開始した。去年、自社つまり前の会社で十分に開発の仕事をできなかった状況を判断し、現在の会社へ転職した。現在の会社は、契約社員といいつつ、実際のところ個人事業主らしく、自社または営業してくれる会社の担当者が仕事を紹介してくれる。

1 月は自社で待機しつつ面談などをこなし、2 月と 3 月は田町の、ある客先で仕事をした。

4 月から、新宿の企業で仕事をしている。現在進行形だ。期間は 10 か月目となり、自分が開発の仕事をしてきたなかで最長となる。ここの仕事は波乱だらけだった。サービスは安定期だから徐々に慣れればよい、的に聞いていたが、まったく安定などしていなかった。同じチームとして所属していたメンバーが徐々に減り、秋ごろから非常に忙しい状態だ。世の中いわゆる不況といわれる状況で仕事をいただけている点は、ありがたい状況かもしれない。担当しているサービスの概要は、 Web サービス - 携帯電話でコミックを読む - を開発しつつ保守する業務だ。個人的な意見として、自分は利用しないだろう的なサービスであるが、そこそこユーザも存在するし、その企業の重要サービスのひとつにも位置づけられているため、担当者として責任もある。先月から、システム - 既に老朽化してしまっている - をリプレースすべく活動している。自分は現行サービスを保守する業務で手一杯であり、他の人に手伝ってもらっている状況だが...。大きな問題を発生させない限り、しばらく仕事をさせてもらえそうな雰囲気だ。

しかしながら、最近、自分について認識した点だが、それほど私は Java による Web サービスの開発に興味をもっていない。私の希望は C 言語による OSS 開発に関係する仕事をすることだ。現実的に考えてフルタイムで OSS を開発する仕事をできなだろうから、必ずしも OSS でなくても構わないが、最低限、言語を C または C++ で、UNIX を対象とするアプリケーションを開発したい。そのため、もし現在の会社で仕事を見つけられないなら、また転職するかもしれない。しかしながら、まずある程度 C 言語による開発できるスキルを身につけておくべきだろう。

仕事と関係ないところでの変化として、やはり除外できない点は、数学の勉強を再開したことだ。1 年ほど前?に、高校レベルの参考書を購入していたが、ついに、それを使用して実際に勉強を開始した。Twitter で @lhuga さんが背中を押してくれて、学習を再開しようという自分の意志を固めた。目下の目標は、これらの参考書 3 冊を復習し、高校レベルの数学の基礎をかためること。そして、よりレベルの高い参考書で学力をアップさせる予定だ。学力をアップさせたい理由は、ひとつ。それは、数年後に大学へ入学したいため、だ。そう、また大学で勉強したい。過去、自分は教育学部を卒業し、教員免許を取得したが、いまとなれば進学する学部を間違えた。また、そもそも高校のときに勉強を怠ってしまった。特に数学を。今になって「数学をできていれば」という場面に出くわす始末...。専門知識をもち仕事をしたいとなると、大学で勉強できれば大きく自分を成長させられるだろう。最近 Twitter で TL を follow しているが、理工系でプログラミングを得意としている学生は、驚くほど実力を備えているし、大学で専門の授業も受講しているため、学生のときに大きく成長しているようだ。また、勉強会などで活躍する多くの学生も目にする。そういう学生が受講している講義を自分も受講したい...。2010 年、数学と英語を重点的に学習したいと考えている。おそらく真面目に勉強していれば、2010 年は過ぎ去ってしまうだろう。ちなみに私が入学を考えている大学は 2013 年から新しいキャンパスとなるらしく?、現在の住居から近いため、2013 年に受験できるよう計画しつつ、学習していく予定だ。

当然ながら今日が明日につながるように、今年は来年につながる。来年、飛躍するために今年の努力は必須だ。モチベーションを維持しつつ活動したい。

Wednesday, December 30, 2009

Today's Tweets (12/30/2009)

12/30/2009


  • 銀座へ...

  • 久々に biccamera で買い物

  • 睡眠しなかったので悪い体調だった

  • 例の和菓子屋さんは...


Tuesday, December 29, 2009

Today's Tweets (12/29/2009)


  • 抹茶ナウ posted at 23:56:59

  • 約 9.3 GB のファイルを Amazon S3 へ転送ナウ (via Jungle Disk)... posted at 22:51:01

  • Jungle Disk Desktop Edition を利用するため 64-bit 用の deb パッケージを選択してクライアントをインストールした。 posted at 22:19:25

  • 食事 done posted at 22:11:51

  • subscribed to a Jungle Disk Desktop Edition : http://www.jungledisk.com/personal/ posted at 19:32:04

  • ordered "英語リーディング教本 (薬袋 善郎)", "日本人の英語 (Mark Petersen)", "続 日本人の英語 (Mark Petersen)". posted at 17:29:33

  • しかししかし、なぜ、新品のマシンに手垢らしき跡が... IBM 時代からだけど、黒だから目立たないだけで...。つまり素手で組み立てしてるってこと ??? posted at 15:54:19

  • しかし、なぜか "大容量バッテリー" (40Y7003) : http://bit.ly/rvst1 が同梱されていた。正確にスペックを記載してほしいな... GENO : http://www.geno-web.jp/ posted at 15:44:27

  • メモリ 1 GB x 2 を 2 GB x 2 へ交換しつつ、正常に認識されていることも確認した。Windows Vista は... 後ほど削除されます。 posted at 15:40:56

  • 佐川急便の人が配送してくれた ThinkPad X61 をセットアップする。 posted at 14:41:20

  • woke up... posted at 14:38:07

  • 眠い... 仮眠するか ? posted at 08:27:51

  • Amazon S3 がネットワーク的に遠いから Jungle Disk でファイルをやりとりするとき時間かかるっぽいな。 posted at 06:30:04

  • 疲れた... posted at 06:10:20

  • シャワる。 posted at 04:22:13

  • Jungle Disk : http://www.jungledisk.com/ is an online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files. posted at 04:04:21

  • 勉強タイム posted at 03:03:42

  • IDrive が提供するプラン "IDrive Pro" : http://bit.ly/6qlKQ を契約すると USD 14.95 per month で 500 GB のスペースを利用できる。自分の場合、これくらいの容量で充分だ。 posted at 02:18:36

  • オンラインストレージサービスを比較している。海外のサービスを検索すると、そこそこ安い価格で大きな容量を提供してくれるようだ。 posted at 02:12:22

  • "リアル" の 9 巻を買い忘れていたので注文したが Temporarily out of stock だとさ... http://www.amazon.co.jp/dp/408877762X/ posted at 00:39:25

  • UG01OK と UD01OK のソフトウェアをアップデートした。 posted at 00:35:06

12/29/2009


  • 14 時くらいに佐川急便の人が ThinkPad を配送してくれた。

  • IDrive のサービスを利用しようか迷ったが、結局 Jungle Disk のサービスを利用してみることに。

  • Ubuntu で利用できる deb パッケージが用意されている点も大きかった。

  • IDrive の場合 Linux から利用できなさそうだし、かつ、シェアする台数が限定されている点も考慮した。


Monday, December 28, 2009

Today's Tweets (12/28/2009)

12/28/2009


  • UG01OK と UD01OK のソフトウェアをアップデートした。

  • Windows からのみアップデートできる?ため、手間だった。

  • Windows のロケールを US に設定していたためか、UD01OK のソフトウェアをインストールできなかった。

  • ロケールを日本に戻して UD01OK のソフトウェアをインストールできた。

  • せめて US ロケールにも対応してほしい。

Sunday, December 27, 2009

Today's Tweets (12/27/2009)


  • 20 GB オーバーのファイル群を Dropbox のディレクトリへ移動した。同期ナウ posted at 23:55:48

  • changed my currency from EUR to USD at skype.com. posted at 23:46:35

  • Ergotron の "Neo-Flex LCD アーム" : http://bit.ly/89fjtr を検討するなど。 posted at 23:33:16

  • http://bit.ly/8TtnPX によると Lenovo ThinkVision L220x Wide Monitor の重量は 7.7 kg らしい。 posted at 23:20:25

  • アームの購入を検討してみる。ちなみに液晶モニタは Lenovo ThinkVision L220x だ。 posted at 22:46:57

  • @cheshireCats なるほど、アームですか!まったく考えていませんでした。検討してみますっっっ。 posted at 22:34:18

  • 液晶モニタをどかしたら、卓上のフリースペースがかなり広くなった。処分するか... 数回ほどしか使用していないが。 posted at 19:39:48

  • THE BODY SHOP にてボディローションを購入した。 posted at 15:59:48

  • 北千住ナウ posted at 15:38:06

  • そろそろ寝る。 posted at 06:42:42

  • さて勉強する。 posted at 01:07:18

12/27/2009


  • 北千住へ。

  • THE BODY SHOP にて、ボディーローションを購入した。

  • 職場で使用する予定なり。

  • ポイントカードの有効期限は 1 年だった... expired

  • 空きプラスチックのリサイクルも中止したみたいで。

Saturday, December 26, 2009

Today's Tweets (12/26/2009)


  • ThinkPad X61 用のメモリ SDX667-2GX2/EC : http://www.amazon.co.jp/dp/B001BXWISC も注文した。 posted at 23:01:36

  • 安かったので ThinkPad X61 [7674AZ1] を注文した。価格は 64,990 円だった。 posted at 22:56:55

  • カフェでランチをいただくナウ posted at 14:32:15

  • すごく眠いわけじゃないが寝ないと生活リズムを狂わせてしまうので、寝る準備をする。 posted at 05:14:18

  • イー・モバイル公式ストアにて Pocket WiFi (D25HW) を注文した。 posted at 05:02:32

  • Amazon.co.jp にてポチポチと買い物をするなど。 posted at 04:32:11

  • 勉強 done posted at 04:12:56

  • おなかすいた... posted at 04:01:39

  • @MineAP have a good sleep ~~ posted at 03:20:36

  • さあ勉強の時間だ。 posted at 00:16:16

12/26/2009


  • カフェでランチした。

  • スタッフの人が、こちらを覚えているような?感じだった。

  • GENO で英語 OS & US キーボードの X61 が安く販売されていたので注文してしまった。

  • 勢いで Pocket WiFi (D25HW) も注文してしまった。


Friday, December 25, 2009

Today's Tweets (12/25/2009)


  • 年末年始の時間は貴重だ。 posted at 23:43:43

  • @haiju ただいまにゃー posted at 21:24:54

  • 人身事故... posted at 20:45:58

  • 帰る。 posted at 20:21:47

  • 納会ナウ posted at 18:25:09

  • 本日 18:00 から納会がスケジュールされている。 posted at 11:39:01

  • 寝る。 posted at 04:31:27

  • 断固たる決意... posted at 02:23:03

  • 何か食べる... posted at 01:46:56

  • スーパー... 数学タイム !! posted at 00:11:32

  • @haiju 虫歯なら治療してもらえば大丈夫だと思うけれど、動揺してるとマズいにゃー。 posted at 00:07:54

  • まぁ、しばらく Dropbox で十分か。"Pro 50" プランでいっぱいになったら "Pro 100" プランを契約しよう、そうしよう。 posted at 00:01:09

12/25/2009


  • 納会が開催されたが参加しなかった。

  • 20:30 ごろ職場を出たて自宅へ。




Thursday, December 24, 2009

Today's Tweets (12/24/2009)


  • Dropbox は、100 GB までみたいだしなぁ。 posted at 23:47:45

  • 自宅の各 PC に保存しているファイルをバックアップする、という用途で検討していたが、ちょっと無理そう。 posted at 23:45:32

  • Amazon S3 にデータを保存すると 50 TB まで $0.150 per GB らしす :: http://bit.ly/r967n posted at 23:40:29

  • 残業だし。 posted at 19:17:21

  • Apple schedules special event for Jan. 26, 2010 :: http://bit.ly/4PCKPc posted at 11:38:44

  • @rinarumi ところで... PC を選定する件、どうなりました? posted at 11:03:05

  • WinSCP 4.2.5 へ upgrade するなど。 posted at 10:28:49

  • 薬を飲んだ。風邪をひいてしまったような...。 posted at 09:59:05

  • 下り 13.61 Mbps 上り 2.01 Mbps でした。 posted at 03:48:05

  • UD03NA で接続しつつ http://speed.rbbtoday.com/ にて速度を確認してみる...。 posted at 03:43:33

  • 週末に UG01OK と UD01OK のソフトウェアを更新しよう :: http://bit.ly/5Althw posted at 02:01:45

  • GDB と戯れるなど。 posted at 01:15:23

12/24/2009


  • キャリア申請していた例の件で、アプリが不思議?な挙動を...。

  • 差し戻しされてしまった。

  • ベンダの担当者が外出してしまったので、どうにもならず。



Inspecting Crashes With GDB

SATOSHI ABE ON BLOG: Getting Started With GDB の続き。


このポストにおいて、プログラムのクラッシュを GDB で debug してみる。例として挙げるプログラム :
#include <stdio.h>

int array [2];

int main()
{
  array[0] = 0;
  array[1] = 1;
  printf("%d\n", array[0]);
  printf("%d\n", array[1]);
  printf("%d\n", array[10000]);
  return(0);
}


3 つ目の printf で segfault が発生する。実際に実行してみる :

% gcc -g -Wall -o HelloWorld.o HelloWorld.c
% ./HelloWorld.o
0
1
Segmentation fault
%


このぐらいの、短く、かつ、簡単なプログラムの場合、debugger を活用する意味もないが、とりあえず GDB を活用してみよう。キーワードは breakpoint と stepping だ。次の例において printf に breakpoint を指定している。debug している状況において、正確な行番号を特定できていない場合も考えられるだろう。

% gdb
(gdb) file HelloWorld.o
Reading symbols from /home/satoshiabe/Desktop/HelloWorld.o...done.
(gdb) break printf
Breakpoint 1 at 0x400418
(gdb) run
Starting program: /home/satoshiabe/Desktop/HelloWorld.o

Breakpoint 1, 0x00007ffff7abfb50 in printf () from /lib/libc.so.6
(gdb) step
Single stepping until exit from function printf,
which has no line number information.
0
main () at HelloWorld.c:10
10 printf("%d\n", array_a[1]);
(gdb) step

Breakpoint 1, 0x00007ffff7abfb50 in printf () from /lib/libc.so.6
(gdb) step

Single stepping until exit from function printf,
which has no line number information.
1
main () at HelloWorld.c:11
11 printf("%d\n", array_a[10000]);
(gdb) step

Program received signal SIGSEGV, Segmentation fault.
main () at HelloWorld.c:11
11 printf("%d\n", array_a[10000]);
(gdb) step

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) quit
%


breakpoint によって制御したフローを step コマンドで 1 行ずつ実行していく。これで、実際に segfault が発生する行を特定できる。

Wednesday, December 23, 2009

Today's Tweets (12/23/2009)


  • 指定した時間に、佐川急便の人が UD03NA : http://bit.ly/B2QPz を配送してくれた。 posted at 16:12:14

  • 寝る。 posted at 05:11:31

  • iPhone アプリを開発する案件で、別のフロアのチームが開発者を募集しているらしい。 posted at 03:57:38

  • 23 日の午前中、佐川急便の人が UQ の UD03NA を配送してくれる、はず。 posted at 03:10:45

  • あ、入力できた...。特別、設定を必要としなかった。そうか、そうなのか。 posted at 02:54:27

  • Emacs 23 in Ubuntu 9.10 の環境で日本語を入力したい... posted at 02:12:49

  • % sudo apt-get install emacs23 posted at 01:55:12

  • Emacs にて shell モードを起動しつつ ls -l を実行すると文字化けして結果が出力されてしまうが、どうしてなんだろう...。環境は Ubuntu 9.10 なり。 posted at 00:42:59

  • Emacs... posted at 00:20:50

12/23/2009


  • 午前中に佐川急便の人が UQ の機器を配送してくれた。

  • また寝て 15 時に目覚めた。

  • Emacs について復習

  • GDB について復習

  • スピード測定で下りの速度が早かった。

Inputting Japanese in Emacs 23 on Ubuntu Linux 9.10

ハマった、というか、まったく自分が知らなくてハマってしまったのでメモしておく。Ubuntu Linux 9.10 に Emacs 23 をインストールし、かつ、日本語を入力しよう、としたときの作業を記載する。

Ubuntu 9.10 の場合、例えば

% sudo apt-get install emacs

と実行すると Emacs 22 がインストールされてしまう。最新の stable は 23 らしいが、Ubuntu 9.10 で Emacs 23 のパッケージは universe で提供されている。したがって、universe リポジトリを有効にしつつ、明示的に Emacs 23 のパッケージをインストールする。

% sudo apt-get install emacs23

その後、インストールした Emacs を起動するが、日本語を入力するための作業は、Emacs を起動した後、

C-\

を実行し、表示される選択肢から Japanese を選択する。すると、日本語を入力でき、漢字なども入力できるモード?を有効にできる。

Tuesday, December 22, 2009

Today's Tweets (12/22/2009)

12/22/2009


  • 20:30 ごろで終了

  • 忘年会へ移動する人たちもちらほら(他のチーム

  • 例の作業を例の人に Fw した。正直、あの人の存在と対応に助かっている。

  • UD03NA を再配送してくれるよう依頼した。

  • Emacs 23 in Ubuntu 9.10 で日本語を入力するなど。

Monday, December 21, 2009

Today's Tweets (12/21/2009)


  • 眠い... posted at 22:25:44

  • 数学タイム posted at 18:44:03

  • Eucalyptus http://bit.ly/8Zm7T is an open-source infrastructure for the implementation of cloud computing on computer clusters. posted at 17:03:29

  • これまで放置してきた "ヒアリングマラソン" の CD-ROM を iTunes にインポートしている。 posted at 15:54:29

  • 活動を開始す。 posted at 15:27:45

  • 寝る。 posted at 04:31:16

  • 勉強 done posted at 03:25:47

  • カップラーメンを食べてしまった...。 posted at 02:38:59

  • 空腹ナウ... posted at 01:58:53

  • お勉強タイム posted at 00:51:31

  • 安いけれど遅い、遅いけれど安い...。 posted at 00:09:38

  • NS001U : http://bit.ly/2QS4sU で遊べるか考えている... posted at 00:07:16

12/21/2009


  • 仕事を休んだ。





Sunday, December 20, 2009

Today's Tweets (12/20/2009)


  • 忘年会の会場へ移動する。 posted at 15:54:19

  • ドメインを廃止するよう手続きしつつ、そのドメインで利用していた Google Apps の設定も変更した。 posted at 02:12:19

  • added "Working Effectively with Legacy Code" to my favorites in the Safari Books Online. posted at 01:51:32

12/20/2009


  • 3:30 pm に目覚めた...。

  • 5 pm から、原宿にて、前の会社の人と忘年会をした。

  • いつもの居酒屋を出た後、喫茶店で茶をいただいた。

  • 原宿の場合、店内もガヤガヤして騒がしかった。

  • 表参道の店を選択すべきだった。

Saturday, December 19, 2009

Today's Tweets (12/19/2009)


  • スーパー数学タイム posted at 20:33:25

  • 明日こそ職場で仕事をする。 posted at 18:27:09

  • リモート接続な環境における作業に限界を感じたので終了する...。 posted at 18:26:22

  • Google Apps のアカウントで Google Wave を利用できない? posted at 17:14:54

  • "UQ Step" コースを選択して "UD03NA" を契約した。 posted at 16:55:55

  • 寝坊してしまったので、出社せず、リモート接続で自宅から職場のマシンにログインして仕事をするなど。 posted at 15:35:17

  • activated my copy of Windows 7. posted at 15:32:39

12/19/2009


  • 設定していた目覚ました 8 am に鳴ったが、10 am に設定しなおして寝た。

  • 10 am の目覚ましでも...。

  • 2 pm に、ペリカン便の来襲で起床した。

  • リモート接続で作業してみるが、あれほど鈍い反応をされると、とても開発できる状態でなかった。


Friday, December 18, 2009

Today's Tweets (12/18/2009)


  • そろそろ寝る、かもしれない...。 posted at 03:54:25

  • "UQ WiMAX 端末 半額キャンペーン" だ...と... ? posted at 02:43:49

  • He said "Windows 7 ビルド 7600 この Windows のコピーは正規品ではありません". posted at 02:27:50

  • 出血... posted at 00:41:02

  • @haiju ただいまにゃー posted at 00:37:36

12/18/2009


  • 7 pm 過ぎで業務を終了した。





Thursday, December 17, 2009

Today's Tweets (12/17/2009)


  • 帰る!! posted at 23:17:17

  • 寝る。 posted at 04:39:01

  • うか様、かわゆす... : スタパブログ http://bit.ly/6ixzZj posted at 04:11:19

  • iPhone 3G 用に DRC-BT15 : http://bit.ly/8uvNLP を注文した。 posted at 04:00:43

  • 自宅のインターネット環境で、そこそこ頻繁に名前解決できなくなる現象が発生して困っている。 posted at 02:50:36

  • 職場の内線は固定なので、内線でコールされまくると自席から離れられない。そう感じた今日このごろ... posted at 02:31:29

12/17/2009


  • 23 時まで残業

  • 午前中から作業を開始して、実装およびテストまで完了させる予定だったが...。

  • 調査とか、直球で作業をアサインされると、自分の予定をまったく消化できない...。

  • ログを出力する処理で bug を発見してしまった...。


Wednesday, December 16, 2009

Today's Tweets (12/16/2009)

12/16/2009


  • 23 時まで残業した。

  • この時間まで残業していることが普通になりはじめている。

  • 問い合わせや、隣の人のサポートで、まったく自分の作業を処理できなかった。

  • Yahoo! Japan の公衆無線 LAN サービスを、申し込んでみた。以前、解約したサービスだが。

  • DRC-BT15を注文した。

Tuesday, December 15, 2009

Monday, December 14, 2009

Today's Tweets (12/14/2009)


  • そろそろ帰る... posted at 23:27:02

  • SQL Server 2005 と 2008 は、別サーバで運用されている。 posted at 22:36:49

  • SQL Server 2005 で運用しているデータベースのテーブルを SQL Server 2008 のデータベースへ copy したいが、どのように対応すべきだろうか...。 posted at 22:35:10

  • リリース作業 done posted at 11:57:16

  • リリース作業 ing posted at 11:34:40

  • "ibus-setup" を実行すると error が表示される件 (FreeBSD 8.0-R/amd64) posted at 00:47:18

12/14/2009


  • 23:15 ごろまで仕事をした。

  • 障害を発生させたリリースを再リリースした。




Sunday, December 13, 2009

Today's Tweets (12/13/2009)


  • たけのこの里を食べた。 posted at 23:45:55

  • 鼻水が出まくるので、薬を飲んだ。 posted at 23:05:58

  • 寝る。 posted at 06:25:58

  • 眠い... posted at 05:30:09

  • Google said "Your operating system(FreeBSD amd64) is not supported." when I tried to install Google Toolbar for Firefox... posted at 03:39:27

  • setting up a Japanese environment on FreeBSD 8.0-R. posted at 03:33:42

  • Xfce をインストールした。 posted at 02:59:14

  • インストールを完了した。続いて Handbook を確認しつつ環境を設定する。 posted at 01:51:43

  • HDD のリカバリ領域ごと Windows を削除しつつ... FreeBSD 8.0-R をインストール !! posted at 01:28:30

  • パームレストのシールから判断すると、この ThinkPad X61 に Windows Vista がインストールされているようだ。 posted at 01:07:49

  • burning an ISO image. posted at 00:46:21

  • ついに紛失していたメモリを発見したので、そのメモリを装着しつつ、キーボードを JIS から US へ交換した。去年の 3 月?に購入して、箱を開封すらしていなかった ThinkPad X61 の件。 posted at 00:43:00

12/13/2009


  • 目覚めた時刻は 5 pm だった...。

  • VMware Fusion にインストールした FreeBSD 8.0-R に Xfce をインストールし、日本語を入力できる環境を設定しようとしていて...

  • エラーが発生しまくる原因を確認したら disk full だった...。

  • 8 GB でなく 32 GB で VM を作成しなおして、再度、作業を実施した。

  • ibus-setup コマンドを実行すると Python がエラーを出力してしまい、どうも正常に設定できない様子で。

Saturday, December 12, 2009

Today's Tweets (12/12/2009)


  • 本日、自宅に近い場所にて人懐っこいネコと遭遇したので、しばらくの間そのネコと遊びました。幸せな時間を過ごせました。 posted at 23:45:46

  • @haiju スッキリしたにゃー posted at 23:36:30

  • 画像を更新するなど。 posted at 23:26:53

  • 散髪 ing posted at 11:55:52

  • 発見できず。寝る... posted at 05:31:54

  • 別の新品メモリ 2 GB x 4 のみを発見した... posted at 04:16:00

  • 2 年前くらい前に購入して放置していたメモリ、この部屋のどこかに...。どこだ !? posted at 03:45:52

  • updating VMware Fusion to the latest version... posted at 01:03:08

  • iPhone で取得した公衆無線 LAN のキャリア一覧を確認したところ、UQ も発見した。しかも "UQ Flat" の契約者は、無料で "UQ Wi-Fi" を利用できるらしい。とりあえず申し込みだけした。 posted at 00:50:31

  • 最近、地下で電車を待っている間、docomo の公衆無線 LAN サービスを利用して iPhone から Internet へ接続している。 posted at 00:48:32

12/12/2009


  • ついにメモリを発見したので、ThinkPad X61 (7675A24) に装着しつつ、キーボードを JIS から US へ変更した。

  • インストールされていた Windows Vista を、リカバリ領域も含めて削除した。すっきり

  • FreeBSD Handbook を参照しながら設定した。

  • 日本語を入力する環境を設定する一般的な手順を確認できず。

  • どうやら ibus を利用できそう。

Friday, December 11, 2009

Today's Tweets (12/11/2009)


  • いと恐ろしき金曜日のリリース... posted at 13:26:21

  • リリースおわた posted at 13:24:42

  • 寝ます... 6 時に起床する予定です... posted at 03:24:50

  • おうちにとうちゃくしますた。 posted at 00:51:20

12/11/2009


  • 23:00 まで残業した。

  • 同僚が設定した Apache HTTP Server の設定でハマった。




Thursday, December 10, 2009

Today's Tweets (12/10/2009)


  • また寝過ごした... posted at 23:37:36

  • そろそろ帰る... posted at 23:15:24

  • @_akko_ あれ、インストールできませんでしたか...。むぅ... posted at 10:03:14

12/10/2009


  • 23:00 過ぎまで残業した。

  • また寝過ごしてしまった。




Wednesday, December 09, 2009

Today's Tweets (12/09/2009)

11/09/2009


  • 寝不足だったので 23:00 に寝た。





Tuesday, December 08, 2009

Today's Tweets (12/08/2009)


  • そろそろ帰るか... posted at 23:03:34

  • 職場ナウ posted at 06:47:22

  • 最寄り駅にて電車を待つナウ。 posted at 06:03:26

  • 今夜の数学タイムは中止されました。 posted at 01:38:20

12/08/2009


  • データベースのメンテナンスを実施した。

  • 完全に準備不足だった。




Monday, December 07, 2009

Today's Tweets (12/07/2009)


  • やっと帰れる... posted at 23:32:09

  • そろそろ寝るか。8 am に起床する。 posted at 05:07:28

  • ドメインを廃止する手続きをし忘れていた...。更新されてしまう。 posted at 04:25:41

  • ふーむ... "MacBook Pro Core i5 and Core i7 Processors Rumored to Arrive in January" :: http://bit.ly/7j7ash posted at 03:27:05

  • 明日からの作業に必要な情報を収集している... posted at 03:25:51

  • 数学タイム done posted at 01:54:57

12/07/2009


  • 23 時まで残業した

  • 体調やばす...

  • 明日は 5 am 起床の予定



Sunday, December 06, 2009

Today's Tweets (12/06/2009)


  • 数学タイム posted at 22:30:30

  • スーパー爆睡タイム posted at 07:32:57

  • installed NYTimes on iPhone. posted at 06:47:57

  • 今日こそ ThinkPad X61 に FreeBSD をインストールするんだ!って、とりあえず、7 am になったら寝る準備を...。 posted at 06:42:14

  • docomo の公衆無線 LAN サービスを申し込んでみた。しっかし、面倒な申し込みをさせるわ、設定する内容を確認しずらいわで、非常に苦痛だった。 posted at 06:28:53

12/06/2009


  • 17:00 に起床した...。

  • 第 2 章を終了したので、明日から新しい章を学習する。数学の話。




Saturday, December 05, 2009

Today's Tweets (12/05/2009)

12/05/2009


  • 結局、忘年会に参加せず。





Friday, December 04, 2009

Today's Tweets (12/04/2009)


  • ふむふむ... "MINIX is a Unix-like computer operating system based on a microkernel architecture..." :: http://bit.ly/5zFOlg posted at 03:32:17

  • 今週、自宅で全く勉強していないが、明日から再開する。 posted at 03:25:08

  • もう少し限定して OSS の話題を中心に取り扱っているサイトと言えば... posted at 03:09:01

  • IT 系の話題が多く取り扱われているサイトと言えば...、どこだろうか。CNET とか? posted at 03:08:12

  • 英文ニュースの閲覧を日課としたい。 posted at 03:05:46

  • installed Times Reader 2.0 posted at 03:02:04

  • まさか、そこが障害の原因だったとは...。 posted at 01:08:49

12/04/2009


  • 仕事を休んだ。

  • 十分に寝た。




Thursday, December 03, 2009

Today's Tweets (12/03/2009)

12/03/2009


  • 障害の原因を特定できなかったため、部分的にコメントアウトしつつ、絞り込みをしてみた。

  • まさかまさかの部分に...。

  • ただし、最終的に行まで特定できなかったので M さんに相談してみた。

  • 他のチームに所属している人だから、客観的な意見をもらえればよい、と思っていたが、原因を特定できた。

  • 障害報告書を作成するなど。

Wednesday, December 02, 2009

Today's Tweets (12/02/2009)


  • リリースしたプログラムによりシステム障害を発生させてしまった...。 posted at 23:21:57

11/02/2009


  • 午前中に本番リリースしたプログラムに bug が存在してるっぽい。





Tuesday, December 01, 2009

Today's Tweets (12/01/2009)

12/01/2009


  • 忙しすぎ...

  • 22:45 まで残業

  • 久々に寝過ごしてしまった

  • 明日の午前中にリリースを予定している


Monday, November 30, 2009

10/30/2009


  • 22:45 まで残業した。

  • 忙しかった。




Sunday, November 29, 2009

11/29/2009


  • 10:30 に起床

  • 職場へ

  • 18:00 で終了

  • bug だと思っていた件は、勘違いだった。

  • 明日から更に忙しくなる予定だったりして...。

Saturday, November 28, 2009

11/28/2009


  • 何度か目覚めたが、最終的に起床した時刻は 17:00 ごろだった。





Friday, November 27, 2009

11/27/2009


  • 23:00 過ぎまで残業した。

  • FreeBSD 8.0-R を VMware にインストールした。




Thursday, November 26, 2009

11/26/2009


  • 食い終わったガムがノートの裏に...

  • 下の階の人と打ち合わせ

  • 例の機能で、ダウンロードできない理由を特定した。

  • 21:30 まで残業

  • 2 日ぶりに数学を。

Wednesday, November 25, 2009

11/25/2009


  • 体調が回復せず。

  • 寝た。




Tuesday, November 24, 2009

11/24/2009


  • 過度な寝不足が顔にあらわれていたので寝た。





Euclidean Algorithm

あとでかく

Euclidean Algorithm

Monday, November 23, 2009

11/23/2009


  • 16 pm ごろ起床





Sunday, November 22, 2009

11/22/2009


  • 16 pm 過ぎに起床





pdumpfs

あとでかく

Saturday, November 21, 2009

11/21/2009


  • 起床したら Windows 7 Ultimate (English) のダウンロードに失敗していた。

  • 再度、ダウンロードを実行し、やっとダウンロードできた。

  • 22 日の 8 am ごろに寝た。



Friday, November 20, 2009

11/20/2009


  • 2 pm ごろに出社

  • 7:30 pm ごろに会社を出た。

  • 飲み会に参加した。それほど盛り上がれず。



Thursday, November 19, 2009

11/19/2009


  • 睡眠不足

  • 予定していなかったミーティングに招集された。

  • 障害のような出来事

  • 21:30 で終了


Wednesday, November 18, 2009

11/18/2009


  • 問い合わせの問題を解決する手順を、隣の人におしえた。

  • 体調的に 21:30 で終了...。

  • 頻繁に話かけられると、ちと...、と感じなくもない。



Tuesday, November 17, 2009

11/17/2009


  • 何もせず寝た。





Monday, November 16, 2009

11/16/2009







Ordered ThinkPad X200

1 年半ぶりぐらいに ThinkPad を購入した。主な構成の情報は、以下のとおり。クーポンを適用して 99,042 円だった。

ThinkPad X200 (7454CTO)
Intel Core 2 Duo Processor P8600 (2.40GHz 1066MHz 3MBL2)
Windows Vista Professional 64-bit
12.1 inch (WXGA)
4GB PC3-8500 DDR3 (2GB x 2)
内蔵指紋認証リーダー
320GB HDD (5400rpm)
Intel WiFi Link 5300 (802.11a/b/g/n)
X200 6セル拡張バッテリー
英語キーボード
ウルトラベース

Sunday, November 15, 2009

11/15/2009


  • 07:30 am ごろに寝た、はず。

  • 16 時に起床...。

  • ずっと手をづけずにいた作業、サブデスクを解体した。

  • ThnkPad X200 を注文した。


Saturday, November 14, 2009

11/14/2009


  • 2 日ぶり?に数学を学習した。

  • 本家 ISO イメージにてインストールした Ubuntu 9.10 において日本語を入力するための設定を確認した。

  • 07:30 am ごろに寝た。



Friday, November 13, 2009

11/13/2009


  • 22:45 まで残業した。

  • 綾瀬の松屋で夕食を食べた。

  • 傘をもっていなかったので、濡れてしまった。

  • VMware Fusion にインストールした Windows 7 から職場へのリモート接続に成功した。

  • これで唯一の Windows マシンのネットブックを起動せずに仕事できる。

Thursday, November 12, 2009

Wednesday, November 11, 2009

10/11/2009


  • 自分でも気づいていたが、他人にも指摘されてしまった。悪いですよ、顔色。と。

  • そろそろ限界かも。




Tuesday, November 10, 2009

11/10/2009


  • ドメイン satoshiabe.{com,net,org} を更新した。

  • 物理の問題集を注文した。




かまぼこ

職場から自宅へ移動していた 11:30 pm ごろ、コンビニで かまぼこ を購入し、彼らが集合する例の場所へ移動した。いつもなら警戒し近づいてこないが、私が *それ* を持っていると気づくと、まったく逃げず近づいてきた。

その後、小さくちぎって与えたが、彼らは全く食べなかった。周囲を確認したところキャットフードを発見した。既に誰かが...。食べてもらえず残念だったが、彼らが食べ物にありつけているようで安心した。

Monday, November 09, 2009

11/09/2009


  • 昨夜 05:00 am 過ぎまで活動していたので...。

  • 新リーダーと軽く打ち合わせした。

  • ドキュメントを更新して報告したが小さくミスった。

  • 22:00 まで残業。

  • かまぼこ事件

Sunday, November 08, 2009

11/08/2009


  • 昨晩 6 am 近くに寝たせいか、目覚めたら 3 am 近かった。

  • 今夜も数学を学習した。




Saturday, November 07, 2009

11/07/2009


  • カフェで昼食

  • 日本シリーズ




Friday, November 06, 2009

11/06/2009


  • 牛タン





Thursday, November 05, 2009

11/05/2009


  • 内定のお知らせ...

  • 21:00 まで残業

  • 薬のせいで、おなかの調子が悪い悪い...



Wednesday, November 04, 2009

11/04/2009


  • 通常どおりに出社

  • 11:30 - 13:00 で全体ミーティング

  • 遅れて会議室に到着したら立ち見

  • しかし 30 分ほど経過したあたりで悪い気分となり退場

  • PC 移行の件で、担当者が私に期日を確認した。

  • 結局、移行した。

  • リモートアクセスの申請書を書くなど。

  • 21:00 過ぎに退場

  • 知人が 52 F へ異動したそうな。

  • カーネル勉強会を発見したが開催が 5 日だそうで。

Tuesday, November 03, 2009

11/03/2009


  • 目覚めたら 14:00 だった。

  • 薬が効いたのか、胸のあたりで感じていた息苦しさを感じなくなった。

  • ただし、依然として頻繁にセキをしてしまう。

  • 忘れかけていた Ubuntu Linux 9.10 を VMware Fusion 3 にインストールした。

  • 日本語を入力する設定が、劇的に簡易化されていた。

Packages I always install in Ubuntu Linux

Packages I always install in Ubuntu Linux の内容が古くなったので。9.10 以降の場合。

% sudo apt-get update
% sudo apt-get install \
  ntp ssh build-essential openjdk-6-jdk \
  subversion mercurial git-core \
  emacs23

// VMware Server
% sudo apt-get install \
  linux-headers-`uname -r` xinetd

Ubuntu Linux 9.10 Installation Notes

Ubuntu Linux 9.10 の Installation Notes を記述する。と言っても、以前から簡単にインストールできる distribution であるため、特別、説明する必要を感じない。ひとつだけ言及すると、今回のリリースから?、簡単に設定できるようになった、日本語を入力するための環境を。具体的に iBus をインストールして使用する。

本家または本家をミラーしているサイトから ISO イメージをダウンロードし Ubuntu 9.10 をインストールすると、当然ながら日本語を入力できない。そのため、日本語を入力するための環境を設定する。設定するための作業は以下のとおり :


1 :
デスクトップ画面の上部に表示されているメニューから [System] ---> [Preferences] ---> [IBus Preferences] を選択すると、[IBus Preferences] ウィンドウが表示される。

2 :
[Input Method] タブを選択し、[Select an input method] から [Japanese] ---> [anthy] を選択して [Add] ボタンをクリックする。

3 :
[IBus Preferences] ウィンドウを close する。テキストエディタなどを起動し [Control] キーを押しながら [Space] キーを押すと、小さなバーが表示される。そのバーの [EN SPELL] という部分をクリックすると [Japanese - anthy] を選択できるので、選択したら、日本語を入力するモードを有効にできる。

Monday, November 02, 2009

11/02/2009


  • 仕事を休んだ。

  • 14:00 過ぎまで寝た。

  • 久しぶりに母親へ電話した。

  • 15:30 ごろ、内科へ。

  • 気管支炎っぽい。

  • Windows 7 Ultimate 64-bit を VMware Fusion 3 にインストールした。

Sunday, November 01, 2009

11/01/2009


  • SoftBank ショップにて、支払いのクレジットカードを変更する手続きをした。

  • TechNet Plus Subscription を契約した。




Saturday, October 31, 2009

10/31/2009


  • 11:30 pm くらいから、キャリアが設定を更新するタイミングで、担当しているサイトにおいても設定を更新する作業を実施する予定なり。





Friday, October 30, 2009

10/30/2009


  • 目覚めたら、激しい痛みをノドに感じた。完全に風邪だった。

  • とりあえず本番へリリースできた。

  • これまでになく入念に準備したので、ささっと作業できた。

  • PC のリプレースを完了できず。

  • NTT の工事を担当する人が電話をしてきた。なぜに...。

Thursday, October 29, 2009

10/29/2009


  • β サイトに反映したが、テストしてもらえなかった。





Wednesday, October 28, 2009

10/28/2009


  • 最終面接の日

  • ほとんど条件の話だけ

  • 予定より早く終了したため自宅へ戻り、ついでに銀行で、紛失したカード類の手続きした。



Tuesday, October 27, 2009

10/27/2009


  • データベースのメンテナンスを対応するため 07:30 に出社した。

  • iD と WAON とキャッシュカード一体型のクレジットカードを紛失していたらしい...。




Monday, October 26, 2009

Sunday, October 25, 2009

10/25/2009


  • 二日酔いのためかダラダラしてしまった。





Saturday, October 24, 2009

10/24/2009


  • 午前中、北千住でコンタクトレンズを購入した。

  • 自宅に戻り、昼食を済ませた後、また北千住へ。ジーンズを購入した。

  • 自宅へ戻るため綾瀬に到着したら雨が降ってきた。

  • 18 時ごろに池袋へ移動するために自宅を出発した。

  • 自社で知人と会い、その後、麻生十番へ移動した。

  • 貸し切りの店内で 3 時間ほど飲み食いした。

  • その後、クラブへ移動して朝まで遊んだ。

  • ジョナサンで始発を待ちつつ、朝食を食べた。

  • フラフラしつつ駅へ移動した。溜池山王で千代田線へ乗り換えた。その後、爆睡した。

  • 自宅に到着し、歯磨きをしようとしたら吐いた。その後、シャワーを浴びて寝た。

Friday, October 23, 2009

10/23/2009


  • 仕事の後に社長と会って、話をしようと考えた。

  • 社長は、予定アリで会えないらしい。

  • 結局、自分も終電に近い時間帯まで仕事をしてしまった。

  • 新しいマシンが支給されたが、作業できず、そのまま放置している。


Thursday, October 22, 2009

10/22/2009


  • リリースした。





Wednesday, October 21, 2009

10/21/2009


  • リリースする予定だったが、不具合が発見されてしまい、リリースできなかった。





Tuesday, October 20, 2009

10/20/2009


  • データベースのメンテナンスを対応するため 05:30 am に起床した。





Monday, October 19, 2009

10/19/2009


  • 自宅で寝ずに朝まで仕事をし、そのまま出社した。





Sunday, October 18, 2009

10/18/2009


  • 仕事 10:30 - 18:00

  • 自宅に戻りシャワーを浴びた。

  • その後、自社@池袋へ移動したら、既にビルが閉まっていて、入館できなかった。

  • しかたなく自宅へ戻り、自宅で作業を開始した。


大学

社会人をサポートしている大学(発見できた大学のみ記載

KEYWORDS:
大学 社会人 夜間 理工 コンピュータサイエンス

東京電機大学 :: 工学部第二部

先端工学基礎課程 | 電気通信大学

東京理科大学 | 入学案内 | 大学入試

Saturday, October 17, 2009

10/17/2009


  • 仕事 10:30 - 17:00

  • 大学へ進学するかどうかの件で tweet している人にアドバイスをいただけた。




Friday, October 16, 2009

Thursday, October 15, 2009

10/15/2009


  • got an invitation to Google Wave.





Wednesday, October 14, 2009

10/14/2009


  • 面接の予定





Tuesday, October 13, 2009

10/13/2009


  • ヒアリングマラソンの契約を更新した。

  • 23:00 過ぎまで残業...

  • 明日のスケジュールを通知しているはずなのに、そのアサインって...。



Monday, October 12, 2009

10/12/2009


  • 夕食にラーメンを食べた。





Sunday, October 11, 2009

10/11/2009


  • あれしきの酒を飲んだだけで二日酔い?





Saturday, October 10, 2009

10/10/2009


  • 二子玉川の河川敷で開催された、職場メンバーとのバーベキュー会に参加した。

  • 11:30 に改札の前で待ち合わせだったが、到着した時刻は 11:45 だった。

  • ほとんど知らない人ばかりで。

  • 暗くなるまで現地でワイワイした。


Friday, October 09, 2009

10/09/2009


  • 23:00 過ぎまで残業だった。

  • 既存のドキュメントをベースに必要な部分を更新したら、不足しているという指摘をいただいてしまった。

  • やっと正式にコーディングを開始できる。

  • 明日 BBQ に参加するので、日曜日と月曜日で終了させたい。

  • このままだと、カーネル読書会に参加できなくなってしまう。

Thursday, October 08, 2009

10/08/2009


  • 悪すぎる体調

  • 23:30 ごろに就寝...




Solved : Why `Segmentation fault' occurs in C

void pointer について検索していたら対処を発見した。malloc を使用するらしい。

#include <stdio.h>
#include <stdlib.h>

int main()
{
//int thing = 2;
//printf("Thing %d\n", thing);
int *thing_ptr;
thing_ptr = (int *) malloc(sizeof(int));
*thing_ptr = 3;
printf("Thing %d\n", *thing_ptr);
return (0);
}

Why `Segmentation fault' occurs in C

これだと
#include <stdio.h>

int main()
{
int thing = 2;
printf("Thing %d\n", thing);
int *thing_ptr;
*thing_ptr = 3;
printf("Thing %d\n", *thing_ptr);
return (0);
}


正常で
% gcc -g -Wall -o example01 ./example01.c 
% ./example01
Thing 2
Thing 3
%


なぜ、これだと
#include <stdio.h>

int main()
{
//int thing = 2;
//printf("Thing %d\n", thing);
int *thing_ptr;
*thing_ptr = 3;
printf("Thing %d\n", *thing_ptr);
return (0);
}


こうなる?
% gcc -g -Wall -o example01 ./example01.c 
% ./example01
Segmentation fault
%

Wednesday, October 07, 2009

10/07/2009

Tuesday, October 06, 2009

10/06/2009


  • プロジェクトに重要な課題が発見されてしまった。

  • VMware on Ubuntu な環境で FreeBSD 7.2-RELEASE に Xfce ベースのデスクトップ環境を設定した。

  • それほどリソースを割り当てていないため、鈍い反応だが、それなりに活用できそう。

  • 普段 X な環境を必要としないので、この環境で学習しよう。


FreeBSD 7.2-RLEASE Installation Notes

Preface



自分が FreeBSD のインストレーションを覚えられた理由は、日本語の FreeBSD 本が存在したからだが、その FreeBSD 本をベースにした内容に、やや古さを感じるようになった、やはり FreeBSD Handbook ベースで作業できると better なので、簡単にまとめる。

// 一度、途中まで書きかけたファイルを削除してしまったので適当な内容に...

Installing FreeBSD



省略

After rebooting



% su -
# mv /var/tmp/* /tmp
# rm -fr /var/tmp
# ln -s /tmp /var/tmp



# vi /etc/ntpd.conf
server ntp.jst.mfeed.ad.jp
server 127.0.0.1
driftfile /etc/ntp/ntp.drift
logfile /var/log/ntpd.log

# vi /etc/rc.conf
ntpd_enable="YES"

Installing a Package



# pkg_add -r lsof

Obtaining the Ports Collection



CVSup Method


Make sure /usr/ports is empty before you run csup for the first time! If you already have the Ports Collection present, obtained from another source, csup will not prune removed patch files.

# csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

Portsnap Method



# portsnap fetch

# portsnap extract

If you already have a populated /usr/ports and you are just updating, run the following command instead:

# portsnap update

Sysinstall Method



Installing Ports



# cd /usr/ports/sysutils/lsof
# make install clean

Upgrading Ports



/usr/ports/UPDATING

portupgrade



portmanager



Installing X11



# cd /usr/ports/x11/xorg
# make install clean

OR

# pkg_add -r xorg

% startx

Starting with version 7.4, Xorg can use HAL to autodetect keyboards and mice. The sysutils/hal and devel/dbus ports are installed as dependencies of x11/xorg, but must be enabled by the following entries in the /etc/rc.conf file:

hald_enable="YES"
dbus_enable="YES"

Configuration of X11 is a multi-step process. The first step is to build an initial configuration file. As the super user, simply run:

# Xorg -configure

The next step is to test the existing configuration to verify that Xorg can work with the graphics hardware on the target system. In Xorg versions up to 7.3, type:

# Xorg -config xorg.conf.new

Starting with Xorg 7.4 and above, this test produces a black screen which may make it difficult to diagnose whether X11 is working properly. The older behavior is still available by using the retro option:

# Xorg -config xorg.conf.new -retro

If all is well, the configuration file needs to be installed in a common location where Xorg(1) can find it. This is typically /etc/X11/xorg.conf or /usr/local/etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

Desktop Environments



Installing Gnome



# pkg_add -r gnome2

Installing Xfce



# pkg_add -r xfce4

% echo "/usr/local/bin/startxfce4" > ~/.xinitrc

% startx

Installing Applications



Installing Firefox



# pkg_add -r firefox3

Enabling Flash Plugin with Firefox



// TODO

Installing Opera



# pkg_add -r opera

TODOs



- fonts
- OpenOffice.org
- Wireless Connection Setting
- Japanese Input

Using portsnap

# portsnap fetch

# portsnap extract

# portsnap update

# portsnap fetch update


--
Portsnap: A Ports Collection Update Tool

Monday, October 05, 2009

10/05/2009


  • 先方に面接の日程をメールした。

  • 19:30 で仕事を終わった。

  • NTT 東日本の担当者が工事日について連絡してきた。

  • 先日、マンションの管理会社の担当者が、「オーナーが無理って言ってます」と、断られたんですけれど...。


Sunday, October 04, 2009

10/04/2009


  • 大塚で開催された 2 次会に参加した。

  • 3 次会も参加した。

  • 休日までも、職場のことをネタにされると、さすがに悪い気分だ。

  • つーか、それしか話題ないの?みたいな。


Saturday, October 03, 2009

10/03/2009


  • よろしくない体調だった。





Friday, October 02, 2009

10/02/2009


  • 秘密裏に進めていた仕事を発見されてしまい、

  • なぜかブロードキャストされてしまい、

  • 結果的に怒られてしまうハメに。



Thursday, October 01, 2009

10/01/2009







雑談 :: IT 関連の情報を配信しているサイト

たいてい毎日、自分は IT 系のニュースを確認するため、主に以下のサイトを閲覧している。

- http://ascii.jp/
- http://japan.cnet.com/
- http://journal.mycom.co.jp/
- http://www.itmedia.co.jp/

国内のニュースであれば、これらのサイトで入手できる情報で十分だ。ただ、国外の動向を、より早く認識したいため、今後、海外のサイトも確認していこうと考えている。

とりあえず、CNET japan の source である

- http://www.cnet.com/

から読みはじめようと考えている。ただし、普段から海外のニュースを閲覧している人たちは、どこのサイトを確認しているだろうか?自分の周囲に、それらしき活動をしている人間は存在しないため、質問しようにも質問できずにいる。誰か、おすすめのサイトを紹介していただけるだろうか?

Wednesday, September 30, 2009

09/30/2009


  • 23:00 まで残業

  • 席替えらしい

  • 3 島ほど移動する予定

  • 本日で何名かの人材が退社するようだ

  • 外部スタッフの挨拶は不要でしょう

Tuesday, September 29, 2009

09/29/2009


  • 今日も 22:30 過ぎまで残業した。

  • 12:00 過ぎまで、昨日と同一の作業を対応した。

  • その後、既存のドキュメントを更新した。

  • その後、本来の作業のドキュメントを更新した。

  • ちょっぴり先走ってコーディングを開始した。

Monday, September 28, 2009

09/28/2009


  • 金曜日の夜にメールを受信していたらしく、朝から対応に追われた。

  • 任意で参加だったはずの会議に出席することに。

  • その後、ずっと 22:30 ごろまで対応していた。

  • もっとも大きな原因は、担当者が設定ミスしていたためだった。

  • バグっぽい現象も確認したが、原因を特定できなかった。

Sunday, September 27, 2009

09/27/2009


  • 昨日も同様の症状だったが、突然、寒気を感じて鳥肌となるなどした。

  • PAM について、ほんの少しだけ学習した。

  • キムチ鍋



Enabling cracklib support on Ubuntu

Installation



ユーザのパスワード管理を強化するため cracklib サポートを有効にしてみる。環境は Ubuntu 9.04 Server 32-bit であり VMware Server で起動している。まず、モジュールをインストールする。

% sudo apt-get install libpam-cracklib



モジュールは /lib/security ディレクトリにインストールされる。もし 64-bit バージョンの Ubuntu を利用しているなら /lib64/security ディレクトリにインストールされるはずだ。

% ls -l /lib/security/pam_cracklib.so 
-rw-r--r-- 1 root root 13616 2009-09-04 03:04 /lib/security/pam_cracklib.so
%


Examples



次は libpam-cracklib をインストールする前の /etc/pam.d/common-password ファイルの記述だ。

% grep -v '\(^#\)\|\(^[   ]*$\)' /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure sha512
password requisite pam_deny.so
password required pam_permit.so
%


libpam-cracklib をインストールすると /etc/pam.d/common-password ファイルは、以下のように更新される。

% grep -v '\(^#\)\|\(^[   ]*$\)' /etc/pam.d/common-password 
password requisite pam_cracklib.so retry=3 minlen=8 difok=3
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
password requisite pam_deny.so
password required pam_permit.so
%


更新された内容について調査する場合、

% man 7 pam





% man 5 pam.conf





% man 8 pam_cracklib



などを参照すること。

How to change your shell prompt

satoshiabe@ubuntu-0904-server-i386-1:~$ uname -a
Linux ubuntu-0904-server-i386-1 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 i686 GNU/Linux
satoshiabe@ubuntu-0904-server-i386-1:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
satoshiabe@ubuntu-0904-server-i386-1:~$ export PS1=%\
% echo 'Hello, world!'
Hello, world!
%

Debugging Bash scripts

% /bin/bash -x ./do_something.bash

Saturday, September 26, 2009

09/26/2009


  • 10:00 AM : NTT 東日本の担当者から電話あり。この電話で目覚めた。

  • OCN へ電話した。

  • NTT 東日本の担当者へ電話した。折り返しを待つ。

  • OCN の担当者から電話あり。30 日までに連絡をほしい、と。

  • NTT 東日本の担当者から電話あり。オーナーが "OK" と回答すれば連絡をもらえる予定だ。

  • PAM について調査した。

  • K-1 の試合を観戦した。

  • 風邪っぽいので、薬を飲んだ。

Understanding Linux-PAM

Preface



これは、自分が PAM (Pluggable Authentication Modules) を理解すべく、情報をまとめたポストだ。





Introduction



普段から Linux ディストリビューションを操作したりする人は、"PAM" という単語を聞いて、それが Linux に関係する技術的な用語だと理解できるはずだ。ただし、はたしてどれくらいの人が、正確に理解しているだろうか。少なくとも、自分は理解していなかった。私が理解していた内容といえば、

認証で利用できる機能を提供してくれる何か

くらいであった。最近 OpenLDAP を頻繁に操作している途中で、OpenLDAP のバックエンドデータベースに保持しているユーザ情報により、Linux ホストにログインさせたりするため PAM や NSS を操作したいた。途中、自分が理解していないことが多すぎると感じたため、ちょうどよい機会だと考えた。

簡単にまとめると、個々のアプリケーションが、それぞれ認証ロジックを用意せず、提供される PAM を利用すると幸せになれますよ、と。とりあえず man を確認してみるべく

% man pam



を実行したところ

This manual is intended to offer a quick introduction to Linux-PAM. For more information the reader is directed to the Linux-PAM system administrators´ guide.



と記載されている。





Configuration



pam.conf により設定する方法は、out of date のようだ。

/etc/pam.conf



このマシン Ubuntu 9.04 Server 32-bit における、デフォルトの pam.conf は、以下の内容で記述されている。

# ---------------------------------------------------------------------------#
# /etc/pam.conf #
# ---------------------------------------------------------------------------#
#
# NOTE
# ----
#
# NOTE: Most program use a file under the /etc/pam.d/ directory to setup their
# PAM service modules. This file is used only if that directory does not exist.
# ---------------------------------------------------------------------------#

# Format:
# serv. module ctrl module [path] ...[args..] #
# name type flag #


"#" は、コメントアウトを意味するため、すべての行がコメントアウトされている。NOTE という部分に記述されているが、このファイル pam.conf は、/etc/pam.d ディレクトリが存在しない場合のみ使用される。

Directory based configuration - /etc/pam.d



これも Ubuntu 9.04 Server 32-bit であり、デフォルトの /etc/pam.d ディレクトリに保存されているファイルだ。

% ls -l /etc/pam.d
total 60
-rw-r--r-- 1 root root 182 2009-04-17 16:53 atd
-rw-r--r-- 1 root root 384 2009-04-04 14:42 chfn
-rw-r--r-- 1 root root 581 2009-04-04 14:42 chsh
-rw-r--r-- 1 root root 1208 2009-09-26 14:36 common-account
-rw-r--r-- 1 root root 1221 2009-09-26 14:36 common-auth
-rw-r--r-- 1 root root 1440 2009-09-26 14:36 common-password
-rw-r--r-- 1 root root 1201 2009-09-26 14:36 common-session
-rw-r--r-- 1 root root 289 2008-11-13 00:47 cron
-rw-r--r-- 1 root root 3592 2009-04-04 14:42 login
-rw-r--r-- 1 root root 520 2009-03-21 18:28 other
-rw-r--r-- 1 root root 92 2009-04-04 14:42 passwd
-rw-r--r-- 1 root root 168 2009-02-21 02:24 ppp
-rw-r--r-- 1 root root 1272 2009-01-29 05:58 sshd
-rw-r--r-- 1 root root 2305 2009-04-04 14:42 su
-rw-r--r-- 1 root root 119 2009-02-17 12:22 sudo
%


"login" ファイルの内容が、どのように記述されているかを確認してみる。

% cat /etc/pam.d/login 
#
# The PAM configuration file for the Shadow `login' service
#

# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000

# Outputs an issue file prior to each login prompt (Replaces the
# ISSUE_FILE option from login.defs). Uncomment for use
# auth required pam_issue.so issue=/etc/issue

# Disallows root logins except on tty's listed in /etc/securetty
# (Replaces the `CONSOLE' setting from login.defs)
auth [success=ok ignore=ignore user_unknown=ignore default=die] pam_securetty.so

# Disallows other than root logins when /etc/nologin exists
# (Replaces the `NOLOGINS_FILE' option from login.defs)
auth requisite pam_nologin.so

# SELinux needs to be the first session rule. This ensures that any
# lingering context has been cleared. Without out this it is possible
# that a module could execute code in the wrong domain. (When SELinux
# is disabled, this returns success.)
session required pam_selinux.so close

# This module parses environment configuration file(s)
# and also allows you to use an extended config
# file /etc/security/pam_env.conf.
#
# parsing /etc/environment needs "readenv=1"
session required pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session required pam_env.so readenv=1 envfile=/etc/default/locale

# Standard Un*x authentication.
@include common-auth

# This allows certain extra groups to be granted to a user
# based on things like time of day, tty, service, and user.
# Please edit /etc/security/group.conf to fit your needs
# (Replaces the `CONSOLE_GROUPS' option in login.defs)
auth optional pam_group.so

# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on logins.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account requisite pam_time.so

# Uncomment and edit /etc/security/access.conf if you need to
# set access limits.
# (Replaces /etc/login.access file)
# account required pam_access.so

# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so

# Prints the last login info upon succesful login
# (Replaces the `LASTLOG_ENAB' option from login.defs)
session optional pam_lastlog.so

# Prints the motd upon succesful login
# (Replaces the `MOTD_FILE' option in login.defs)
session optional pam_motd.so

# Prints the status of the user's mailbox upon succesful login
# (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
#
# This also defines the MAIL environment variable
# However, userdel also needs MAIL_DIR and MAIL_FILE variables
# in /etc/login.defs to make sure that removing a user
# also removes the user's mail spool file.
# See comments in /etc/login.defs
session optional pam_mail.so standard

# Standard Un*x account and session
@include common-account
@include common-session
@include common-password

# SELinux needs to intervene at login time to ensure that the process
# starts in the proper default security context. Only sessions which are
# intended to run in the user's context should be run after this. (When
# SELinux is disabled, this returns success.)
session required pam_selinux.so open
%


やや多いので、コメントアウトされている行と、空行を削除した情報のみを取得してみる。

% grep -v '\(^#\)\|\(^[   ]*$\)' /etc/pam.d/login 
auth optional pam_faildelay.so delay=3000000
auth [success=ok ignore=ignore user_unknown=ignore default=die] pam_securetty.so
auth requisite pam_nologin.so
session required pam_selinux.so close
session required pam_env.so readenv=1
session required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
auth optional pam_group.so
session required pam_limits.so
session optional pam_lastlog.so
session optional pam_motd.so
session optional pam_mail.so standard
@include common-account
@include common-session
@include common-password
session required pam_selinux.so open
%


/etc/pam.d ディレクトリの各ファイルは、次のフォーマットで記述されている。

type control module-path module-arguments


type



The type is the management group that the rule corresponds to. It is used to specify which of the management groups the subsequent module is to be associated with. Valid entries are:

account


this module type performs non-authentication based account management. It is typically used to restrict/permit access to a service based on the time of day, currently available system resources (maximum number of users) or perhaps the location of the applicant user -- 'root' login only on the console.

auth


this module type provides two aspects of authenticating the user. Firstly, it establishes that the user is who they claim to be, by instructing the application to prompt the user for a password or other means of identification. Secondly, the module can grant group membership or other privileges through its credential granting properties.

session


this module type is required for updating the authentication token associated with the user. Typically, there is one module for each 'challenge/response' based authentication (auth) type.

password


this module type is associated with doing things that need to be done for the user before/after they can be given service. Such things include the logging of information concerning the opening/closing of some data exchange with a user, mounting directories, etc

control



required


failure of such a PAM will ultimately lead to the PAM-API returning failure but only after the remaining stacked modules (for this service and type) have been invoked.

requisite


like required, however, in the case that such a module returns a failure, control is directly returned to the application. The return value is that associated with the first required or requisite module to fail. Note, this flag can be used to protect against the possibility of a user getting the opportunity to enter a password over an unsafe medium. It is conceivable that such behavior might inform an attacker of valid accounts on a system. This possibility should be weighed against the not insignificant concerns of exposing a sensitive password in a hostile environment.

sufficient


success of such a module is enough to satisfy the authentication requirements of the stack of modules (if a prior required module has failed the success of this one is ignored). A failure of this module is not deemed as fatal to satisfying the application that this type has succeeded. If the module succeeds the PAM framework returns success to the application immediately without trying any other modules.

optional


the success or failure of this module is only important if it is the only module in the stack associated with this service+type.

module-path



module-path is either the full filename of the PAM to be used by the application (it begins with a '/'), or a relative pathname from the default module location: /lib/security/ or /lib64/security/, depending on the architecture.

module-arguments



module-arguments are a space separated list of tokens that can be used to modify the specific behavior of the given PAM. Such arguments will be documented for each individual module. Note, if you wish to include spaces in an argument, you should surround that argument with square brackets.





Available modules



PAM で利用できるモジュールは /lib/security ディレクトリに保存されている。64-bit バージョンのインストールした場合 /lib64/security ディレクトリに保存されている。Ubuntu 9.04 Server 32-bit の場合 /lib64 ディレクトリは、/lib ディレクトリへのシンボリックリンクのようだ。

Ubuntu 8.10 Desktop 64-bit の例



% ls -dl /lib64
lrwxrwxrwx 1 root root 4 2009-07-25 00:36 /lib64 -> /lib
%


Ubuntu 9.04 Server 32-bit の例



% ls -l /lib/security/*
-rw-r--r-- 1 root root 13916 2009-03-21 18:33 /lib/security/pam_access.so
-rw-r--r-- 1 root root 9496 2009-03-27 17:28 /lib/security/pam_ck_connector.so
-rw-r--r-- 1 root root 5392 2009-03-21 18:33 /lib/security/pam_debug.so
-rw-r--r-- 1 root root 5264 2009-03-21 18:33 /lib/security/pam_deny.so
-rw-r--r-- 1 root root 9456 2009-03-21 18:33 /lib/security/pam_echo.so
-rw-r--r-- 1 root root 13596 2009-03-21 18:33 /lib/security/pam_env.so
-rw-r--r-- 1 root root 9572 2009-03-21 18:33 /lib/security/pam_exec.so
-rw-r--r-- 1 root root 5380 2009-03-21 18:33 /lib/security/pam_faildelay.so
-rw-r--r-- 1 root root 13612 2009-03-21 18:33 /lib/security/pam_filter.so
-rw-r--r-- 1 root root 5340 2009-03-21 18:33 /lib/security/pam_ftp.so
-rw-r--r-- 1 root root 13656 2009-03-21 18:33 /lib/security/pam_group.so
-rw-r--r-- 1 root root 9516 2009-03-21 18:33 /lib/security/pam_issue.so
-rw-r--r-- 1 root root 9456 2009-03-21 18:33 /lib/security/pam_keyinit.so
-rw-r--r-- 1 root root 9496 2009-03-21 18:33 /lib/security/pam_lastlog.so
-rw-r--r-- 1 root root 17808 2009-03-21 18:33 /lib/security/pam_limits.so
-rw-r--r-- 1 root root 9500 2009-03-21 18:33 /lib/security/pam_listfile.so
-rw-r--r-- 1 root root 5352 2009-03-21 18:33 /lib/security/pam_localuser.so
-rw-r--r-- 1 root root 5352 2009-03-21 18:33 /lib/security/pam_loginuid.so
-rw-r--r-- 1 root root 9464 2009-03-21 18:33 /lib/security/pam_mail.so
-rw-r--r-- 1 root root 17792 2009-03-21 18:33 /lib/security/pam_mkhomedir.so
-rw-r--r-- 1 root root 5356 2009-03-21 18:33 /lib/security/pam_motd.so
-rw-r--r-- 1 root root 34388 2009-03-21 18:33 /lib/security/pam_namespace.so
-rw-r--r-- 1 root root 5356 2009-03-21 18:33 /lib/security/pam_nologin.so
-rw-r--r-- 1 root root 5324 2009-03-21 18:33 /lib/security/pam_permit.so
lrwxrwxrwx 1 root root 13 2009-09-26 14:27 /lib/security/pam_rhosts_auth.so -> pam_rhosts.so
-rw-r--r-- 1 root root 5340 2009-03-21 18:33 /lib/security/pam_rhosts.so
-rw-r--r-- 1 root root 5332 2009-03-21 18:33 /lib/security/pam_rootok.so
-rw-r--r-- 1 root root 9464 2009-03-21 18:33 /lib/security/pam_securetty.so
-rw-r--r-- 1 root root 17752 2009-03-21 18:33 /lib/security/pam_selinux.so
-rw-r--r-- 1 root root 9536 2009-03-21 18:33 /lib/security/pam_sepermit.so
-rw-r--r-- 1 root root 5352 2009-03-21 18:33 /lib/security/pam_shells.so
-rw-r--r-- 1 root root 13564 2009-03-21 18:33 /lib/security/pam_stress.so
-rw-r--r-- 1 root root 9496 2009-03-21 18:33 /lib/security/pam_succeed_if.so
-rw-r--r-- 1 root root 13600 2009-03-21 18:33 /lib/security/pam_tally.so
-rw-r--r-- 1 root root 9532 2009-03-21 18:33 /lib/security/pam_time.so
-rw-r--r-- 1 root root 9504 2009-03-21 18:33 /lib/security/pam_umask.so
lrwxrwxrwx 1 root root 11 2009-09-26 14:27 /lib/security/pam_unix_acct.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 2009-09-26 14:27 /lib/security/pam_unix_auth.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 2009-09-26 14:27 /lib/security/pam_unix_passwd.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 2009-09-26 14:27 /lib/security/pam_unix_session.so -> pam_unix.so
-rw-r--r-- 1 root root 50848 2009-03-21 18:33 /lib/security/pam_unix.so
-rw-r--r-- 1 root root 9492 2009-03-21 18:33 /lib/security/pam_userdb.so
-rw-r--r-- 1 root root 5320 2009-03-21 18:33 /lib/security/pam_warn.so
-rw-r--r-- 1 root root 5360 2009-03-21 18:33 /lib/security/pam_wheel.so
-rw-r--r-- 1 root root 13716 2009-03-21 18:33 /lib/security/pam_xauth.so
%


// TODO : いくつかのモジュールをピックアップして説明を記述する。



Examples



// TODO





Resources



The Linux-PAM System Administrators' Guide

Linux.com :: Let PAM take care of GNU/Linux security for you

Friday, September 25, 2009

09/25/2009


  • 設計書を更新した。

  • PAM について調査する。




Thursday, September 24, 2009

09/24/2009


  • ログファイルをゴニョゴニョする件で、一日まるっと潰れてしまった。

  • 月曜日だと思ったら木曜日だった。

  • 自宅から職場にリモート接続して正常に cron が実行されたことを確認した。

  • Dovecot のドキュメントを更新した。


date command examples

% date
Thu Sep 24 22:29:09 JST 2009
%
% date '+%Y-%m-%d %H:%M:%S'
2009-09-24 22:29:15
%
% date -d '1 day ago' '+%Y-%m-%d %H:%M:%S'
2009-09-23 22:29:25
%
% date -d '2 months ago' '+%Y-%m-%d %H:%M:%S'
2009-07-24 22:29:33
%

Wednesday, September 23, 2009

09/23/2009


  • OpenLDAP と Dovecot の連携に成功した。





Setting up a POP3 server with Dovecot and OpenLDAP

TODOs



- ユーザごとの INBOX の作成





Known Issues



- OpenLDAP をインストールした後、自動で AppArmor を起動できない。ただし、この現象は Amazon EC2 のインスタンスを使用しているときのみ発生する。原因を特定できていない。





Preface



Ubuntu Linux 9.04 に DovecotOpenLDAP をインストールし、OpenLDAP のバックエンドデータベース - HDB - にストアしているアカウントとパスワードを使用して、POP3 の認証を実現する。





Environment



Ubuntu 9.04 Server 32-bit
# Amazon EC2 のインスタンスを利用する。





Installation - Dovecot



まず Dovecot のみをインストールし、Linux アカウントで認証できる部分までを作業する。パッケージをインストールする。

sudo apt-get install dovecot-pop3d dovecot-imapd







Configuration



続いて、Dovecot を設定する。Dovecot の設定ファイルは、/etc/dovecot/dovecot.conf だ。

sudo vi /etc/dovecot/dovecot.conf



許可するプロトコルを記述する。

protocols = pop3 pop3s imap imaps


POP3 を使用する場合、上記の protocols にエントリを記述する以外に pop3_uidl_format を指定する。UIDL (Unique IDentification Listing) は、個々のメールに付与されるユニークな ID だ。

pop3_uidl_format = %08Xu%08Xv


メールボックスのフォーマットを指定する。Maildir または mbox のどちらかを指定する。どちらの形式も Dovecot はサポートしている。それぞれに利点が存在するため、詳細を MailboxFormat - Dovecot Wiki で確認できる。

#for maildir
mail_location = maildir:~/Maildir
or
# for mbox
mail_location = mbox:~/mail:INBOX=/var/mail/%u






Test



ここまで作業したら、続いてテストする。まず、Dovecot の daemon を起動する。

sudo /etc/init.d/dovecot start



プロセスの存在を確認する。

ps -ef | grep 'dovecot'



netstat コマンドを実行し、LISTEN しているかを確認する。POP3 なら 110 ポートだ。

netstat -an | grep 'LISTEN'



ローカルホストの 110 ポートに telnet で接続してみる。

telnet localhost 110



このコマンドラインから POP3 認証をテストする場合、以下のように作業する。なお、事前に一般ユーザ satoshiabe を作成してあり、このユーザのパスワードは mypassword である。

% telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready.
user satoshiabe
+OK
pass mypassword
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.
%






Installation - OpenLDAP



ここまで正常に作業できたら、続いて OpenLDAP を設定する。Getting Started With OpenLDAP on Ubuntu Linux を参考に OpenLDAP にストアした情報で POP3 認証できるよう設定する。必要なコマンドと最小限の説明のみ列記する。

OpenLDAP をインストールする。

sudo apt-get install slapd ldap-utils



様々な情報を設定する。

sudo dpkg-reconfigure slapd



ldapscripts をインストールし、ユーザを操作する手間を軽減する。

sudo apt-get install ldapscripts



sudo vi /etc/ldapscripts/ldapscripts.conf



sudo sh -c "echo -n 'ldapadmin' > /etc/ldapscripts/ldapscripts.passwd"



sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd



OpenLDAP 経由で HDB にユーザを追加する。

sudo ldapadduser george example



パスワードを変更する。

sudo ldapsetpasswd george



nsswitch 関連の設定をする。

sudo apt-get install libnss-ldap



auth-client-config -t nss -p lac_ldap



sudo pam-auth-update







Configuration - Dovecot



/etc/dovecot/dovecot-ldap.conf



Dovecot に LDAP の設定を記述する。

sudo vi /etc/dovecot/dovecot-ldap.conf



Space separated list of LDAP hosts to use. host:port is allowed too.

hosts = localhost


Distinguished Name - the username used to login to the LDAP server.

dn = cn=admin,dc=satoshiabe,dc=jp


Password for LDAP server, if dn is specified.

dnpass = ldapadmin


Use authentication binding for verifying password's validity.

auth_bind = yes


If you use this setting, it's a good idea to use a different dovecot-ldap.conf for userdb.

auth_bind_userdn = cn=%u,ou=People,dc=satoshiabe,dc=jp


LDAP protocol version to use. Likely 2 or 3.

ldap_version = 3


LDAP base.

base = ou=People,dc=satoshiabe,dc=jp


Search scope: base, onelevel, subtree

scope = subtree


There are also other special fields which can be returned, see http://wiki.dovecot.org/UserDatabase/ExtraFields

user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid


Filter for user lookup.

user_filter = (&(objectClass=posixAccount)(uid=%u))


Password checking attributes.

pass_attrs = uid=user,userPassword=password


Filter for password lookups

pass_filter = (&(objectClass=posixAccount)(uid=%u))


/etc/dovecot/dovecot.conf



コメントアウトされていたら UN-comment-out する。

  # LDAP database
passdb ldap {
# Path for LDAP configuration file
args = /etc/dovecot/dovecot-ldap.conf
}


  # LDAP database
userdb ldap {
# Path for LDAP configuration file
args = /etc/dovecot/dovecot-ldap.conf
}






Test



Dovecot をリスタートする。

/etc/init.d/dovecot restart



OpenLDAP をデバックモードで起動する。

/etc/init.d/slapd stop (this will stop slapd in case it's already running)
slapd -f /etc/ldap/slapd.conf -d -1
or
/usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d/ -d -1


もうひとつターミナルを起動し、telnet にてログインできるかを確認する。OpenLDAP のログを注視しておく。

telnet localhost 110







Resources



Dovecot - Community Ubuntu Documentation

DovecotLDAP - Community Ubuntu Documentation

Creating a user home directory when you use LDAP Authentication

Adding this line below into /etc/pam.d/common-session :

session required pam_mkhomedir.so skel=/etc/skel/

% grep -v '^#' /etc/pam.d/common-session
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.so
%

Tuesday, September 22, 2009

09/22/2009


  • この連休にて、ずっとハマっていた件を解決できた。

  • 要約 : PAM が参照する OpenLDAP の設定ファイにおいて、間違えた文字列を記述していた。

  • 同い年で小学校が一緒だった知人が、私の実家へ手紙を送付したようだ。来年の 1 月に女性が厄払いをしてもらうので、ついでに男性も集合して、久しぶりに集合しましょう。という流れのようだ。

  • たぶん参加しない。


Monday, September 21, 2009

09/21/2009







Changing the hostname in Debian based distributions

Debian based systems use the file /etc/hostname to read the hostname of the system at boot time and set it up using the init script /etc/init.d/hostname.sh

% cat /etc/hostname
localhost
%

strace

In the simplest case strace runs the specified command until it exits. It intercepts and records the system calls which are called by a process and the signals which are received by a rocess. The name of each system call, its arguments and its return value are printed on standard error or to the file specified with the -o option.

% strace -f -F -o ~/output_strace.txt $command

-f : Trace child processes as they are created by currently traced processes as a result of the fork(2) system call.
-F : Attempt to follow vforks.
-o : Write the trace output to the file filename rather than to stderr.

Sunday, September 20, 2009

09/20/2009


  • 出社するかもしれないと考えていたが面倒だったし Amazon で注文した商品が発送されたので自宅で作業することにした。

  • OpenLDAP でユーザ認証できなくなってしまった件、原因を特定できず困っている。

  • 次の作業を開始できないっつーの。



Unknown id

Amazon EC2 のインスタンスとして起動している Ubuntu 9.04 にて、ログイン認証を OpenLDAP に対応させようとしている。

ldapadd

により john と mike を追加した。satoshiabe は、useradd で追加されている。


とろころ、getent コマンドを root で実行すると、以下のような出力を取得できるが、

root@domU-12-31-39-07-75-43:~# getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:102::/home/syslog:/bin/false
klog:x:102:103::/home/klog:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
openldap:x:104:108:OpenLDAP Server Account,,,:/var/lib/ldap:/bin/false
satoshiabe:x:1000:1000::/home/satoshiabe:/bin/bash
root@domU-12-31-39-07-75-43:~#



一般ユーザが実行すると、以下のような出力を取得できる。

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:102::/home/syslog:/bin/false
klog:x:102:103::/home/klog:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
openldap:x:104:108:OpenLDAP Server Account,,,:/var/lib/ldap:/bin/false
satoshiabe:x:1000:1000::/home/satoshiabe:/bin/bash
john:x:10000:10000:John Doe:/home/john:/bin/bash
mike:x:20000:20000:Mike Davis:/home/mike:/bin/bash
satoshiabe@domU-12-31-39-07-75-43:~$


一般ユーザが実行した場合 john と mike を取得できるが root が実行すると取得できない。ちなみに su でスイッチしようとすると、以下のように unknown id となる。

satoshiabe@domU-12-31-39-07-75-43:~$ su - john
Unknown id: john
satoshiabe@domU-12-31-39-07-75-43:~$ su - mike
Unknown id: mike
satoshiabe@domU-12-31-39-07-75-43:~$


なぜだ!?

Saturday, September 19, 2009

09/19/2009


  • 風邪をひいてしまった。

  • OpenLDAP でストアしているユーザでログインできるように設定できない。このまえ、設定できたように記憶しているが、なぜだ。




Friday, September 18, 2009

09/18/2009


  • 提出した書類のみで落選...





Thursday, September 17, 2009