Macintosh Developer Online (MDOnline)


2000年10月2日発行号 - UNIXな質問に答える



今度の土曜日と日曜日は、アニーズ・クラフトさん主催の「Mac OS Xセミナーin福岡」があります。何度か記事を書きましたけど、参加枠はまだあるそうなので、どんどんお申し込みください。講師はさておき(笑)、受講者もけっこう濃い面子とのお話ですので、Mac OS Xにコミットしたい人は、懇親会に来て人脈作りをするのもいいかもしれません。また、MDOnlineはメディア関係者の方々も御覧になっていますが、取材は歓迎するということだそうですので、人を派遣されていはいかがでしょうか。
http://www.annies.ne.jp/training/training_seminar.html
なお、土日月と私は福岡に移動していますので、MDOnlineは、1号お休みをいただく予定です。御理解の程をお願いします。

話し変わって、Mac OS X Public Betaの件です。AirMacは使えないことになっていますが、MacNNの掲示板で使えるようにする方法が紹介されています。記事にしようかとも思ったのですが、別のメディアだけに、こちらで紹介するにとどめます。どなたかやってみてうまくいったら教えて下さい。
http://forums.macnn.com/cgi-bin/Forum3/HTML/001327.html

今日は、MacWIREの寄せられたMac OS XからみのUNIX関連の質問の解答をこちらの記事にしました。たぶん、というか、間違いなくMacWIREにも掲載されるかもしれませんが、正直言って全部自分で答えられません。もし、補足や何か知っていることがあれば、メールをいただければありがたいです。
(新居雅行 msyk@mdonline.jp


MacWIREに寄せられたMac OS X Public Betaに関するUNIX絡みの質問と答え

MacWIREではMac OS X Public Betaに関する質問の受付を行っていたが、そこに寄せられた質問のうち、UNIX関連のものに対して、とりあえずお答えしよう。とは言うものの、筆者はUNIXの専門家を自称するものではない。ハッキリ言って、最近になってから、タダのものだし使ってみるか…という感じのビギナーに近い利用者であることはお断りしておく。もっとも、タダになったから、いくつかのシステムをFreeBSDで組んだりもしているのであるが…。また、検証に時間がかかるものでお答えできないものや分からないこともあるので、その点もご了承願いたい。

Q:UNIXのコマンドは受け付けてくれるような仕組みになっているのでしょうか。(佐々木徹さん)
―はい。Terminalというアプリケーションがあり、文字通りターミナルウインドウが出てきて、シェルで操作が出てきます。cdだとかpwdなどのコマンドは普通に受け付けてくれます。また、telnetによるリモート接続によってコマンドを処理させることもできます。

Q:Unixのconfig Fileのように初心者Userがその存在がどこに有るのか理解が困難な状況を発生させることがないでしょうか。(Macfreak)
―Mac OS Xの側で、System PreferencesアプリケーションなどGUIベースでの設定アプリケーションを用意する限りにおいては、設定ファイルの存在は気にする必要はありません。(ということでいいっすか?)

Q:BSD上で動くアプリはHFS+でフォーマットされたディスク上に有っても動きますか。(Ito Hiroakiさん)
―理論上は動くはずです。ただし、ファイル名の大文字小文字を区別しないため、同一ファイル名ながら大文字小文字で区別しているような状況があるとちょっとやばいかも(ほとんどないとは思うけど)。むしろ、一般的なUNIXと異なるディレクトリ名であることでの調整が出てくるでしょう。

Q:ParlやTcl/TkでAppleScript並のOSの制御が出来ますか。(Ito Hiroaki)
―一概に答えにくいですが、ほぼ、ノーでしょうか。Perlでは、Mac OS X上で動いているアプリケーションの操作まではできないと思います。また、ざっと見た限りでは、AppleScriptを動かすようなモジュールもないみたいです。

Q:ApacheからCGIとやり取りするのはAppleEventでしょうか。(Ito Hiroaki)
―違います。少し試したところでは、AppleEventによるCGI起動はできませんでした。つまり、従来のMac OS用のAppleEventベースのCGIが全然動かないみたいなのです。ApacheはUNIXで動いているものと同じと言えばいいでしょうか。Perlやシェルスクリプトのテスト用CGIは動きました。ただし、Terminalでパーミッションの書き換えが必要でしたが…。ちなみに、AppleEventベースのCGIを動かすには、特殊なモジュールを開発しなければならないでしょう。アップルにしろ、他のメーカがやるにしろ、いずれにしても、Public Betaにはその機能はありません。

Q:OS XではUNIXターミナルが開けるということでしたが、ここでgccは使用可能でしょうか。(遠藤さん)
「gcc」は見当たりませんね。「cc」ならあります。

Q:OS XはFreeBSDもどきが入っているそうだけど、もしかしたら*nix系アプレットなんかが使えてしまったりするわけ?(Deeさん)
―「もどき」にはちょっと抵抗したいですが(笑)。アプレットというのはGNOMEのアプレットという意味でしょうか? アプレットが使えるかどうかはYesでもあり、Noでもあるでしょう。X Windowが稼動するからなどと辿っていけば、Yesになりますが、現状では即稼動はできないですね。

Q:他のunixマシーンがexportしているファイルをNFS mountできるのでしょうか.(笠原さん)
―System Preferencesの設定ではありません(Mac OS X Serverにはあったと思いますが…)。Desktopのサーバ接続機能でもだめのような気がします。すみません、検証できる環境がないので試していません。コマンドを入力してマウントできるかということもあるのですが、これもわかりません。すみません。

Q:NISのクライアントになれるのでしょうか.(笠原さん)
―すみません、よくわかりません。NISを動かしている環境にないものですから。

Q:BSD-UNIXのSend Mail の機能はうまくGUI化されている様ですが、Telnet や FTP のクライアントソフトは標準で付属しているのでしょうか。(丹羽隆さん)
―Telnetのクライアントは、Terminalからtelnetコマンドを入れればOKですね。Internet ExplorerがFTPクライアントになる…なんて答えは期待していませんね(笑)。いわゆるFTPクライアントを持つアプリケーションはありません。もちろん、Terminalからftpとコマンド入力すれば、ターミナル形式でのftpのやりとりはできますけど。

Q:MacOS XでgccやTeX、gnuplotなどUNIX用のプログラムを動作させることはできるか?(豊田裕之さん)
―想像になるがお許しください。gccやTeXは理論的には動作できるでしょうけど、バイナリをソースから作れるかどうかですね。gnuplotもコンパイルできるかもしれませんが、プロッタ類を実際に動かすとなるとI/Oがらみなのでダメな可能性大です。いずれにしても、コンパイルできない可能性も高いですから、あまり期待しない方がいいでしょう。

Q:Terminalが使えるということですが、UNIXと同じようにc/c++のコンパイルはできるのでしょうか?(豊田和弘さん)
―同じようにというのをどのレベルで言うのによりますが、理論的にはいちおうできるのではないかと思います。しかしながら、ccはあってもgccはないので、gccを使うものはそのままではダメですから、ソースなどを自分で変更を加えることになります。いずれにしても、多くのソースは、Mac OS X向けに作られていないだけに、オープンソースのものを持ってきてそのままコンパイルできるかどうかはあまり期待しない方がいいかと思います。

Q:UNIXってシステム起動にやたら時間がかかるという印象があるのですが、UNIXをルーツに持つOS Xの起動時間は、OS 9に比べてやっぱり長時間かかるのでしょうか。(Yoshihito Saitouさん)
―Mac OS Xと同じくらいかなと思いますが、やっぱりちょっと時間は長いですね。大雑把な測定では、同一マシンでの起動までの時間を比べると、Mac OS 9が1.5分、Mac OS Xは2.5分でした。

カテゴリ:Mac OS X


【Mac OS X Public Betaシリーズ】ファイルサーバとしてのパフォーマンスは?

Mac OS XはBSDをコアに持っていることから、ネットワークとなるととにかくいろいろな話題が込められている。その中から、AppleShareファイルサーバになる機能をまず見てみたい。Mac OS X Public Betaが稼動しているマシンをAppleShareファイルサーバにするには、System Preferencesアプリケーションを起動し、Sharingの項目を開く。そこで、File Sharing OnにあるStartボタンをクリックすればよい。ただし、この設定項目は、ウインドウ左下のロックを、管理権限のあるアカウントとパスワードを使って解除してからでないと設定できない(管理権限については別の機会に説明する。ここでは、インストール時に最初の登録したユーザと思えばよい)。こうすれば、AppleShareファイルサーバになるが、正確にはAppleShare IPのサーバである。通常のAppleTalkのファイルサーバにはならず、IPモードのみとなっている。

◇System PreferencesのSharing
 

Mac OS 9では公開するフォルダを指定するなどしたが、Mac OS Xではそうした指定が一切ない。Finderで公開するという設定がないわけだ。その代わり、各アカウントのホームディレクトリが公開されるという仕組みになっている。このあたりも、アカウントについてを説明してから回を改めて状況を詳しく説明しよう。

ここではMac OS Xのファイル共有サーバとしての性能を評価してみたい。同一のサーバ上で、Mac OS Xが稼動している場合、Mac OS 9.0.4が稼動しているそれぞれの場合で、ファイル共有機能を使ってサーバとして働かせる。そして、いずれのサーバの場合でもMac OS 9.0.4をクライアントにして、大きなファイルのコピーや、数多くのファイルのコピーをやってみた。以下はその結果だ。グラフが長いほど時間がかかっていることを示す。つまり、短いグラフ程速いということだ。右側がサーバのOSを示している。

◇大きなファイルのコピー(225MBのファイル)
<クライアント→サーバ(書き込み)>
              □□ 35秒:Mac OS X PB
       ■■■■■■■■■153秒:Mac OS 9
   ■■■■■■■■■■■■■238秒:Mac OS 9(IP)
<クライアント←サーバ(読み込み)>
             □□□ 54秒:Mac OS X PB
       ■■■■■■■■■160秒:Mac OS 9
      ■■■■■■■■■■175秒:Mac OS 9(IP)

◇たくさんのファイルのコピー(1000ファイルあるフォルダ、総容量は約2MB)
<クライアント→サーバ(書き込み)>
        ?□□□□□□□123秒:Mac OS X PB
    ■■■■■■■■■■■■213秒:Mac OS 9
■■■■■■■■■■■■■■■■291秒:Mac OS 9(IP)
<クライアント←サーバ(読み込み)>
        □□□□□□□□144秒:Mac OS X PB
              ■■ 42秒:Mac OS 9
              ■■ 40秒:Mac OS 9(IP)
               (□、■=18秒)

サーバ:Power Macintosh G3(Blue & White), 300MHz, 256MB, 6+8GB
  OSとして、Mac OS X PB、Mac OS 9.0.4(AppleTalkおよびIP)で比較
クライアント:PowerBook(FireWire) 400MHz, 192MB, 20GB, Mac OS 9.0.4
ネットワーク:100BASE-T、ノーマルのハブで接続

概して、Mac OS 9のファイル共有よりも、Mac OS Xのファイル共有の機能の方が速いと言えるだろう。大きなファイルではダントツであるが、おそらく、これはネットワークの転送処理が大幅に改善されていることを意味していると思われる。しかしながら、数多くのファイルをコピーした場合には様子が違う。サーバへの書き込みはMac OS Xの方が速いが、サーバからファイルをコピーする場合には、Mac OS 9をサーバにしている方が圧倒的に速いのである。理由はいろいろ想像できるが、システム的な動きがMac OS 9とは大きく違うのは間違いないだろう。
たくさんのファイルをサーバに対してコピーする場合、実はかなり時間のばらつきがあった。最高で90秒くらいから、最高では150秒くらいまで幅があり、条件により違いが多そうだった。グラフでは、起動直後に行った数値を採用したが、いずれにしても、Mac OS 9をサーバにした場合よりも早かった。
Mac OS Xは拡張フォーマットの起動ディスクで実験をした。UFSの場合でもAppleShareのファイルサーバになることができる(Mac OS X Serverではそれができなかったので、インストール後に再フォーマットをした人は多いだろう)。しかしながら、そうして公開したフォルダには、なぜかファイルの書き込みができない。アクセス権は確かにあるのに書き込みできないのである。また、公開ポイントがホームフォルダの中のPublicフォルダになっているなど様子が違う。いずれにしても、書き込みできないので、使いようがない。AppleShareサーバにするにはとりあえずは拡張フォーマットをするということになるだろう。

なお、Mac OS Xの話とはずれるが、Mac OS 9では、IPを利用するよりAppleTalkのAppleShareの方が処理能力は高い。POWERBOOK NEWSの飯嶋氏によると、Mac OS 9のAppleShare IPは、以前からあるAppleTalkによるAppleShareの上にかぶせる形で稼動するものなので、余分に処理が入り、パフォーマンスは悪くなるのだろうということだ。

カテゴリ:ネットワーク, Mac OS X Public Betaシリーズ, Mac OS X


ファイルメーカーが一括購入者に対しサポートチケットプレゼントのキャンペーン

ファイルメーカーは、2000年10月1日から12月31日までの期間限定で、「テクニカルサポートチケット・プレゼントキャンペーン」を実施する。ソフトウェアライセンスプログラム「ファイルメーカーSLP」におけるVLA(Volume License Agreement)ないしはBox Setの購入者を対象に、購入額の10%分に相当するテクニカルサポートチケットがプレゼントされる。サポートチケットの通常料金は\2,500だ。たとえば、ファイルメーカーPro5を30ライセンス購入すれば、27枚のチケットがもらえる。

関連リンク:VLA、Box Setのお客様向けテクニカルサポートチケットプレゼントキャンペーンを実施
カテゴリ:サービス, データベース


Mac OS X Public BetaでMySQLをコンパイルする方法を紹介

Mac OS X Public Betaで、オープンソースのデータベースエンジンMySQLを稼動させる方法が、以下のページで紹介されている。稼動させたのは、Ver.3.23.24-betaで、ソースをダウンロードするとともにこのページで公開されている修正ファイルを加えてコンパイルするというものだ。ただし、Terminalでコマンドを入れながら作業を行う必要がある。

関連リンク:Mysql for MacOSX Server
カテゴリ:データベース


AppleScriptで書式指定した日付の文字列を生成するOSAX

Runtime Labsは、AppleScriptで日付を初期化した文字列を生成するためのOSAXをフリーでリリースした。format dateというコマンドで機能は提供され、「format date( current date ) with format "%Y-%m-%d"」のような形式で、初期の定義を文字列で行える。たとえば、UNIX形式の日付文字列を比較的簡単に生成できると言えるだろう。ただし、文字列からDateクラスのデータを作成する機能はない。

関連リンク:Runtime Labs Software Downloads
カテゴリ:AppleScript


Mac OS X Server 1.2向けのSystem Diskユーティリティが公開

従来のMac OSと、Mac OS X Serverとの起動システムの切り替えを行うSystem Diskがソフトウエアアップデートで公開されたが、これは、Mac OS X Public Beta用ではなく、Mac OS X Server 1.2用である。Mac OSでは「起動ディスク」コントロールパネルで起動に利用するシステムを選択できるが、Mac OS 9までのシステムが含まれたボリュームしか選択できない。System Diskを使えば、Mac OS X Serverがインストールされたボリュームを起動ディスクに選択できる。ちなみに、Mac OS X Public Betaに付属するSystem Diskは、Ver.3.3ともっと新しいものである。

関連リンク:System Disk Utility for MacOS X Server 1.2 Ver.2.6.2
カテゴリ:Mac OS X Server


2000年9月28日にTech Info Library-Jで公開された文書

日本語での技術情報を提供するTech Info Libraryにおいて、2000年9月28日に、以下の文書が公開されている。アドレスに加えて主なものは要約を示した。

◇30677JC:iMac: ROM in RAM 機能のために使用可能なメモリが減ります
 http://til.info.apple.co.jp/cgi-bin/artnum?id=30677
ROM in RAM方式ではROMイメージをRAMに展開するため、システムが利用するメモリは増える。だが、パフォーマンス的には悪くはなっていない。

◇24763JC:Macintosh: 起動時に時間がかかる
 http://til.info.apple.co.jp/cgi-bin/artnum?id=24763
起動ディスクが選択されていない状態だと、電源オンの後の?マークが出てから起動にいたるまでの時間が長くなる場合がある。PRAMリセット後などにそうした状態になっている可能性がある。

◇106000JN:Mac OS X Server: DesktopDB プロセスが大量に CPU 時間を消費する
 http://til.info.apple.co.jp/cgi-bin/artnum?id=106000
Mac OS X Serverで、DesktopDBというプロセスが多量のCPUタイムを消費してしまう場合の対処法が記載されている。(MDOnlineで既報の通り、ファイル共有をオンにしたクライアントから、Mac OS X Serverで公開されているフォルダをマウントした時に発生する場合があるという報告をもらっている)

◇58614JN:PowerBook (FireWire) and iBook (FireWire): USB 装置接続時のスリープ解除(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=58614
◇60376JC:AppleShare IP 6.2: AppleShare IP 6.2 について
 http://til.info.apple.co.jp/cgi-bin/artnum?id=60376
◇31236JC:GameSprockets 1.7.5: GameSprockets について
 http://til.info.apple.co.jp/cgi-bin/artnum?id=31236
◇58289JC:ColorSync 2.6.1: Read Me(ColorSync 2.6 および 2.6.1)(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=58289

関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J