ネットワ 図 7 同じ IP アドレスの行が 2 回現れる hosts ファイル ーク・ミニ実験室② 12 7 . 0 . 0 . 1 localhos し 19 2 . 16 8 . 10 . 10 0 t e s し ho st 1 ・←旧アドレス 192.168.10.100 の設定を 2 行記述する 19 2 . 16 8 . 10 . 10 0 t e s し ho st 2 図 8 同一の IP アドレスのホストに向けて ping を実行した結果 (a) testhostl に対して ping を実行 名前解決が成功して正しい旧アドレスに バケットが送られた $ ping -c 1 testhostl P 工 NG testhostl ( 192 .168 . 10 .100 ) 56 ( 84 ) bytes of data . 64 bytes from し es に hos し 1 ( 192 .168 .10 .100 ) : icmp_seq=l t し 1 = 255 し土 me = 0 . 506 ms testhostl ping statistics 1 packets transmitted, 1 received, O% packet IOSS, time Oms r しし min/avg/max/mdev = 0 . 506 / 0 . 506 / 0 . 506 / 0 . 000 ms (b) testhost2 に対して ping を実行 名前解決が成功して正しい旧アドレスに バケットが送られた $ ping -c 1 testhost2 P 工 NG= 56 ( 84 ) bytes of data. 64 bytes from testhostl ( 192 .168 . 10 .100 ) : icmp_seq=l t に 1 = 255 に土 me = 0 . 264 ms testhost2 ping statistics 応答したホスト名は testhos ⅱと 表示される 1 packets transmitted, 1 received, O% packet IOSS ′ time Oms r にに min/avg/max/mdev = 0 . 264 / 0 . 264 / 0 . 264 / 0 . 000 ms と言当することで、 1 つの IP アドレスに複数のホスト名を 設定できます。 それでは、 IP アドレスホスト名 1 工イリアス 1 ・ IP アドレスホスト名 2 工イリアス 2 ・ のように、同じ IP アドレスカ夏数の行に設疋されていたら どうなるのでしようか。これまでの動作から推測すると、 1. どちらの行の設疋も効 2. 一方の行の設定だけが有効 最初に現れた行の定力陏効 最後に現れた行の言定力陏効 ・不定 ( どの行カ陏効になるかは決まっていない ) のいずれかになりそうです。そこで、今回も ping を使っ UNIX MAGAZINE 2005.7 192 . 168 . 10 . 100 testhost2 192 . 168 . 10 . 100 testhostl まず、図 7 の、 て実験してみることにします。 のように、 hosts ファイルに同じ IP アドレスの行を 2 つ 追加し、それぞれに別のホスト名を割り当てます。 そのうえで、 testhostl と testhost2 に文寸して ping を 実行し、どのように名前解決がおこなわれるかをみてみま しよう。 図 8 は、 2 つのホスト名に対してそれぞれ ping を実行 した結果です。 testhostl と testhost2 のどちらの場合も 名前解決が成功し、 ping の応答カ弡ってきています。 このことから、 ( すくなくとも実験に使った OS や環境 では ) 次の糸喆侖が得られます。 、、同一の IP アドレスカ数の行に言当されていると、ど ちらの行も効になる " 推測の答が得られたところで、さらにもう一歩踏み込ん で、図 8-b の結果をみてみましよう。 2 行目の、 PING testhost2 ( 192.168.10.100 ) 61
図 1 /etc/hosts の記ホ例 12 7 . 0 . 0 . 1 192 . 16 8 . 10 . 1 192 . 16 8 . 10 . 2 localhos し・一このホスト自身 smtpserver fileserver ・←複数のホスト名の割当て www. nodomain. jp 。ードメイン名を含むホスト名 ( FQDN ) 図 2 名前解決の動作砡忍 (a) 名前解決に成功 ( 旧アドレスがみつかった ) 名前解決でみつかった sm ゆ se Ⅳ e 「の 旧アドレスは 192.168.10.3 $ ping -c 1 smtpserver P 工 56 ( 84 ) bytes of da む a. 64 bytes from smtpserver ( 192 .168 . 10 . 3 ) : icmp_seq=l t し 1 = 255 t 土 me = 0 . 517 ms smtpserver ping statistics 1 packets transmitted, 1 received, O% packet IOSS ′ time Oms rtt min/avg/max/mdev = 0 . 517 / 0 . 517 / 0 . 517 / 0 . 000 ms (b) 名前解決に失敗 ()P アドレスがみつからない ) $ ping -c 1 ftpserver ping: unknown hOSt ftpserver (c) 名前解決は成功したが通信相手が停止している $ ping -c 1 www. nodomain . JP P 工 NG www. nodomain . jp ( 192 .168 . 10 . 2 ) From myhost ( 192 .168 . 10 . 5 ) icmp_seq=l Destination HOSt UnreachabIe www . nodomain . JP pxng statistics 1 packets transmitted ′ 0 received, + 1 errors, 100 packet IOSS ′ time Oms ftpse Ⅳ e 「の旧アドレスがみつからなかった 56 ( 84 ) bytes of data . 応答が返ってこなかった 名前解決には成功したが、 ping に対する 2 番目の利点はすこし分かりにくいかもしれませんね。 たとえば、最初は、 192 .168 . 10.100 machinel wwwserver smtpserver としておき、 machinel の負荷カ寸曽えてきたら、 192 . 168. 10. 100 machinel wwwserver 192 .168.10.101 machine2 smtpserver のように複数のホストで役割を分担すれば負荷を分散させ られます。さらに、 smtpserver からメールを受け取るよ うにメール・クライアントを設疋しておけば、 IP アドレス やホストの実体か変わってもメール・クライアントの設疋 は変更しなくてすみます。 名前解決の動作の検証 名前解決が正しく動作しているかを確認する簡単な方法 は、実際に通信してみることです。 ping コマンドを使って 58 試してみましよう。 図 2-a は、名前解決に成功したときの ping の実行結果 です。指定したホスト名に対応する IP アドレスがみつか れば、この図のように処理を実行していることを示すメッ セージが表示されます。 指定したホスト名が適切な IP アドレスになっているか は、 2 行目の、 PING smtpserver ( 192 .168 . 10.3 ) で確認してください。 この例では、 ホスト名 : smtpserver . IP アドレス : 192.168.10.3 となっています。 smtpserver の IP アドレスを図 1 のよ うに 192.168.10.1 にしていたのに上記の結果になったと UNIX MAGAZINE 2005.7
ネットワ 図 3 同じホスト名に 2 つの IP アドレスを割り当てた hosts ファイル ーク・ミニ実験室② 12 7 . 0 . 0 . 1 localhos し 19 2 . 16 8 . 10 . 10 0 し e s し ho s に ← testhost に 2 つの旧アドレス ( 192.168.10.100 、 192.168.10.101 ) を設定 19 2 . 16 8 . 10 . 101 し e s thos し 図 4 2 つの IP アドレスか割り当てられたホストに向けて ping を実行 $ ping -c 1 testhost ping バケットを 1 つ送信 P 工 NG testhost ( 192 .168 . 10 .100 ) 56 ( 84 ) bytes of data . 64 bytes from testhost ( 192 .168 .10 .100 ) : icmp_seq=l にし 1 = 255 む土 me = 0 . 553 ms testhost ping statistics 1 packets transmitted, 1 received. 0 packet loss, time Oms r しし min/avg/max/mdev = 0 . 553 / 0 . 553 / 0 . 553 / 0 . 000 ms 送信先アドレス : 192.168.10.100 したら、名前解決の処理になんらかの問題があり、意図ど おりの IP アドレスが得られていないことになります。 図 2-b は、名前解決が失敗したときの ping の実行結果 です。ホスト名に対応する IP アドレスがみつからなかっ た場合は、、、 unknown host" と表示されます。 おまけとして、名前解決は成功しても通信相手が停止し ている場合の実行結果を図 2-c に示しました。名前解決の 失敗と、 ping の実行の失敗 ( 通信相手から応答が返されな い ) を混同しないようにしましよう。 FQDN によるホスト名の指定 hosts ファイルの言当の話題に戻りましよう。 図 1 の 3 行目の、 192 . 168. 10 . 2 W . nodomain. JP を見てください。この行は、ドメイン名を含む完全修飾ド メイン名 (FQDN: Fully Qualified Domain Name) で した例です。 通常、 FQDN は DNS で管理しますが、 ・ DNS にトラブルが発生したときの一時的な対処 ・テストなどの目的で実際とは異なるホスト名として扱い たい場合 などに利用できます。 たとえば、 Web のコンテンツをテストする場合を考えて みましよう。このとき、本番機と同じコンテンツを置いた テスト機を用意したとします。コンテンツのなかに、 http : / / 本番機のホスト名 / ・・・ UNIX MAGAZINE 2005 . 7 のようなハイバーリンクがあった場合、 リンクをクリック すると本番機のコンテンツにアクセスしてしまいます。さ らに、フォームや CGI などに本番機のホスト名を参照し ている箇所があると、厳密なテストカ攤しいことは想像で きるでしよう。 このような場合、 Web プラウザを動作させるクライアン ト機とテスト機の双方で、インターネット上に公開してい る本番機と同じ FQDN をテスト機のホスト名として設定 すれば、コンテンツの内容を変更せすに検証できます。 ホスト名の重複 こですこし寄り道をして、異なる IP アドレスに同じ ホスト名カ殳定されているとどうなるのかを実験してみま しよう。 まず hosts ファイルに、図 3 のように ・ 192.168.10.100 のホスト名は testhost ・ 192.168.10.101 のホスト名も testhost という設疋を言します。これで、ホスト testhost に 2 つの IP アドレスが設疋されたことになります。このた態 で testhost に対して ping を実行し、どちらのアドレスに データが送られるのかを確かめてみます。 なお、このようなホスト名を書き換える実験は慎重にお こなってください。可能ならその他のネットワークに景彡響 を与えない、実験用の独立したネットワークを作って試す ことをお勧めします。 図 4 は、 testhost に対して ping を実行したときの様子 です。 2 ~ 3 行目の、 59
図 5 ping コマンドの / ヾケットの角材斤 (a) ping の実行中に / ヾケットをキャプチャし、 dupname. out ファイルに保存 tcpdump : 1 土 s セ en 土 ng on eth0 $ tcpdump -w dupname . out ping が終了したら Ct 小 C を入力してキャプチャを中止する (b) キャプチャしたバケットの解析結果 ( 192.168.10.5 は ping を実行したホストの旧アドレス ) 0 packets dropped by kernel 152 packets received by filter ホストの表示に旧アドレスを使う ( デフォルトの表示はホスト名 ) フィルタリングの設定 : testhost の バケットだけを表示 $ tcpdump -r dupname . 0uに -n host testhost 2 2 : 2 5 : 4 3 . 6 91635 192 . 16 8 . 10 . 5 > 192 . 16 8 . 10 . 10 2 2 : 2 5 : 4 3 . 6 918 5 6 192 . 16 8 . 10 . 10 0 > 192 . 16 8 . 10 . 5 : 図 6 tcpdump に一Ⅱオプションを指定しない場合 $ tcpdump -r dupname . ou む host testhost ICRIP : ping バケットの送信先アドレスは 192.168.10.100 ech0 request (DF) echO reply (DF) 22 = 25 : 43 .691635 myhost > ー・ icmp: echO request (DF) 22 : 25 : 43 . 691856 testhost > myhost: icmp: ech0 reply (DF) ー n オプションがなければホスト名で表示される ( 192 .168 . 10 .100 ) 64 bytes from testhost ( 192.168.10.100 ) : の表示をみると、 testhost のアドレスとして 192.168.10. 100 カ駛われたことが分かります。 PING testhost 図 5-b の 2 行目のキャプチャデータの解析結果、 小 ・ host testhost : testhost が送受信したデータのみを表 ・ -n: ホスト名の代わりに IP アドレスを表示 ・—r dupname. out : dupname. out ファイルを角牟析 それ次のような意味になります。 dump にいくつかのオプションを指定していますが、それ 図 5-b では、キャプチャデータを解析しています。 tcp- 力し、 tcpdump を終了させてください ( 図 5-a)0 イルに保存します。 ping の実行が終ったら Ctrl-C を入 は、キャプチャしたデータをそのまま dupname. out ファ tcpdump —w dupname . out 析した様子を示しています。図中の、 図 5 は、流れたデータを tcpdump でキャプチャし、解 は、 tcpdump を使って確認してみましよう。 実際に流れたデータの IP アドレスを確認します。ここで もっと確実に調べるには、ネットワーク・アナライザで 60 22 : 25 : 43 .691635 192 . 168 . 10 . 5 > 192 . 168 . 10 . 100 : icmp: echO request (DF) からも、ローカルホスト ( 192.168.10.5 ) から 192.168.10. 100 のアドレスへ p ⅲ g のデータ (ICMP の echo request データ ) が送られていることカ寉認できます ( 誌面の都合 上、で折り返しています ) 。 これだけの実験で確証を得られるわけではありません が、 1 つのホスト名に複数の IP アドレスカ又疋されている 場合は、最初に現れた IP アドレスカ駛われるようです。 こでの目的は p ⅲ g データの送信先の、、アドレ なお、 ス " を調べることなので、忘れずに -n オプションを指定 してください。 ーⅡオプションがないと、 tcpdump の解析結果は図 6 の ようにホスト名で表示されてしまいます。これでは、 hosts ファイルで設定したどちらの IP アドレスカ吏われたのか を区別できません。 IP アドレスの重複 もうすこし寄り道をして、今度は IP アドレスが重複し ているとどうなるのかを実験してみましよう。 hosts ファイルには、 IP アドレスホスト名ェイリアス・ UNIX MAGAZINE 2005.7
の表示から、次の名前解決がおこなわれたことが分かりま す。 ホスト名 : testhost2 → IP アドレス : 192.168.10.100 しかし、その次の 3 行目の、 64 bytes from testhostl ( 192.168.10.100 ) の表示では、 testhostl から応答が返されていることにな っています。なぜ、このような結果になるのでしようか。 ping コマンドの処理には、 IP アドレスが使われます。 そのため、、、 192.168.10.100 のホストから応答を受け取っ ことは分かっていても、そのホストのホスト名は分かり ません。そこで、応答メッセージを表示するときに hosts ファイルを検索し、、、 IP アドレス→ホスト名 " という向き の名前解決をおこないます。 ところが、 192.168.10.100 には 2 つのホスト名が設 定されているため、名前解決でみつかった最初のホスト名 、、 testhostl" を表示したのです。 NIS hosts ファイルの話が長くなってしまいましたが、次に NIS による名前解決について説明しましよう。 NIS は名前解決のほかにも、 LAN 上の複数のホスト 間で同じ情報を共有する目的をもっています。 NIS では ・ passwd ファイル ( アカウントの情報 ) hosts ファイルの内容だけでなく、 ・ services ファイル ( ネットワーク・サービスの・情報 ) ・ group ファイル ( アカウントのグループの情報 ) です。 と、、値 " の組カ胙れれば、独自の情報を共有することも可能 など、さまざまな情報を共有できます。さらに、 . ファイルシステムのマウントの情報 を問い合わせ、応答としてホスト名と IP アドレスの組を を提供します。クライアントは NIS サーバーにホスト名 名前解決の場合、 NIS サーバーが hosts ファイルの内容 ・クライアントは NIS サーバーから情報を得る。 ・ NIS サーバーが情報を提供する。 おこなわれます。 NIS では、情報の提供はクライアント / サーバー方式で 62 図 9 NIS による名前解決 NIS サーバー 受け取ります ( 図 9 ) 。 NIS ドメイン NIS で情報を共有する範囲を NIS ドメインと呼びます。 、、ドメイン " といっても DNS のドメインとは異なるので、 混同しないようにしてください。この記事でたんに、、ドメ イン " と書いた場合は、 DNS のドメインを未します。 LAN 内に複数の NIS ドメインを作ることも可能で、各 NIS ドメインは名前で区別します。名前解決の場合はデ フォルトの NIS ドメイン ( 所属している NIS ドメイン ) の NIS サーバーから情報を取得しますが、 ypcat や yp- match などのコマンドでは、 NIS ドメイン名を指定するこ とでデフォルト以外の NIS サーバーから情報を得ることも できます ( 図 10 ) 。 問合せ : ホスト名 応答 : ホスト名十旧アドレス hosts NIS クライアント NIS クライアント NIS クライアント NIS クライアント DNS DNS は、インターネット上でのホスト名の解決に利用 される仕組みです。、、インターネット上 " といっても LAN 内で使えないわけではなく、 ・ LAN 内のホストの名前解決 ・ LAN からインターネット上のホストヘアクセスすると きの名前解決 にも用いられています。 DNS の仕組みは hosts ファイルや NIS とくらべると かなり複雑なので、詳細な説明は後日に譲り、今回はとり あえす概要を紹介します。 UNIX MAGAZ 工 NE 2005 . 7
空白を含む / ヾスへの対応 (winopen01. sh 窈修正 ) 今度は、 winopen()l. sh に対して空白を含むパスを与え を実行すると、図 3 のエラーメッセージが表示される。も i Ⅱ ope Ⅱ 01. sh /cygdrive/c/Program* Fi1es/ るとどうなるだろうか。たとえば、 & WScript . Arguments ( 0 ) & CreateObject("WScript . She11") . - MsgBox (WScript . Arguments ( 0 ) ) こっているかを調べてみた。 ここで winopen. vbs にデバッグ出力を挿入し、何カ起 wscript winopen. vbs ' C : *Program Fi1es ' ちろん、以下のコマンド行は問題なく動作する。 いうファイルに保存して実行権を与える。 これを確認してみる。まず、以下のスクリプトを c. sh と 第 1 引数は、、 1 " 、第 2 引数は、、 2 " となる。 ド c の引数に $ a を与える ( 、、 c $ a " を実行する ) と、 c の 数 a の値が、、 1 2 " のように空白を含んでいる場合、コマン じつは、これはシェルの仕様に起因している。シェル変 であることカ吩かる。 は cygpath の出力の空白の前までの部分 (c:*Program) 図 6 から、 win 叩 en. vbs の第 1 引数として渡っているの これは、もちろん想定したとおりの出力である。 c :*Program Fi1es* $ cygpath —w /cygdrive/c/Program* Fi1es/ 動作を確認しておこう。 すると図 6 のように表示される。念のため、 cygpath の 2 1 $ a= ) 1 2 ) ・ c . sh $a これを実行すると、次のような結果になる echo $ 2 echo ' ー echo $ 1 # ! /bin/bash したいときは、以下のようにダブルクオートで括ればよい。 シェル変数の内容全体を 1 つの引数としてコマンドに渡 UNIX MAGAZ 工 NE 2005.7 1 2 c . sh " $ $ a= ' 1 2 ' ・ SC 翡 好評発売中 ! プログラミング テクニック リ N Ⅸコマンドのソースコードにみる テクニック プログラミング し i0N 、多滝第を和 = プロクラミンク手法 ーれ 0 ′をうといのをの を ( 、にな・エ・・といっ あります . そこには . プ 0 ラム第第に・第な第物第と っさりと・リ込をれていをす、 yacc ・多治見寿和著 ・ B5 判、 240 ページ ・ ISBN 4-7561-4389- X ・ 1 , 890 円 ( 税込み ) 生きたフログラムから学ぶ 実践的手法の数々 フリーの UNIX やアプリケーションのソース コードを見ながら、プログラミングにおけ る・・名匠の技 " を学ばうというのが本書の 目的です。長い年月をかけ、多くの人の手 ですこしずつ改良されてきたソフトウェア は洗練の度合いを増し、名匠の手になる工 芸品といった趣があります。そこには、プ ログラム開発に必要な技術がどっさりと盛 り込まれています。 目次から ( 本書より ) ソースコードから学ぶ◆データ構造◆ 2 重リンクリ スト◆木構造◆ AVL 木◆ハッシュ◆端末の操作◆端 末の制御◆ cat コマンド◆コマンド◆ファイルの ロック◆パスワード・ファイル◆ワンタイム・パスワ ード◆公開鍵暗号◆ Secu 「 e She Ⅱ◆構文の解析◆ yacc ◆ lex ◆ ping ◆ telnet ◆ ftp ◆ inetd ◆ xst 「◆ 電話 ( 03 ) 6888 ー 5500 ( 営業局 ) 東京都千代田区九段北 1 - ] 3-5 日本地所第一ビル 〒 1 02 ー 8584 株式会社アスキー (UNIX MAGAZINE 1997 年 1 1 月号 ~ 2000 年 3 月号より ) cmp と cksum ◆ man ◆フィルタコマンド 139
ネットワー 図 13 Solaris と Linux にインストールされているネームサーヒス (a) So ぬ ris にインストールされているネームサービス ( 共有ライブラリ ) solaris$ ls /usr/lib/nss ☆ ク・ミニ実験室② /usr/lib/nss_compat . so . 1 /usr/lib/nss dns . so . 1 /usr/lib/nss_files . so . 1 /usr/lib/nss_ldap . so. 1 SOIariS$ /usr/lib/nss n 土 s . so . 1 /usr/lib/nss nisplus . so . 1 /usr/lib/nss user . so . 1 /usr/lib/nss xfn. so . 1 (b) Red Hat Linux にインストールされているネームサービス linux$ ls /lib/libnss ☆ /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss linux$ compat ー 2 . 3 . 2 . SO compat . SO . 2 dns-2 . 3 . 2 . so dns . so . 2 f 土 1 es ー 2 . 3 . 2 . SO f 土 les . so . 2 he s 土 od ー 2 . 3 . 2 . so hes 土 od . so . 2 ldap ー 2 . 3 . 1 . SO /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss /lib/libnss 図 14 Linux のネームサービスの共有ライブラリ ( 詳細 ) linux$ ls ー 1 /lib/libnss files* —rwxr—xr—x 1 r00 し lrwxrwxrwx 1 r00 し linux$ r00 し r00 し 5 2 4 7 2 Ma r 14 21 Oc む 3 0 ldap . so . 2 nis ー 2 . 3 . 2 . so niS . SO . 2 WIIIS . SO W 1 Ⅱ S . S 0 winbind . so . 2 winbind nisplus nisplus . 2 . S 0 . so . 2 ー 2 . 3 . 2 . SO 2 0 0 3 / 1 ib/ 1 ibns s f 土 1 e s ー 2 . 3 . 2 . so 2003 /lib/libnss f 土 les . so . 2 ー > libnss f 土 les ー 2 . 3 . 2 . so となります。また、 Linux の場合は、 /lib/libnss—service . so . れ サービスの種類が多いのですが、図 13 の表示の違いには 答は、、 No " です。たしかに Linux のほうか干ネーム う力、 ? 利用できるネームサービスが多いということなのでしょ laris と比較するとずいぶんたくさんあります。 Linux は ところで、図 13 ー b の Linux の共有ライプラリは、 So- のように共有ライプラリを表示させて確認してください。 っている環境でどのネームサービスカリ用できるかは、 ールされている共有ライプラリの例を示します。自分カ駛 図 13 に、 SoIaris および Red Hat Linux にインスト プラリのバージョンを表す数才 : です。 switch. conf で指定したネームサービス名、れは共有ライ です。この場合の“理 e は、、 files" や、、ⅲ s " などの ns- UNIX MAGAZINE 2005 . 7 /lib/libnss—files . so . 2 /1ib/1ibnss—fi1es-2.3.2. so Linux のほうは、 別の理由があります。 ☆ 今回は、名前解決の基礎について説明しました。 hosts ファイルや NIS 、 DNS による名前解決の概要を 紹介し、複数の名前解決方式の管理と nsswitch. conf ファ イルの関係をお話ししました。 また、ホスト名と IP アドレスの対応が 1 対 1 ではない 場合にどのように名前解決がおこなわれるのかを、 ping コ マンドを利用した実験で調べてみました。 来月は、名前解決の応用編として、 DNS の動作や働き についてお話しする予定です。 ( あらい・みちこ Rworks) のように、同じような名前のファイルが 2 つずつあります。 これらのファイルは、共有ライプラリのバージョン管理の 都合で名前を変えているだけで、実際には同じライプラリ です。 図 14 は、 2 つの共有ライプラリのファイルを、玉 -l" コマンドで表示した結果です。 libnss-files. so. 2 は lib- nss 重 les ー 2.3.2. so へのシンポリック・リンクになってい て、実体は同じファイルであることカ認できます。 65
ワークステーションのおとーー 図 1 DVD-RW 乍成 ・ ( f ) ループバック・デバイスを削除 0 # cdrw ー 1 —v ・ (a) ドライプとメディアの確認 L00king for CD devices . 98.21 % done, 95.14 % done, Scanning sun_docs mkisofs 2 .01 # mkisofs —v # cd /opt lnitializing # cdrw —b —v cdrom0 Node Connected Device Device type ーー NEC —d cdrom0 fast device . . . done . DVD_RW ND ー 3520A 1 . 04 ー CD Reader/Writer ・ ( b ) メディアの中身を消去 B1anking the media (Can take several minutes) . ー 0 /tmp/sundocs . iso —r —J sun—docs (sparc—sun-s01aris2.10 ) ・ ( c ) ISO イメージの作成 estimate finish Wed May 18 11 : 39 : 01 2005 estimate finish Wed May 18 11 : 39 : 01 2005 TotaI rockridge attributes bytes : 3138985 Tota1 translation tab1e size : 0 Tota1 directory bytes : 6047744 Path table size(bytes) : 13314 Done with: The Fi1e(s) Writing : Ending Padb10Ck Done with : Ending Padb10ck Max brk space used 19ee000 162928 extents written ( 318 MB) # lofiadm —a /tmp/sundocs . iso /dev/lofi/l B10ck(s) 158059 Start B10ck 162778 B10ck(s) 150 ・ ( d ) ISO イメージをデバイスとして扱えるようにする # mount —F hsfs ー 0 ro /dev/lofi/l /mnt ・ (e) マウントしてみる # df —h /mnt Fi1esystem /dev/lofi/l umount /mnt # cd / ls cd /mnt sxze 318M used avail capacity Mounted on OK 318M 100 % /mnt ・ (g)ISO イメージの書込み lofiadm —d /dev/lofi/l cdrw ー 1 —v —d cdromO /tmp/sundocs . iso Fina1izing (Can take several minutes) . done . Writing track 1 . Preparing tO write DVD lnitializing device ... done . done . # df ・ (h) ちゃんとマウントされている /cdrom/cdrom # cd /cdrom/cdrom (/voI/dev/dsk/cOt6dO/cdrom) : 0 blocks 0 files # ls ・ ( i ) 中身も見える sundocs . html UNIX MAGAZINE 2005.7 145