【コラム】

OS X ハッキング!

19 システム環境設定と/etc/hostconfigの関係

    海上 忍  [2002/05/31]

    まずはOS X以外の話題を少しばかり。間もなくリリースされるAmigaの新しいOS、Amiga OS 4.0のスクリーンショットが公開されている( http://os.amiga.com/os4/ )。UI的には現行の3.9と大差ないが、4.0では68kを捨てPPCに完全移行を遂げたうえ、G3/G4のDual搭載が可能なマザーボード( http://www.eyetech.co.uk/amigaone/300502update.php )も用意されるなど見るべき点は多い。古豪復活なるや否や?

    さて、今回は「/etc/hostconfig」の役割について説明してみよう。Finderには表示されないが、システム環境設定と密接な関係のある重要なファイルだ。OS Xの起動プロセスにも関係するため、内容に変更を加える場合には十分に注意してほしい。

    OS Xにおけるシステム設定は、「システム環境設定」に配置されたパネルを操作することが基本となっている。IPアドレスの設定は「ネットワーク」、ユーザアカウントの追加/削除は「ユーザ」、ファイルサーバは「共有」、といった具合だ。システム上重要な項目を変更する場合は管理者権限を要求されるが、どこに情報が保存されるかをユーザは意識する必要がない。

    しかし、システム環境設定はあくまでユーザインタフェースであるため、実際の情報はファイルシステム上のどこかに保存される。たとえば、ユーザアカウントに関する情報はNetInfoデータベースに保存され、デスクトップの壁紙に使用するファイルは~/Library/Preferences/com.apple.desktop.plistに保存される。

    そのうちシステム全体に影響を及ぼすネットワーク関連機能については、/etcディレクトリの「hostconfig」というファイル、すなわち「/etc/hostconfig」に記録される。OS Xは起動プロセスの段階でこのファイルの内容を参照し、必要な設定を行うのだ。AppleTalkの有効/無効、AppleShareサーバの有効/無効、sshd(遠隔操作を管理するサーバ)の有効/無効は、この/etc/hostconfigに情報が記述されている。下表の項目についてシステム環境設定で有効/無効を変更し、Terminalから「cat /etc/hostconfig」と実行してファイルの内容を確認すれば関連する様子がわかるはずだ。

    ○/etc/hostconfigのうち主要な項目

    項目名関連する「システム環境設定」のパネル機能
    HOSTNAMEなしホスト名(「AUTOMATIC」にすると自動設定)
    AFPSERVER「共有」パネルの「ファイルとWeb」タブAppleShareサーバの有効/無効
    APPLETALK「ネットワーク」パネルの「AppleTalk」タブAppleTalkの有効/無効、またはルータモードなど動作の指定
    TIMESYNC「日付と時刻」パネルの「ネットワークタイム」NTPサーバへの接続の許可/不許可
    WEBSERVER「共有」パネルの「ファイルとWeb」タブWebサーバ(Apache)の有効/無効
    SSHSERVER「共有」パネルの「アプリケーション」タブsshdの有効/無効

    だが、システム環境設定のパネルから操作できない項目もある。その代表例が「HOSTNAME」で、インストール直後は「-AUTOMATIC-」に設定されている。この項目はTCP/IPネットワークでのホスト名を決める役割を持ち、自動に設定されている場合はDNSサーバに問い合わせる形でホスト名を設定するが、DNSサーバがなければ初期値の「localhost」が割り当てられる。試しにTerminalから「uname -n」を実行し、ホスト名を確認してほしい。「localhost」と表示されたのではないだろうか?

    任意のホスト名を設定する場合には、システム環境設定にホスト名用のパネルが用意されていない以上、/etc/hostconfigを手動で変更しなければならない。管理者権限を持つユーザでログインし、Terminalで「sudo vi /etc/hostconfig」と実行して「-AUTOMATIC-」の部分を削除、任意のホスト名を入力してから上書き保存してみよう。OS Xを再起動後、もう一度「uname -n」を実行したときに先ほど入力したホスト名が表示されればOKだ。

    ところで、/etc/hostconfigは起動プロセス中に/etc/rc.commonにより読み込まれるが、そのとき「COREDUMPS」という項目もチェックされる。デフォルトでは存在しない項目だが、「COREDUMPS=-YES-」という行を追加後にシステムを再起動すると…制限なしにコアダンプを作成するようになるのだ。OS Xをプログラム開発に利用している場合には役立つことがあるかもしれない。

    バックナンバー
    http://pcweb.mycom.co.jp/column/osx.html

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン