札幌市円山動物園のユキヒョウの赤ちゃん

Snow Leopardにゾッコンです。毎日Webサイトをチェックしてしまいます……って、また札幌市円山動物園のユキヒョウの話ですが。7月19日締め切りで、愛称を募集中なんだそうです。ただし、動物園に備え付けの用紙を使わなければなりませんから、関東在住の私では応募は無理かも。北海道にお住まいの方、どうぞかわいい名前を付けてあげてください。

さて、今回は「OS X独自コマンド」の総論を語ってみたい。OS Xの場合、機能の追加 / 廃止にあわせてコマンドも増減する傾向が顕著で、Snow Leopardではコマンドの入れ替わりが予想されるためだ。「第326回 Snow Leopard一般公開記念!? - 現在も進化を続けるNeXTSTEPの忘れ形見「open」」とあわせてお読みいただきたい。

Snow Leopardではこう変わる?

前回書いたとおり、OS Xになにがしかの機能が追加された場合、コマンドラインでも処理できるよう、それと同等の機能を持つコマンドが提供される場合が多い。mdutilなどのSpotlight関連コマンド群は、その好例だろう。Rosettaのように、コマンド(/usr/libexec/oah/translate)の形で実装された機能をGUIから呼び出す、というケースもある。

その法則(?)に従い、機能が廃止された場合にはコマンドが取り除かれる。LeopardではNetInfoが廃止されたが、あわせてnidumpやniclなどの関連コマンド群の収録も見送られている。

となると、Snow Leopardで行われるはずのコマンドの増減についても、ある程度の予想がつくというもの。Grand Central DispatchとOpenCLに関しては、開発者向けの(デバッグ/監視目的の)コマンドが追加されてもおかしくはなく、QuickTime Xについても大幅な書き換えによりコマンドの整理/強化が行われても不思議はない。

Obsoleteになった機能についてもまた然り。launchdへの移行により利用される機会が激減した「Systemstarter」は、Snow Leopardですべて取り払っても影響はないはず。まだ完全には終結していないPowerPCからの移行だが、Snow LeopardのPowerPC版が提供されないこともあり、前述したRosetta(translateコマンド)の命運はほぼ確定と考えられる(廃止はSnow Leopardより先の話だろう)。PowerPCニーモニックの意味を表示するPPCExplainコマンドは、さすがにディスコンとなりそうだが。

絶滅危惧種候補(?)のPPCExplainコマンド

/etc/hostconfigのように、消え行く運命にあることを自ら宣言しているファイルもあるが……(画面はMac OS X 10.5.7のもの)

おそらく生き続ける? 独自コマンドたち

ここまで紹介したコマンドは、すべて"浮き沈み"がある機能に関連している。しかし、OS X独自のコマンドであっても、システムの深い(低位の)部分に関係するものであれば、恒久的に残り続けると考えられる。それでは目先を変えて、openコマンドと同様に、今後も残り続けるであろうコマンドをいくつか紹介してみよう。なお、開発環境(Developer Tools)のインストールを前提としているので念のため。

hostinfo

引数なしで実行すればシステム情報を表示するこのコマンドも、やはりNeXTからの生き残り組。引数どころかオプションも必要なし(というよりオプションはない)、ただ淡々とカーネルのバージョンやプロセッサ数を返してくれる。敢えて取り去る必要もないので、このまま残り続けるのではなかろうか。


$ hostinfo

hwprefs

NeXT由来ではなく、開発者向けに提供されるCHUD Tools(パフォーマンス測定用ツール群)に同梱のコマンド。使用目的はhostinfoコマンドと同じで、システム情報を把握するためのものだが、こちらのほうが扱う情報の幅は広い。使い方はシンプルで、引数として「ostype」や「memorysize」などの文字列を与えればOK。有効な引数は、引数なしでコマンドを実行すれば表示される。


$ hwprefs cpu_type
Intel Core 2 (Merom) v15.0

diskutil

こちらもOS X以降に追加されたコマンドだが、DiskManagement.frameworkのフロントエンドとして、Disk Utility.appとほぼ同等の機能をCUIで提供することから、急な廃止は考えにくい。ただし、Leopardの現在も残るOS 9関連の機能は、近い将来には取り除かれるのではなかろうか。


$ diskutil info disk0
   Device Identifier:        disk0
   Device Node:              /dev/disk0
   Part Of Whole:            disk0
   Device / Media Name:      FUJITSU MHW2120BH Media

lipo

Mach-Oならではの複数アーキテクチャ対応バイナリ(ユニバーサルファイル)をハンドリングするためのコマンド。こちらもNeXT由来だが、機能が機能なだけに、OS XがIntelアーキテクチャへ移行を始めるまではあまり注目されなかった過去がある。再びOS Xは単独アーキテクチャへと戻るわけだが、iPhone OSのこともあるため、急に取り除かれるとは考えにくい。ただ、以下の実行例のようなクアドラプル・バイナリにお目にかかる機会は、グッと減るはずだ。

Leopardには、4種類のアーキテクチャに対応したバイナリファイルは少なくない