2008-10-19
2008-09-03
Apache suEXEC on Leopard
TracをFastCGIで動かすのにsuEXECを使いたくなったので、タイトルの通り調査中。類似記事を見つけたけど、Leopard用のがないようなので、やってみた。
まず、Apacheのバージョンとコンパイルオプションを確認
ということで
まず、Apacheのバージョンとコンパイルオプションを確認
$ /usr/sbin/httpd -V
Server version: Apache/2.2.8 (Unix)
Server built: Mar 4 2008 21:37:02
Server's Module Magic Number: 20051115:11
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr"
-D SUEXEC_BIN="/usr/bin/suexec"
-D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
都合、制約事項としては- httpd-2.2.8を使う
- 64bitでビルド
- コマンドは
/usr/bin/suexec
に配置する mod_suexec.so
も作る
configure
にコンパイルオプションを渡すやり方を忘れたので、環境変数で設定し、/etc/apache2/httpd.conf
とにらめっこしながら、パラメータを組み立てるとこんな感じ:$ CFLAGS='-arch ppc -arch ppc64 -arch i386 -arch x86_64' \
./configure --enable-mods-shared=all \
--enable-suexec \
--with-suexec-bin=/usr/bin/suexec \
--with-suexec-caller=_www \
--with-suexec-docroot=/Library/WebServer/Documents \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=20 \
--with-suexec-logfile=/var/log/apache2/suexec_log \
--with-suexec-safepath=/opt/local/bin:/usr/local/bin:/usr/bin:/bin \
--with-suexec-userdir=Sites
あとはmake
して、suexec
とmod_suexec.so
をコピーするだけ:$ make
$ sudo cp modules/generators/.libs/mod_suexec.so /usr/libexec/apache2/
$ sudo cp support/suexec /usr/bin/
$ sudo chown root:_www /usr/bin/suexec
$ sudo chmod 4750 /usr/bin/suexec
ちょいちょいとhttpd.conf
を変更すると、とりあえず動かすだけならOKだった。gidmin
に設定する値が小さすぎるのが気持ち悪いところ。Leopardでユーザを作るとstaff
グループで作られるのだけど、これがgid=20なのが原因。元記事だと「最初のユーザが管理権限を持つ」云々のくだりがあって、実際の危険性はファイルシステムの多くでgid=80のadmin
グループにWriteパーミッションが与えられていることだと思う。最初に作ったユーザはもれなくadmin
グループに参加しているので、問題があるのでしょう。確かに外に出すサーバではできないよなぁ。ということで
staff
グループのgidを500くらいにする。- ファイルシステムの所有グループをgid=0の
wheel
にする。
sudo
打つ回数は多くなりそうだけど、きょうびのOSはそんなもんでしょう。代替なしの環境でやるのはおっかないので折をみて。
2008-06-11
2008-06-04
2008-06-03
カートの遺品
VIBEの記事「Nirvana カートの遺灰が盗まれる」より:
そういえば、カートの楽器は今誰が持っているんだっけ。ジャグスタングはピーター・バックに渡って、モズライトは何年か前にオークションに出た覚えがあるけど、最近どうなってるんだろうか。
もう14年も経つんだなぁ。
遺灰と遺髪がバッグ(ピンクのテディベアのバッグ!)ごとやられたらしい。遺灰は何か所かに撒かれたはずで、コートニーが持っているとは思わなかった。遺髪はそもそも残ってたとは思わなかった。自殺直前のカートとコートニーの仲は冷えきっていたらしいけど、All Apologiesの歌詞みたく太陽の下で一緒に埋葬する気で持っていたんじゃないか。ニュースを見て久しぶりにCDを聞いているとそう思ったりするわけですよ。これ、金目当ての窃盗だったら捨てちゃうんだろうなぁ。せめて公式の墓地(と言われているベンチ)あたりに撒いてくれ、と願ってしまう。ニルヴァーナの故カート・コバーンの遺灰が、彼の未亡人であるコートニー・ラヴの自宅から盗まれたとのショッキングなニュースが報じられた。
そういえば、カートの楽器は今誰が持っているんだっけ。ジャグスタングはピーター・バックに渡って、モズライトは何年か前にオークションに出た覚えがあるけど、最近どうなってるんだろうか。
もう14年も経つんだなぁ。
2008-05-20
表計算はワープロじゃない
天下の技術評論社もこんな本を出してしまうとはおいたわしい。
「これで充分・信頼度アップ Excelをワープロ代わりに使う業務文書作成入門」
リンクは張ったけど読む必要ないからね。
元副官某も言う通りExcelは表計算ソフトである。ワープロじゃない。セルの中は256文字しか書けないし、ワープロに求められる文書の構造化機能が決定的に欠けている。
たいがい、こういう人が作るドキュメントはワープロでも罫線ばっかりで気持ち悪い。すべてが表組みになっていて昔のHTMLのTABLEフォーマットを見てるような気分になる。きっとお役所仕事の流れが民間にも行き渡っているんだろうなぁ。それって文書じゃなくて単なるフォームだと思うんだけど。
方眼紙みたいなExcelのドキュメントみてアタマ痛くならない?
「これで充分・信頼度アップ Excelをワープロ代わりに使う業務文書作成入門」
リンクは張ったけど読む必要ないからね。
元副官某も言う通りExcelは表計算ソフトである。ワープロじゃない。セルの中は256文字しか書けないし、ワープロに求められる文書の構造化機能が決定的に欠けている。
たいがい、こういう人が作るドキュメントはワープロでも罫線ばっかりで気持ち悪い。すべてが表組みになっていて昔のHTMLのTABLEフォーマットを見てるような気分になる。きっとお役所仕事の流れが民間にも行き渡っているんだろうなぁ。それって文書じゃなくて単なるフォームだと思うんだけど。
方眼紙みたいなExcelのドキュメントみてアタマ痛くならない?
2008-05-13
手ぶらで水中ビデオカメラ
Gizmodo Japanの記事「ラジコンに超小型の無線カメラをとりつけて」より:
水中だと減衰がかかるだろうから、到達距離はもっと短くなるかな。浅いところしか駄目か?
アップグレードにおおいに期待。
リンク元とか見てもどこにも50m防水とは書いてないし、逆に電波の到達距離目安は30mとか書いてあるけど、これダイビングするときに使えたら面白そう。45minてちょうどタンク一本分くらいだし、小さいからマスクにつけとけば見たもの全部記録しておけるんじゃないだろうか。「RC-12」は、ワイヤレスCMOSカメラです。27万画素で、サイズは15x18x35mm、充電電池内蔵。電池の持ちは約45分とやや短めですが、その代わりフル充電時間は30分とスピーディです。
水深50mまでの付属防水ケースがありますので、ラジコンの船や潜水艦にも取りつけることができます。
水中だと減衰がかかるだろうから、到達距離はもっと短くなるかな。浅いところしか駄目か?
アップグレードにおおいに期待。
2008-05-06
Trac-0.11から0.10へのダウングレード
たまたまやる機会があったので、まとめておく。
Trac-0.10.4からTrac-0.11rc1までの間にデータベースのバージョンは20から21に変更されている。アップグレードスクリプトを見るとレポートの中身を変えている (acceptedステータスが増えた対応) だけなので、データベース構造は変わっていない。system表のdatabase_versionを21から20に戻して、`trac-admin resync`すればよさげ。
0.11で新規作成したEnvironmentの場合、system表のinitial_database_versionも21から20に落とさなきゃいけないのと、enum表にstatusを入れるのも必要。0.11でTicketWorkflowがプラグイン化されたのを期にステータスの情報がenum表からtrac.iniに移ったので、initenvするときには作られなくなったようだ。
Trac-0.10.4からTrac-0.11rc1までの間にデータベースのバージョンは20から21に変更されている。アップグレードスクリプトを見るとレポートの中身を変えている (acceptedステータスが増えた対応) だけなので、データベース構造は変わっていない。system表のdatabase_versionを21から20に戻して、`trac-admin resync`すればよさげ。
$ cd $TRAC_ENV
$ sqlite3 db/trac.db
sqlite> update system set value='20' where name='database_version';
sqlite> .exit
$ trac-admin . resync
$
レポートは元ソースを見ながら適当に直せば可。0.10.4からアップグレードしたEnvironmetの場合は、以上終わり。0.11で新規作成したEnvironmentの場合、system表のinitial_database_versionも21から20に落とさなきゃいけないのと、enum表にstatusを入れるのも必要。0.11でTicketWorkflowがプラグイン化されたのを期にステータスの情報がenum表からtrac.iniに移ったので、initenvするときには作られなくなったようだ。
$ sqlite3 db/trac.db
sqlite> update system set value='20' where name='initial_database_version';
sqlite> insert into enum values('status', 'new', '1');
sqlite> insert into enum values('status', 'assigned', '2');
sqlite> insert into enum values('status', 'reopened', '3');
sqlite> insert into enum values('status', 'closed', '4');
sqlite> .exit
$
ものすごくレアなケースの移行だと思うので、たぶん情報価値はないんだろうな。
2008-05-01
2008-04-30
2008-04-29
マカー歴3ヶ月報告
ちょうど/.Jに記事が立ったことだし、感想文を書いてみることにした。
そもそも、Macを買った動機は:
普段UXGAとか2画面とか使ってるので1280x800は狭いかと思ったけど、WindowsとかXorgよりも小さいフォントでも疲れないので、お遊びとかお勉強レベルでは全然平気。ワークスペース割当をもっと積極的に使えば仕事レベルのプログラミングでも使えそうな気がする。
メディア用途では基本的に問題を感じない。
近隣住人某のHD-CAMで撮った動画を見る方法が未だに分からないくらい。たぶん、これもちゃんと調べればプラグインが分かるだろうし、そもそもフルHDクォリティは現時点ではいらないので、後々考えることにするステータス。WebブラウズとかメールとかはさすがにFirefoxやGoogle Notifierとかを追加でインストールしたけど、まぁあまり困らない。例外はチャットで、iChatだとJabberの音声が抜けないので、テキストのみなのがつらいところ。せっかくビデオチャットの機能があっても、AIM以外のプロトコルも通してくれないと、他の人と使えないからなぁ。
もひとつ。ことえりはかなりおばかさんなので、ATOKを買うか迷ってるところ。
Unixとしての機能は、まぁCygwin入れるのに比べればマシで、あまり満足してないのは確か。とは言っても、VM作ってとかやらなくて済むのは楽なので、あれこれノウハウをためてる所。
まず、ファイルシステムのデフォルトがCase-insensitiveなので、OSごと再インストールしないと本格的には使い始められないところ。要は"INSTALL"ファイルがあるときに"make install"が動かないんですぜ。とは言っても、これは再インストールしてファイルシステムを再構成すればいいだけだし、Time Machineのバックアップ/リストアがかなり便利なので、それほどじゃない。
次に、これは別にUnixとしてのという訳じゃないんだけど、パッケージ管理の仕組みできちんとしていないところ。まともにプログラミングしようと思ったらXcodeじゃ全然足りなくて、FinkかMacPortsを入れないと話にならないのは確か。さすがに全部のパッケージをconfigureから通すのは、時間がもったいない。きょうびのLinuxディストリビューションは、ものすごく便利だということを再認識した。MacPortsがんばれー。
最後にPermissionの付け方が非常に甘いところ。10年前標準くらいと考えていいでしょう。"/usr/local"は書き放題だし、"$HOME"は755だし。時間ができたら、このへんをどこまで絞れるか試してみたい。
で、/.Jで話題になってる「企業向けパソコンとして利用できるか」だけど、もっとまともな集中管理(アカウントとかアップデートとか)の仕組みができないと難しいんじゃないかなぁ。プログラマ(ICEハッカー除く)が自宅で使うマシンとしては結構いいと思うよ。
そもそも、Macを買った動機は:
- UnixベースのOSがいい。
- でもiPodが使いたいし、DVDだって見たい。
普段UXGAとか2画面とか使ってるので1280x800は狭いかと思ったけど、WindowsとかXorgよりも小さいフォントでも疲れないので、お遊びとかお勉強レベルでは全然平気。ワークスペース割当をもっと積極的に使えば仕事レベルのプログラミングでも使えそうな気がする。
メディア用途では基本的に問題を感じない。
近隣住人某のHD-CAMで撮った動画を見る方法が未だに分からないくらい。たぶん、これもちゃんと調べればプラグインが分かるだろうし、そもそもフルHDクォリティは現時点ではいらないので、後々考えることにするステータス。WebブラウズとかメールとかはさすがにFirefoxやGoogle Notifierとかを追加でインストールしたけど、まぁあまり困らない。例外はチャットで、iChatだとJabberの音声が抜けないので、テキストのみなのがつらいところ。せっかくビデオチャットの機能があっても、AIM以外のプロトコルも通してくれないと、他の人と使えないからなぁ。
もひとつ。ことえりはかなりおばかさんなので、ATOKを買うか迷ってるところ。
Unixとしての機能は、まぁCygwin入れるのに比べればマシで、あまり満足してないのは確か。とは言っても、VM作ってとかやらなくて済むのは楽なので、あれこれノウハウをためてる所。
まず、ファイルシステムのデフォルトがCase-insensitiveなので、OSごと再インストールしないと本格的には使い始められないところ。要は"INSTALL"ファイルがあるときに"make install"が動かないんですぜ。とは言っても、これは再インストールしてファイルシステムを再構成すればいいだけだし、Time Machineのバックアップ/リストアがかなり便利なので、それほどじゃない。
次に、これは別にUnixとしてのという訳じゃないんだけど、パッケージ管理の仕組みできちんとしていないところ。まともにプログラミングしようと思ったらXcodeじゃ全然足りなくて、FinkかMacPortsを入れないと話にならないのは確か。さすがに全部のパッケージをconfigureから通すのは、時間がもったいない。きょうびのLinuxディストリビューションは、ものすごく便利だということを再認識した。MacPortsがんばれー。
最後にPermissionの付け方が非常に甘いところ。10年前標準くらいと考えていいでしょう。"/usr/local"は書き放題だし、"$HOME"は755だし。時間ができたら、このへんをどこまで絞れるか試してみたい。
で、/.Jで話題になってる「企業向けパソコンとして利用できるか」だけど、もっとまともな集中管理(アカウントとかアップデートとか)の仕組みができないと難しいんじゃないかなぁ。プログラマ(ICEハッカー除く)が自宅で使うマシンとしては結構いいと思うよ。
2008-04-28
from au to Google復旧
しばらくPCサイトビューアでしのいでたけど、ラインが通るようになったのでまとめ:
ともかくも、PCサイトビューアの莫迦高い料金を払わなくても済むようになったので、家計にも安心でよろし。月に5000円以上抜かれるのは結構きつかったのよね。
- Gmail -- https://mail.google.com/mail/x/ (最後のスラッシュはどっちでもいい)
- Google Calendar -- https://www.google.com/calendar/m (最後にスラッシュをいれたらアウト)
- Google Reader -- https://www.google.com/reader/m/ (最後のスラッシュも必須)
- ついでに日本語版リリースおめでとう&携帯対応ありがとう記念で
Twitter -- http://m.twitter.com/
ともかくも、PCサイトビューアの莫迦高い料金を払わなくても済むようになったので、家計にも安心でよろし。月に5000円以上抜かれるのは結構きつかったのよね。
2008-04-02
2008-03-16
2008-03-13
2008-03-12
robust
元副官某から「金髪碧眼にこのコードダサいと言いたい」と聞かれたので、脳内DBをひっくり返した末に「robustぢゃないってゆっとけ」と答えておいた。
どっかのblogの記事で見た覚えがあるけど、どこか忘れた。出典はそこなので感謝。
意味は大体あってるよな?
どっかのblogの記事で見た覚えがあるけど、どこか忘れた。出典はそこなので感謝。
意味は大体あってるよな?
2008-03-09
2008-03-07
2008-03-06
2008-03-04
Quicksilverが強力すぎる点について
Macのキラーアプリケーションとして名高いQuickSilverを入れてみた。
これは確かに便利だわ。
日本語の通りは最悪だけど、そもそも日本語のファイル名とかブックマークとかがほとんどないので気にならない。
[F6]キーにアサインしてみた。
これは確かに便利だわ。
日本語の通りは最悪だけど、そもそも日本語のファイル名とかブックマークとかがほとんどないので気にならない。
[F6]キーにアサインしてみた。
2008-03-01
tvtsched.exeって何?
休日出勤でお仕事しようとすると、T43pたんのログインで固まるようになってしまった。
気長に待ってタスクマネージャで見てみると、 "tvtsched.exe" がCPUを使いきってる。とりあえずkillったらデスクトップまで来るようになった。
ウィルススキャンには検出されないので、Google先生にお伺いを立ててみると、IBM(Lenovo)のSystem Update Managerのスケジューラっぽい。同じ問題になった人いわく「バグじゃ。System Updateを再インストールすべし。」
去年は、画面表示を更新するとプレゼンテーションディレクターが動かないようになっちゃったり、最近ThinkPadはソフトが悪くなっちゃったなー、という印象が更に強くなってしまったのだった。
結局一日これに使ってしまったので、明日も出ないといけなくなってしまったのですorz
気長に待ってタスクマネージャで見てみると、 "tvtsched.exe" がCPUを使いきってる。とりあえずkillったらデスクトップまで来るようになった。
ウィルススキャンには検出されないので、Google先生にお伺いを立ててみると、IBM(Lenovo)のSystem Update Managerのスケジューラっぽい。同じ問題になった人いわく「バグじゃ。System Updateを再インストールすべし。」
去年は、画面表示を更新するとプレゼンテーションディレクターが動かないようになっちゃったり、最近ThinkPadはソフトが悪くなっちゃったなー、という印象が更に強くなってしまったのだった。
結局一日これに使ってしまったので、明日も出ないといけなくなってしまったのですorz
2008-02-27
できた [was: tracのロードマップにリンクを張りたい]
いろきゅう.jp ~Programmable maiden~ Tech sideのエントリ「tracのロードマップにリンクを張りたい」より:
0.11でしか試してないけど。
[/chrome/../roadmap ロードマップ]
静的リソースがマップされるディレクトリchromeを介して、相対パスで親ディレクトリから通してみる。ちゃんとリンクしているし、レンダーも問題なし。
でも、なんかTracLinksの仕様が変わってるなぁ。/で始まるリンクは、プロジェクトのrootからの相対パスになるっぽい。
追記 (2008-02-27 16:10):
[htdocs:../../roadmap ロードマップ]の方が妥当か。
追記 (2008-03-03 18:08):
#6884でバグに上がってるのと、類似っぽい。
'マイルストーン' へリンクを張る wiki 文法は用意されているものの、そのマイルストーン一覧が表示される「ロードマップ」のページへのリンクの張り方がいまいちわからず。
0.11でしか試してないけど。
[/chrome/../roadmap ロードマップ]
静的リソースがマップされるディレクトリchromeを介して、相対パスで親ディレクトリから通してみる。ちゃんとリンクしているし、レンダーも問題なし。
でも、なんかTracLinksの仕様が変わってるなぁ。/で始まるリンクは、プロジェクトのrootからの相対パスになるっぽい。
追記 (2008-02-27 16:10):
[htdocs:../../roadmap ロードマップ]の方が妥当か。
追記 (2008-03-03 18:08):
#6884でバグに上がってるのと、類似っぽい。
2008-02-26
Shame in you
ヒラリーたんがオバマたんを非難する演説を見ていて "Shame on you" というフレーズがあったんだけど、ついうっかり "Shame in you" と空耳。 Alice in Chains の曲にそういうのあるのよ。何か引っ掛かったので、辞書を引くと:
Shame in you.
- Shame in you
- 恥ずかしい思いをしている。
- Shame on you
- 恥を知れ
Shame in you.
2008-02-18
故郷とは遠くにありて
蘇民祭でライトを消して猥褻物陳列罪回避とかのニュースを観て、何となく。伝統がどうとか、セクハラがどうとか、文明の衝突がどうとか、いろいろ面倒そうね。と、いちいち注目せざるを得ないのも、嫁の実家がそばであれこれ予備知識を授けられるからなんですが。
俺的には全く問題ないと考えるが、たぶんこれは文明フィルターがかかってる。なぜって、わが故郷には田縣神社というのがあって一応氏子のようなのだ。検索すれば分かるけど、ここの豊年祭というイカレてる祭りが幼少時のイノセントな心に深いゆがみを与えているに違いない。
神輿を担ぐのは42厄男だけど(記憶がはっきりしないけど、たぶん巫女は33厄女)、これはある意味ほんとうに大厄である。普通に考えれば恥ずかしいだろう。それもあってか、厄男は朝からがぶがぶ飲酒し、神輿を担ぐ時点では完全に酔っぱらっている。猥褻物陳列罪というよりは、騒乱罪という方が妥当じゃないだろうか。で、その酔っぱらったまま、餅投げを始めるからえらいことになるのである。本当に昔は屋根に登って撒いたそうだが、俺の記憶ではベランダのようなところから投げている所しか記憶にないので、ずいぶん昔に変わったのだろう。酔っぱらいが屋根に登ると危ないし。まぁそんな訳で、おれにとっての祭りというのは:
とは言っても、豊年祭は平日だろうが容赦なく決行されるので、子供は通常神輿が練り歩くのは観ない。神輿を担ぐのがだいたい12:00くらいで、まだ学校にいるのである。で、餅投げが16:00くらいだったので、これには行く。現地の子供の間では餅を拾いに行く祭りのような感覚であった。あののぼりとか飴とかはアレだったが。(と言っても20年近く前の話よ。) 最近は氏子の数も減って、神輿は氏子じゃなくても厄男じゃなくても担げるよう。祭り好きのアナタは一生の思い出に一度はどう?カメラマン付きで。たぶん、現地の現像屋じゃないとモザイクまみれになるけど(w
やはり故郷は遠くにありて想う程度にしておいた方がよさそうだ。
でも、今年は休みの日に豊年祭のようなので、見に行きたい人がいたら案内してもいーよ(嘘)
俺的には全く問題ないと考えるが、たぶんこれは文明フィルターがかかってる。なぜって、わが故郷には田縣神社というのがあって一応氏子のようなのだ。検索すれば分かるけど、ここの豊年祭というイカレてる祭りが幼少時のイノセントな心に深いゆがみを与えているに違いない。
神輿を担ぐのは42厄男だけど(記憶がはっきりしないけど、たぶん巫女は33厄女)、これはある意味ほんとうに大厄である。普通に考えれば恥ずかしいだろう。それもあってか、厄男は朝からがぶがぶ飲酒し、神輿を担ぐ時点では完全に酔っぱらっている。猥褻物陳列罪というよりは、騒乱罪という方が妥当じゃないだろうか。で、その酔っぱらったまま、餅投げを始めるからえらいことになるのである。本当に昔は屋根に登って撒いたそうだが、俺の記憶ではベランダのようなところから投げている所しか記憶にないので、ずいぶん昔に変わったのだろう。酔っぱらいが屋根に登ると危ないし。まぁそんな訳で、おれにとっての祭りというのは:
- 酔っぱらい大量発生
- 外人も大量発生
- で、大暴れ。
- 「だしもの」いっぱい(w
とは言っても、豊年祭は平日だろうが容赦なく決行されるので、子供は通常神輿が練り歩くのは観ない。神輿を担ぐのがだいたい12:00くらいで、まだ学校にいるのである。で、餅投げが16:00くらいだったので、これには行く。現地の子供の間では餅を拾いに行く祭りのような感覚であった。あののぼりとか飴とかはアレだったが。(と言っても20年近く前の話よ。) 最近は氏子の数も減って、神輿は氏子じゃなくても厄男じゃなくても担げるよう。祭り好きのアナタは一生の思い出に一度はどう?カメラマン付きで。たぶん、現地の現像屋じゃないとモザイクまみれになるけど(w
やはり故郷は遠くにありて想う程度にしておいた方がよさそうだ。
でも、今年は休みの日に豊年祭のようなので、見に行きたい人がいたら案内してもいーよ(嘘)
2008-02-16
Time Machineでどこまで戻るか?
Case-Sensitiveなファイルシステムにすべく、OSの再インストールをした。ついでなので、Time Machineでディザスタリカバリがどこまでいけるのか実験。いざって言うときに何が消えるのか把握してないと、役に立たないし。
手順はざっくり:
結果から言うと、完全にロストしたデータはなし。でも、戻らないのもあるので注意は必要。Time Machineからのリカバリ以外に、手を加えなければ行けなかった作業を列挙しておく:
とりあえず、ファイルはホームディレクトリに置いておけばなんとかなることは分かった。
手順はざっくり:
- Time Machineでバックアップ
- OSを再インストール (Case-Sensitiveでファイルシステム再作成)
- 初回起動画面でTime Machineからリストア
結果から言うと、完全にロストしたデータはなし。でも、戻らないのもあるので注意は必要。Time Machineからのリカバリ以外に、手を加えなければ行けなかった作業を列挙しておく:
- OSやバンドルパッケージのソフトウェア更新
- Xcode, DashCode等オプションのインストール
/usr/local
は無傷だったが、/Library/Python
の配下にインストールされたPython-eggが復元されなかったので、再度easy_install- HoloGitのファイルは復元されたが、PhotoBoothの設定ファイルが元に戻っていたので、作り直す
- iTunesのコンピュータ認証つけ直し。でも認証台数は上らなかったので一安心
とりあえず、ファイルはホームディレクトリに置いておけばなんとかなることは分かった。
2008-02-14
Case-sensitivityにはまる
無知とは恐ろしいものよ。MacOSはUnixベースになったとは言え、まだデフォルトでは大文字小文字を区別しない(=Case-insensitive)のね。そんなことも知らなかったMac初心者のgjoです。
Leopard serverでは、Case-sensitiveなのがデフォルトになっているけど、デスクトップ版ではCase-insensitiveというちょっとねじれた状態のようです。Darwin kernel自体はどっちでも気にしないっぽいので、単純にファイルシステム(HFS+)を作るときのオプション次第ということらしい。
かつて、この問題にApacheが引っ掛かったらしく、"mod_hfs_apple"を導入するとか、httpd.confを書くときにCase-insensitiveであることを意識しないといけないようです。(デフォルトでは対処済みだけど、設定を変更するときは要注意ってことね)あと、ファイルシステムがCase-sensitiveだと、Photoshopが動かなかったりする(らしい)点も要注意か。
ということで、何かしら講じてCase-sensitiveな環境を作らないといけない訳ですが、さすがにオンライン状態でファイルシステムを作りなおすのは無理だろうなぁ。エンタープライズ級のマシンならともかく民生機だし。
Google様にお伺いを立てたところ:
Leopard serverでは、Case-sensitiveなのがデフォルトになっているけど、デスクトップ版ではCase-insensitiveというちょっとねじれた状態のようです。Darwin kernel自体はどっちでも気にしないっぽいので、単純にファイルシステム(HFS+)を作るときのオプション次第ということらしい。
かつて、この問題にApacheが引っ掛かったらしく、"mod_hfs_apple"を導入するとか、httpd.confを書くときにCase-insensitiveであることを意識しないといけないようです。(デフォルトでは対処済みだけど、設定を変更するときは要注意ってことね)あと、ファイルシステムがCase-sensitiveだと、Photoshopが動かなかったりする(らしい)点も要注意か。
ということで、何かしら講じてCase-sensitiveな環境を作らないといけない訳ですが、さすがにオンライン状態でファイルシステムを作りなおすのは無理だろうなぁ。エンタープライズ級のマシンならともかく民生機だし。
Google様にお伺いを立てたところ:
- OSを再インストールするときにファイルシステムのオプションを変更する
- BootCampアシスタントとかでパーティションを割って、Case-sensitiveファイルシステムを作る
- Case-sensitiveなファイルシステムでディスクイメージファイル(*.dmg)を作り、ログイン時に自動マウントするようにする
2008-02-10
Mac OS Xでのパッケージ管理
趣味のコーディング環境をVMのUbuntuからMac OS Xに移動するにあたって、考えどころはパッケージ管理。VMを介さずともPOSIXネイティブコードが動く環境を手に入れた代償に、Ubuntuの「aptだけでほぼ完結」という、メンテナたちの不断の努力の成果を手放さなければならないのだ。Mac OSでのアプリケーション配布はいろいろ形式があるようだ:
で、ことPOSIXなアプリケーションであれば、アンインストール機構まできちんと備えたパッケージングシステムがサードパーティでメンテナンスされている:こういうのは、メンテナとパッケージの数が多い方が強いので、さしあたりMacPortsを選択。多勢が決したら乗り換えるかもしれないけど。MacPortsはLeopardなら先にXcodeを入れて、X11をXquartsの配布でアップデートしろと言ってるので、その通りやった。この辺の手順は検索すればいつでも出てくるので書かない。
ちょっと困ったのが、Pythonのライブラリ。MacPortsだと
MacPortsのメンテナンスが強化されるか、自分がメンテナンスに乗り出すかすれば、Portsを使うことにすると思うんだけど。
標準で入っているPythonは2.5.1で、
とりあえず、easy_installで入れたパッケージ達:
- *.pkg
- いわゆるインストーラ。でもアンインストールの機能はない。
/Library/Receipts
配下にインストールログっぽい証跡が残るので、*.dom
をlsdom
コマンドに通すと削除すべきファイルは分かるようになっている。でもパッケージによっては何も残してくれない。 - *.mpkg
- *.pkgを束ねたものっぽい。メタパッケージみたいなものか。
- *.app
- アプリケーションバンドル。実体はディレクトリで、その下にバイナリとかリソースファイルが転がってる。
/Applications
にそのままコピーするとインストール完了。アンインストールも基本は削除だけっぽいが、ものによっては/Library
とか~/Library
の配下にファイルを残しているので、それも消さないとだめっぽい。 - *.dmg
- ディスクイメージ。実行するとマウントされる。中をみるとたいてい*.m?pkgか*.appが入っている。
で、ことPOSIXなアプリケーションであれば、アンインストール機構まできちんと備えたパッケージングシステムがサードパーティでメンテナンスされている:こういうのは、メンテナとパッケージの数が多い方が強いので、さしあたりMacPortsを選択。多勢が決したら乗り換えるかもしれないけど。MacPortsはLeopardなら先にXcodeを入れて、X11をXquartsの配布でアップデートしろと言ってるので、その通りやった。この辺の手順は検索すればいつでも出てくるので書かない。
ちょっと困ったのが、Pythonのライブラリ。MacPortsだと
/opt/local
配下にインストールされるので、OSに標準でついてくるPythonから読ませるためにはPYTHONPATHを変更しなきゃいけないし、2.5向けのパッケージで致命的に抜けているのがあったり、結局tracは開発版を使うことになるので、どこかでPython-eggとかで手で入れなきゃいけないのが出てくるし、そうするとportで完全にアンインストールできなくなるし。中途半端に一元化するのはあとあと面倒ということで、Pythonは当面OS付属のを使うことにする。MacPortsのメンテナンスが強化されるか、自分がメンテナンスに乗り出すかすれば、Portsを使うことにすると思うんだけど。
標準で入っているPythonは2.5.1で、
/System/Library/Frameworks/Python.framework/Versions/2.5
へのシンボリックリンクになっている。setuptoolsとか、Subversionバインディングとかは、件のディレクトリに入ってる状態。easy_install
すればたいていのものは揃いそう。インストール先は件のディレクトリでも/usr/lib/python2.5/site-packages
でもなく、/Library/Python/2.5/site-packages
になる。ここはPython-eggs専用らしい。またコンソールスクリプトは/usr/local/bin
にインストールされる。システムにビルトインされているのと、自分が入れたのが明確に分離されるというのも、標準のPythonで何とかなると思った理由だったり。うーむ。python setup.py bdist_mpkg
でせっかくパッケージが作れるのに、アンインストール機能がパッケージャについてないのは残念だなぁ。とりあえず、easy_installで入れたパッケージ達:
2008-02-03
巨大なメカ動物
Gizmodo Japanのエントリ「格好良すぎ! 動く巨大メカ動物たち in フランス(動画あり)」より:
スチームパンク萌えなメカヲタにはたまらんですね。象が歩くのもいいけど、烏賊ロボのフォームが何とも言えんです。ちょうどLEGOのアクアレイダース作ってるとこだし。でも、がきに「行きたい」と言わせてもなお、フランスまで行くのは無理そう。どこか出資して全世界巡業してくれないものか。
ナントまあ!
フランスの都市、ナントにて「Les Machines de l'ile de Nantes」という、ギズモーディアン垂涎もののイベントが催されているようです。
このイベントは巨大なメカ動物をこれでもかと展示しているというもの。写真を見る限りは、イカ、ゾウ、魚などがある様子。小さいころ読んだ「海底二万海里」を髣髴させるちょっとレトロでスタイリッシュでアートな、ド迫力作品です。
しかもこれ、全部乗れるんだとか。
スチームパンク萌えなメカヲタにはたまらんですね。象が歩くのもいいけど、烏賊ロボのフォームが何とも言えんです。ちょうどLEGOのアクアレイダース作ってるとこだし。でも、がきに「行きたい」と言わせてもなお、フランスまで行くのは無理そう。どこか出資して全世界巡業してくれないものか。
2008-01-28
初段のつっかかり
最近のOSはよくインプリされているので、初回起動でもたいして困ることはないのだけれど、それでもゼロではない。Leopardではとりあえず2点ばかし。
MACアドレスがわからん
LANインタフェースのMACアドレスのことね。Apple的には「AirMac ID」となってる。大人気ないとも思うがまぁ気持ちは分かる。
ノートPCだとたいてい底にシールが貼ってあるけど何もなし。起動すればわかるけど、初回起動のダイアログで確認する術はない。
一回立ち上げてから改めて設定すればいいんだけど、こういうのはインストーラのダイアログで設定できるべき。アクセスポイントでMACしばりをかけてると、ちょっと戸惑う人がいるんじゃないかな。
キーボードショートカット
インストーラでもう一つ困ったのがIME切り替えとかの基本的なキーボードショートカット。
メニューバーにアイコンでガイドが出てるけど、これが分かりづらい。四葉のクローバーっぽいのがcommandキーなのはいいけど、キャレットっぽいのがcontrolに気付くまでに15sec程度かかった。上向き矢印がshiftで、バックスラッシュっぽいのがoptionってこれ一般人には分からんだろ。不覚にも日本語入力ごときで10min停止。
英語キーボードにしたのがいかんのかな? 日本語キーボードだと刻印してあるのだろうか。
いずれ、入力の切り替えに3キーストロークは面倒すぎるので、caps lockをIME切り替えに割り当てた。
そういえばcontrolが左にしかないな。Emacsのキーバインドは変えないとつらいかも。(caps lockキーにはLEDがついているので、やはりIMEにしておいた方が良さそう)
MACアドレスがわからん
LANインタフェースのMACアドレスのことね。Apple的には「AirMac ID」となってる。大人気ないとも思うがまぁ気持ちは分かる。
ノートPCだとたいてい底にシールが貼ってあるけど何もなし。起動すればわかるけど、初回起動のダイアログで確認する術はない。
一回立ち上げてから改めて設定すればいいんだけど、こういうのはインストーラのダイアログで設定できるべき。アクセスポイントでMACしばりをかけてると、ちょっと戸惑う人がいるんじゃないかな。
キーボードショートカット
インストーラでもう一つ困ったのがIME切り替えとかの基本的なキーボードショートカット。
メニューバーにアイコンでガイドが出てるけど、これが分かりづらい。四葉のクローバーっぽいのがcommandキーなのはいいけど、キャレットっぽいのがcontrolに気付くまでに15sec程度かかった。上向き矢印がshiftで、バックスラッシュっぽいのがoptionってこれ一般人には分からんだろ。不覚にも日本語入力ごときで10min停止。
英語キーボードにしたのがいかんのかな? 日本語キーボードだと刻印してあるのだろうか。
いずれ、入力の切り替えに3キーストロークは面倒すぎるので、caps lockをIME切り替えに割り当てた。
そういえばcontrolが左にしかないな。Emacsのキーバインドは変えないとつらいかも。(caps lockキーにはLEDがついているので、やはりIMEにしておいた方が良さそう)
2008-01-24
Starting my life with Mac
自宅で使っているパソコンが最後の大改修から4年たったので、そろそろ買い替えようと思ったのが半年前。
とりあえずMacが欲しいと思った訳ですよ。なぜって:
きっと可動部品は相当いたんでるんだろうなと思いながらも、半年前はLeopard待ち。Time machineがものすごく良さげに見えたから。で、その後はMacWorldExpoでリアルモバイルなのが発表というのがまことしやかに語られ始めていたので、様子見。
結局、その後、購入に至ったのですが、無印MacBookにしました。「空気のように軽い奴」はいろいろ妥協が必要なので:
そんな訳で、Keynoteのあとで無印をクリックしようと思ったら、Apple Careが選べないようになっていたので何日かウォッチ後、やっとこさご購入できたのですよ。
本日ご到着されました。午後休を必死でこらえて定時ダッシュで帰宅。
ちまちまいじり始めましたが、勝手が違うって新鮮で素敵だなぁ。コピペのやり方もIMEの切り替えもわからない。今のところフィーリングで操作できないところは、GUIのメニューでやってます。
と、書いていたら、同じような時期に買った人がいた。
とりあえずMacが欲しいと思った訳ですよ。なぜって:
- 自宅で仕事向けの勉強とかしなくなったから、Windows動かなくても困らない。
- 趣味のコーディングはVM上のLinuxだけど、やっぱり時々Xとかを動かしたくなる。
- でもCygwinはパーミッションとかを馬鹿正直に変えてくれるから、バックアップアプリケーションと干渉していや。
- かと言ってVMのコンソールでXあげてるととろいし、ホストOSとクリップボードのやり取りとかが面倒。
- かと言って、さすがにネイティブでLinuxだとDVD観たりとか、外の世界とのやり取りがまだまだ怪しい。
- じゃ、Macでいーじゃん。新しいことしよう(w
きっと可動部品は相当いたんでるんだろうなと思いながらも、半年前はLeopard待ち。Time machineがものすごく良さげに見えたから。で、その後はMacWorldExpoでリアルモバイルなのが発表というのがまことしやかに語られ始めていたので、様子見。
結局、その後、購入に至ったのですが、無印MacBookにしました。「空気のように軽い奴」はいろいろ妥協が必要なので:
- Wirelessなのはきっと問題なし。マウスはBTだし、デジカメの取り込みとかは今年主流のインクジェット複合機ならネットワーク経由でいけそう。iPodもtouchにしちゃえばきっとだいじょぶでしょ。
- バッテリーが5HってSSDでカタログスペックでしょ、きっと。ハードディスクで実測したら、もっと少なくなりそう。
- でもSSDはまだ高杉。3年くらいすれば主流になってると思うけど。それまではスピンドルでがんばるしか。容量も現状を考えると120G玉は最低必要。
- にしても1.3kgってなんか中途半端。だったらX61sにするでしょ。でもMac OS Xが使いたいの。
- under 300k JPYくらいにしたい。
そんな訳で、Keynoteのあとで無印をクリックしようと思ったら、Apple Careが選べないようになっていたので何日かウォッチ後、やっとこさご購入できたのですよ。
本日ご到着されました。午後休を必死でこらえて定時ダッシュで帰宅。
ちまちまいじり始めましたが、勝手が違うって新鮮で素敵だなぁ。コピペのやり方もIMEの切り替えもわからない。今のところフィーリングで操作できないところは、GUIのメニューでやってます。
と、書いていたら、同じような時期に買った人がいた。
登録:
投稿 (Atom)