OS Xで /etc/hosts を有効にする ― 2009/07/01 14:37

先日書いたスクリプトの件で、追記。
特定のホスト名に関する名前解決をローカルで行わせるために、/etc/hosts にレコードを追加するようにスクリプトに書いたのだが、名前を解決してくれない。
/etc/hosts は存在しても
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
と書いてあって、標準では起動時にループバックを認識させるためにしか使わないとあった。
ググってみたら追加で登録したレコードは Netinfo に登録しないといけないという記述が何点か見つかった。ところがこいつは 10.5 Leopard で Netinfo は廃止され Open Directory で管理されるようになったため、この手は使えない。

Apple のサポートに電話して聞いてみたが、これがまたいけない。出てきた担当者は即答できず折り返し電話をするという。ところが何回説明しても、尋ねられている質問の内容が理解できないらしい。いいかげん堪忍袋の緒が切れて、「あなた TCP/IP ネットワークのこと全然知らないんでしょ?わからないんだったらわかる人に繋いでくださいよっ!」と怒鳴りつけてしまった。

しばらくして替わりの担当者から電話があり、どうやらディレクトリユーティリティにその機能が備わっているということがわかった。ところがこれまた、サポートの範囲外なので手順は教えられないと言う。???そーいうものなんでしょうか....

ともあれどうやら設定は可能らしいのでディレクトリユーティリティを起動してみたところ、サービスをクリックすると利用可能なサービスの一覧(Local、LDAPv3、BSDフラットファイル、Active Directory)が表示されている。このうちチェックが入ってデフォルトで利用可能なのは、Local と LDAPv3。

BSDフラットファイルにチェックを入れて鉛筆マークをクリックすると「BSDローカルノードのユーザおよびグループレコードを使う」にチェックボックスがあった。ヘルプで調べてみると、/etc 以下の各種設定ファイルを読み込ませるにはここをチェックすればいいとわかった。

「さて、これで大丈夫」とひと安心して試してみるがまだ駄目。あらためてヘルプを読み直したり、ググり直したりしたがめぼしい発見はない。/etc の下を眺めること15分。「???」/etc/host.conf がないでやんの Orz こいつがないから hosts を参照してくれないのだった。別にデフォルトで無視するんだったら残しておいてくれてもいいような気がするんですがねぇアップルさん。

MacBook Pro 13インチは快適 ― 2009/06/29 22:48

この性能で20万円を楽勝で切る値段で買えるのは、かつてを知る者としては冗談としか言いようがない。
初代の黒いMacBookからの乗り換えだが、CPUが CoreDuo 1GHz / メモリ 1GB から Core2Duo 2.56MHz、メモリ4GBに増強されたおかげでちょっとしたウィンドウの操作、アプリケーションの切り替えの際に発生していた「待ち」がほとんど発生しない。
5月の末に MacBook 13インチに買い替えようとほとんど衝動買いに近い感情になっていて Apple Store Ginza かヨドバシあたりに走りそうだったんだが、ふと WWDC で何かああるかもしれないと気付きいったんは衝動を抑えた。

しかし iPhone 3GS って公称2倍のレスポンスになったというのが、実際にはどうなのかを見てみたくて Apple Store Ginza に行ったのがうんの尽き。今使っている iPhone はまだ14ヶ月ばかり縛りがあるし、3GS に換えないとにっちもさっちもいかないほどの不満もない。で、ふと Pro に昇格した MacBook 13インチの展示品を触ってみたところ、気がついたら店員さんから「ありがとございました〜」とお見送りを受けていた。

実際に使ってみて、初代の MacBook で最も気になっていた冷却ファンの轟音がほとんど気にならない。しかもレスポンスで引っかかるところがない。重さも若干軽くなっているし大満足である。

今までPCを買う際には、マザボが許容する最大容量のメモリを積むようにしていたので本当はメモリ8GBにしたかったんだが、4GBモデルから10万円ちょいアップ。30万円でおつりが来る値段に跳ね上がるのでそれは断念した。サードパーティーの製品で8GB(4GB x 2)の価格を調べてもやはり11万円前後で、前の MacBook を買った時とは違い、Apple純正もサードパーティー製品もたいした価格差がない。

まぁ実際に以前の環境を新しいマシンに移行してメモリの使用量をアクティビティモニタで見ても一応余裕ができたので8GBまで載せる必要はなかったのかもしれない。

マジックスパイス スープカレー ― 2009/06/28 11:23

元祖のスープカレーだそうである。
胃が弱くなったためだろうか、どろどろしたタイプのカレーはあとで胸が焼けたりして最近はさらっとしたタイプのカレーが好みになった。
しかし、これは、とろみという概念そのものがない。それはそれでいい思い切りだし、とろみが欲しければ水溶き片栗粉でも少し足せばそれで済む。
辛さはチリペーストとガラムマサラが別々に付いていてお好みで調整してくれというタイプだった。辛いのは別に構わないのでチリペーストは仕上げの段階で全部ぶち込んでしまい、食べる時にガラムマサラを適宜入れることにしたが、市販品としてはかなり辛い。
しかし、それだけ。スープというならもう少しスープでがんばって欲しい。実際の店で出すものはもっと仕事をしているのかもしれないが、「とりあえずスープを取りました」程度のレベル。手持ちのがらスープの素で補ったが、まぁ出来合の工業製品はこんなもんなのかな。

くさしているようだけど、これをお手本に自分の好みで作ればいいんだからいい教材になりました。

===以下追記(6/29)===
1箱2皿分の素である。これを2箱で計4皿分作った訳だが、今夜最後に残った約1皿を食べた、当然暖めなければいけないが、煮詰まった結果かなりスープの出汁が利いたものになってしまった。出汁が利けばうまいのは間違いないんだが、一箱2皿の計量であれば煮詰めるまでもなく食べきってしまう。店の名前を冠につけた商品を売る以上、、間違いなくその箱に書いてあるレシピ・手順通りに作っておいしいはずだが、結局大量に調理して鍋に残し、時間をおかなければそこそこの味になってこないのではちょっとなぁと思う。

< 自分で作ったものなので、それはそれでおいしくいただきましたが...

sudo の挙動 ― 2009/06/25 13:38

先日のスクリプトの続きでまたおもしろい経験をした。

OS Xでは通常 root アカウントが無効にされているため、ターミナル内の CUI で管理権限が必要な操作を行う場合、コマンドの頭に sudo をつけて実行する必要がある。

/etc/hosts ファイルにレコードを追加する必要がでてきたので、この間 Automator で sudo route add のスクリプトをアプリケーション化したのと同じように、

sudo echo 192.168.111.xxx foo.bar.com >> /etc/hosts

といった内容を作ってみたところ、動作確認でエラーが出てしまう。

同じ一文を実際にコマンドラインで実行してみたら、/etc/hosts に対するパーミッションエラーでアクセス拒否されてしまうことがわかった。

これは sudo で管理権限が与えられているのが echo コマンドだけで、次のリダイレクションによる /etc/hosts に対する文字列書き込み動作にはその影響が及ばないからだろうと思い、Automator を離れて、単純にsudo 抜きのコマンドだけを記述したシェルスクリプト script.sh を書いて

sudo ./script.sh

とコマンドラインから実行してみたら、みごとに通った。

「そんなことは常識」と言われてしまう程度のことかもしれないが、まぁひとつお利口になりました。

OS Xでシェルスクリプトの起動項目化成功! ― 2009/06/19 17:34

ついさっきのエントリ(OS Xでシェルスクリプトをアプリケーション化する)では経路情報の追加を起動時に自動で実行させる試みに頓挫して、アプリケーション化でお茶を濁したと書いたが、どうにも煮え切らない思いだったのであらためてヒントになる情報がないかググって探してみたところ、Mac OS Xの起動の仕組みという名古屋大学の内藤さんという方がOS XBetaの頃に書かれたページが引っかかった。

ここに書かれていた内容を参考にしてあらためてStartupParameters.plistの中身をXMLではない古いスタイルで書き直してみたところ、書式エラーは出なくなった。

しかしそれでもスクリプトの実行自体は fail してしまう。

もう一度あらためてスクリプトを眺めること5分。なんのことはない、1行目の冒頭 #!/bin/sh で始めなければならないのに、#が抜けてる orz .... しかし、きちんと#を補って SystemStarter start してみたところ無事経路の追加に成功。

さっきのエントリでは10.4の頃から変更になったと書いたけれど、2001年のBeta時代からしっかりと移行は始まっていたんですね。まぁこれでひと安心です。ありがとうございました内藤先生 m0m