は FreeBSD での夫行例で、イメージファイルの出力先 を /cdr/recoverCD. iso にしています。ファイル名や拡 張子はなんでもかまいませんが、出力先を CD イメージ作 芋のルート・ディレクトリ ( こ刎列の場合は / cdr / r 。。 t ) 以下にしてはいけません ( 理由はお分かりですね ) 。 Free- BSD の場合、イメージファイルの大きさは約 156MB に なりましたが、今回使用したマシンでイメージファイル作 成にかかった時間は 1 分少々でした。 mkisofs や mkhybrid に関する ( オプションなどの ) 詳 しい情報については、オンライン・マニュアル mkisofs ( 8 ) や mkhybrid(8) のはか、ソースアーカイプに付属のド キュメント類などをご覧ください。 イメージファイルの確認 イメージファイルができたら CD-R に書き込むだけで すが、いくら CD-R のメディアが安くなったとはいえ、 イメージファイル自体が間違っていれはお金以日こ時間を 無駄にすることになります 6 。そこて念のため、イメージ ファイルをマウントすることによって正しいイメージファ イルカ乍成できたかどうかを不忍しておきましよう。 FreeBSD の場合、 CD のイメージファイルを ISO 9660 ファイルシステムとしてマウントするには、前回紹 介した vn ドライバを用います。具イ勺には、以下のよう bash# ロ /cdr/root/root . dump ・解 bash# diff /cdrom/root . dump ・ gz - boot . cat boot . flp root . dump ・ gz usr. dump ・ gz bash# ls /cdrom bash# mount —t Cd9660 /dev/vnO /cdrom bash# vnconfig /dev/vnO /cdr/recoverCD. iso に作業します。 UNIX MAGAZINE 1999.9 ン窈彳定を間違えている場合がはとんどでしよう。 6 イメージファイル自体力れていること ( 卦希で、作海時のパスやオプショ でしよう。ファイルの中身が同しであれは、上記の例の コマンドを使ってもとのファイルとくらべてみるといい れはます間違いはありません。それでも心配な方は、 diff イバに割り当てたあと、 CD-ROM としてマウントでき ていることが分かります。イメージファイルを vn ドラ トカタログである boot. cat が mkisofs によって作られ root にあったすべてのファイルが見えるだけでなく、プー /cdrom ディレクトリに対して ls を実行すると、 /cdr/ ブータブル・リカバリー CD ② ように何も出力されません。もとのファイルと内容が異 なる場合は、 ASCII 形式のファイルであれば差分が出 力さバイナリ形式であれば、、 Binary files /cdrom/ root. dump ・ gz and /cdr/root. dump. gz differ" のよう なメッセージカ咄力されます。 石忍カ鮗ったら、以下のようにしてアンマウントし、さ らに vn ドライバへの割当てを解除します。 bash# umount /cdrom bash# vnconfig —u /dev/vn0 bash# ■ Slackware や Red Hat の場合は、さきほど紹介した ルーフ。バック・デバイスを使ってイメージファイルをマ ウントします。以下は SIackware での夫彳列です。 bash# mount ー 0 100P —t iS09660 /cdr/recoverCD. iso /cdrom bash# ls /cdrom boot . cat 1 bash# umount /cdrom restore eltorito. img bash# ■ root . dump ・ gz CD の作成 23 /joerg ・ schilling/private/cdrecord. html 7 http://www.fokus.gmd.de/research/cc/glone/employees ないものも多く、現在のバージョンではどうしようもない ますが、 IDE 接続の CD-R ドライプに関してはまた動か 数多くの SCSI CD-R ドライプで測イ乍カ蔀忍されてい ( するつもりがない ) CD-R ドライプのリストもあります。 ページ 7 で公開されています。ここには、サポートしない 認のとれている CD-R ドライプのリストか開発者の Web これらに加え、ユーザーからの報告などによって重川寉 ・ヤマハ CDR-400 ・ TEAC CD-R55S ・ PhiIips CDD ー 2000 ・ Panasonic C 、 V ー 7502 不鶤頁です。 の開発者がテストに使っている CD-R ドライプは次の 4 きほどインストールした cdrecord を使います。 cdrecord CD のイメージファイルを CD-R に書き込むには、さ
CD-Recordable 図 13 mkhybrid のコンパイル —g ー 02 —g ー 02 —g ー 02 —g ー 02 —g ー 02 —g ー 02 —g ー 02 cd libhfs_iso & & make CC="gcc" COPTS= bash# make —g ー 02 " DEFINES="—DAPPLE_HYB" RANLIB="ran1ib" gcc gcc gcc gcc gcc gcc gcc gcc —C gCC ¯C gCC —C ( 略 ) -DAPPLE_HYB -DAPPLE_HYB —c block. c -DAPPLE_HYB —DAPPLE_HYB ー c -DAPPLE_HYB -DAPPLE_HYB -DAPPLE_HYB record. C node . C btree . c f i le . c 10W . C data . c —g ー 02 —DAPPLE_HYB —g ー 02 —DAPPLE_HYB —g ー 02 —DAPPLE_HYB gcc —L1ibhfs—iso —L1ibfiIe —linclude -llibhfs_iso —DVANILLA_AUTOCONF . /volume . c —linclude —llibhfs_iso —DVANILLA_AUTOCONF . /desktop. c —linclude —llibhfs_iso —DVANILLA_AUTOCONF . /mac_label . c ー 0 mkhybrid mkisofs . 0 tree . 0 write. 0 hash. 0 rock. 0 multi . 0 J01iet . 0 match. 0 name. 0 fnmatch. 0 eltorito. 0 getopt . 0 getoptl ・ 0 apple. 0 volume .0 desktop ・ 0 mac—label. 0 —lhfs —lfile bash# ロ 図 14 mkhybrid のインストール bash# make install cd libhfs—iso & & make CC="gcc'i COPTS=" —g ー 02 " DEFINES="—DAPPLE—HYB" RANLIB="ran1ib" /usr/bin/install -c —m 644 . /mkhybrid. 8 /usr/10ca1/man/man8/mkhybrid.8 /usr/bin/install -c mkhybrid /usr/local/bin/mkhybrid [ -d /usr/10ca1/man/man8 ] Ⅱ mkdir /usr/10ca1/man/man8 [ -d /usr/local/bin ] Ⅱ mkdir /usr/local/bin cd libfile & & make CC="gcc" COPTS="—g ー 02 " DEFINES="-DAPPLE HYB" RANLIB="ran1ib" bash# ロ 2. configure の夫彳丁 修正がすんだら、 /tmp/mkhybrid-l. 12b5.2 ディレク トリで c 。 n 升 gure スクリプトを実行します。 などが自第勺に生成されます。 bash# cd mkhybrid—l . 12b5.2 bash# . /configure creating cache . /config. cache checking for gcc ・ gcc checking whether the C compiler (gcc yes checking whether the C compiler (gcc cross—compiler. checking whether we are using GNU C. yes config. h diag/Makefi1e Makefi1e . /config. status updating cache . /config ・ cache checking whether gcc accepts -g ・ bash# ■ creating creating creating creating ( 略 ) M akefile ) works ) iS yes 3. コンパイルとインストール Makefile か準備できたら、 make を実行してプログラ 18 ム・ファイルをコンパイルし ( 図 13 ) 、次に make ⅲ - stall でこれらをインストールします ( 図 14 ) 。これに より、プログラム本体 (mkhybrid) が /usr/local/bin に、オンライン・マニュアル (mkhybrid. 8) が /usr/ local/man/man8 にコピーされます。 cdrecord のインストール cdrecord は CD イメージ作成ツールで作られたイメー ジファイルを CD-R に書き込むためのツールで、数多く の SCSI CD-R ドライプに対応しています。 Linux であ れは、去も匠のバージョンからは IDE (ATAPI) の CD-R ドライプも利用できるようです。残念ながら IDE の CD- R ドライプを試す機会がなかったので、今回は SCSI の みを対象とします。 cdrecord のム斤ノヾージョンは 1.8a22 で、ソースアー カイプのファイル名は cdrecord-l. 8a22. tar. gz です。た だし、これはバージョンで、最斤の正式バージョンは 1.6.1 (cdrecord-l. 6.1. tar. (z) です。 / ヾージョンといっ てもとくに大きな不具合はみあたらないようですし、こち UNIX MAGAZINE 1999.9
bash# Is /cdr/root MAKEDEV RedH at bash# 日 b00t . img root . dump ・ gz すると、復旧時には、、 sh MAKEDEV デバイスファ イル名 " と指定するだけでデバイスファイルを自重加勺に作 成してくれるので、各デバイスに対応するメジャー番号 やマイナー番号を憶えておく必要がなくなります。なお、 MAKEDEV をコピーしただけでは、実行時に「 chown コマンドがない」などのエラーカ咄ますが、デバイスファ イル自体は作成されるので竹喋には景グありません。 イメージファイルの作成 CD のイメージファイルを作るには、さきはどインス トールした mkhybrid か mkisofs を使います。これらの コマンドは CD ー R ドライプがないマシンでも夫行できる ので、たとえは自分のマシンでリカバリー CD のイメー ジファイルを作っておき、これを友人などの (CD-R ド ライプをもつ ) マシンで CD ー R に書き込むという使い方 もできます 5 。 さきはど触れたように、 rnkhybrid と mkisofs の使い 方は HFS に関するオプションを除いてほば同しなので、 こでは mkisofs をメインにして話を進めます。 mkisofs の基本的な使い方は以下のとおりです。 mkisofs [ オプション ] ー 0 filename path ー。オプションの後ろの川 e れ。 me はイメージファイル の出力先です。四にはイメージファイル作成時のルー ト・ディレクトリを指定します。今回は CD-R のルー ト・ディレクトリを /cdr/root にしているので、んに は、、 /cdr/root" を指定します。複数の四を ( 空白で区 切って ) 指定することもでき、これをうまく使えは異なる ディレクトリにあるファイルを 1 つのイメージにまとめ られます。 オプションにはさまざまなものがありますが、 - 。以外 の主要なオプションを以下に示します。 全ファイルをイメージファイルに含めます。 UNIX で は、名前に、、 ~ " や、、 # " といった記号が含まれるファイ 5 ただし、イメージファイルの大きさは数 - ト ~ 数百 MB になるので、 MO や PD かなけれはファイルク寺ち運びに苦労するでしよう。 UNIX MAGAZINE 1999.9 ブータブル・リカバリー CD ② ルはバックアップの場合が多いので、このオプション を指定しなけオ・しばこのようなファイルは除外されます。 -b 600 m e EI Torito に準拠したプータブル CD を作成する際 プートフロッピーのイメージファイル ( プートイメー ジ ) へのパスを 6 。。れ e で指定します ( 四でオ旨定 したディレクトリからの相対パスです ) 。。 m e で 指定するファイルの大きさは、 1.2MB 、 1.44MB 、 2. 88MB のいすれかでなければなりません。プータブル CD を作成する際は必頭です。 -c ca 記四 これもプータブル CD を作成する際に必須のオプシ ョンで、 -b オプションで指定されたプートイメージに 対するカタログファイルのパスを指定します ( 。 m - e と同しく、 2 んて指定したディレクトリからの相対 パスです ) 。カタログファイルの大きさは 2 , 048 バイト で、プートイメージが CD イメージファイルのどこに 置かれているかなどの情幸ゞ収められます。 カタログファイルの中身は mkisofs (mkhybrid) が自 重加勺に生成するので、ユーサーはカタログファイルのパ スを指定するだけです。 JoIiet に対応したファイル名情報を CD イメージフ ァイルに付加します。このオプションを指定すると、 Windows 95 / 98 などでも長いファイル名か正しく表 示されるようになります。指定しなければ、作成した CD を Windows 95 / 98 の工クスプローラなどで参照 すると、ファイル名が、、 8 十 3 " 形式で表示されます。 RockRidge に対応したファイル清報を CD イメージ ファイルに付加します。このオプションを指定しない 場合、作成した CD を UNIX マシンでマウントする と、そのファイル名は 8 十 3 形式で扱われます。 -V ゼ 0 / 記 作成する CD のポリューム ID の文字列をむ砿 d で指 定します。文字列カ啌白を含む場合は二重引用符 ( ” ) で モード ) 。 囲みます。 21 コマンド実行時に、より詳細な情報を出力します ( 冗長
◎ CD-Recordable 図 16 cdrecord のインストール (FreeBSD) bash# gmake install e [ 1 ] : ( 略 ) e [ 1 ] : ( 略 ) e [ 3 ] : e [ 3 ] : e [ 2 ] : e [ 1 ] : bash# ■ = > MAKING " 土Ⅱ stall ” ON SUBDIRECTORY ” SRCROOT/patches " Entering directory '/tmp/cdrecord—l .8/patches ' Entering directory ( /tmp/cdrecord—l .8/cdrecord ) = > INSTALLING "/usr/local/bin/cdrecord" = > MAKING "install" ON SUBCOMPONENT "SRCROOT/cdrecord/Makefi1e . man" Entering directory ( /tmp/cdrecord—l .8/man/man4 ' = > INSTALLING " /usr/10ca1/man/man5/makeruIes . 5 " Leaving directory ( /tmp/cdrecord—l .8/man/man4 ' Leaving directory ( /tmp/cdrecord—l .8/man/man4 ' Leaving directory ( /tmp/cdrecord—l .8/man ラム・ファイル、ライプラリ、オンライン・マニュアル がインストールされます。これを変更するには、 Free- BSD の士昜合は cdrecord-l. 8/DEFAULTS/DefauIts . freebsd 、 SIackware と Red Hat であれば cdrecord- 1.8/DEFAULTS/DefauIts. linux というファイルを 修正します ( いすれも 30 行目 ) 。 ・ FreeBSD bash# ls /cdr/root b00t . flp root . dump ・ gz ・ S lackware bash# ■ restore usr . dump ・ gz root . dump ・ gz INS_BASE= INS_BASE= /opt/schily /usr/local ↓ bash# ls eltorito bash# ロ ・ Red Hat bash# ls RedHat bash# ls base bash# ■ /cdr/root ・ 1mg nV1 /cdr/root b00t . img root . dump ・ gz /cdr/root/RedHat ー己のように変更すると、インストール先は /usr/local /{bin,lib,man} になります。 2. コンパイルとインストール FreeBSD の場合、さきほどインストールした gmake を実行してコンパイルをおこないます。パッケージに 刊属のドキュメント (INSTALL) を読むと、 Linux で は make を直接実行するのではなく、パッケージに添 付されている Gmake. linux というスクリプトを使う ように指示されています。図 15 と図 16 は FreeBSD で gmake を実行した例ですが、 Slackware や Red Hat の場合は、 gmake" の部分を、、 . /Gmake. linux' に変更して実行してください。 CD イメーシファイルの作成 前回の準備では、 CD イメージファイルの内容を / cdr / root の下にまとめました。対象となる OS ごとのファイ ル構成は、以下のようになっているはずです ( もちろん、 パーティション構成などによって多少変わります ) 。 20 i386 instimage これらのうち、 Red Hat に関してはファイルを 1 つ追 加してください。 というのも、 FreeBSD と Slackware ではリカバリー CD による起重加叔こ、日作業に必要ないードディスク などに対応する ) デバイスファイルがあらかじめ作成され ますが、 Red Hat の場合はインストール・プログラムが 必要に応して作成するので、リカバリー CD て起動した 段階では最小限のテンヾイスファイルしかないからです。 もちろん、デバイスファイルの作成コマンド mknod を使えばいいのですが、デバイスを識別するための番号 ( メジャー番号とマイナー番号 ) を指定しなければならず、 忘れてしまえばお手上げです。さいわいなことに /dev ディレクトリにはデバイスファイル名を指定するだけで 作成してくれる MAKEDEV というスクリプトがあり ます。これを以下のように /cdr/root にコピーしておき ます。 bash# cp /dev/MAKEDEV /cdr/root UNIX MAGAZINE 1999.9
0 CD-Recordable 図 20 cdrecord の実彳」 (FreeBSD) bash# cdrecord —v dev=2 , 0 speed=4 recoverCD. iso Cdrecord release 1 .8a22 Copyright (C) 1995 ー 1999 Jorg Schi11ing TOC Type : 1 = CD—ROM cdrecord: NO such file or directory. WARNING: RR—scheduIer not available, scsibus: 0 target: 2 lun: 0 scsidev: ' 2 , 0 ' 1 Ⅱ g ・ disabl atapi : 0 Device type VeI'S1011 Response Format : Capabi1ities Vendor_info ldentifikation Revision Removab1e CD-ROM 2 2 RELADR SYNC L I NKED ) 1 . OQ ' ) CD—R55S ) TEAC Device seems to be : Teac CD—R50S . Using driver for Teac CD—R50S , Teac CD-R55S , : SWABAUDIO Driver flags ac—cdr50) . JVC XR ー W2010 , PinnacIe RCD ー 5020 (te WRa Data 40 OA 00 00 Buffer cap: 655360 : 655360 Drive buf size FIFO size : 4194304 640 KB 4096 KB Track 01 : data 156 MB Tota1 size : Lout start : 180 MB ( 17 : 51 .30 ) 180 MB ( 17 : 53 / 23 ) 80348 sectors 80348 sectors Current Secsize : 2048 Last chance tO quit, starting reaI write in 9 seconds . Starting tO write CD/DVD at speed 4 in write mode for single session. cdrecord: Undefined error: 0. WARNING: RR—scheduIer not available, disabling. BIocks t0taI : 336075 B10cks current : 336075 B10cks remaining : 255727 ( 10 秒間のカウントダウンがおこなわれる ) Waiting 工 or reader process tO fi11 input¯buffer Judging disk... done . Ca1ibrating laser... done. Starting new track at sector : 0 Track 01 : 0 of 156 MB written . ( 書込みの進行状況が表示される ) input—buffer ready. Track 01 : Track 01 : Writing Fixating ・ Fixating cdrecord : bash# ロ 156 of 156 MB written (fifo 100 % ) . fifo was 0 times empty and 2524 times full, min fill was 95 %. fifo had 2592 puts and 2592 gets. 66.228S time : 274.423S time : Tota1 bytes read/written : 164548608 / 164548608 ( 80346 sectors) . 1 になっているのカ吩かります。 無事に書込みか終ればリカバリー CD の作成は完了で す。あとはリカバリー CD をマウントして、内容を確認 しておきましよう。 なお、 CD-R メディアの取扱いは、キズなどをつけな いのはもちろんのこと、直射日光などによる紫外線にもな るべく当てないことか重要です。 CD-R メディアのメー 26 カーによれは、通常の保管状態であれは数十年はもっとの ことです。一方、個人の Web ページなどの清報によれば、 滷射日光にさらし続けるとメディアによっては数日でデー タか読み出せなくなることがあるそうです。 リカバリー CD に限っていえは、 OS の次期バージョ ンがリリースされると旧いリカバリー CD は不要になるこ とが多いでしよう。しかし、大事なデータが入っているの UNIX MAGAZINE 1999.9
CD-Recordable 図 17 mkisofs の実彳研彡式 (RockRidge 対応のイメージファイ丿乍成時 ) ・ FreeBSD mkisofs —b b00t . flp —c b00t . cat —R ー 0 /cdr/recoverCD. iso /cdr/root ・ Slackware mkisofs —b eltorito. img —c bOOt. cat —R ー 0 /cdr/recoverCD. iso /cdr/root ・ Red Hat mkisofs —b b00t ・ img —c b00t . cat —R ー 0 /cdr/recoverCD. iso /cdr/root 図 18 mkisofs の実彳デ列 (FreeBSD) bash# cd /cdr/root bash# 1 s b00t . flp root . dump ・ gz usr . dump ・ gz bash# mkisofs —b boot . flp —c boot. cat Size 0f b00t image is 5760 sectors ー > Tota1 extents 6.23 % done, 12.45 % done, 18.68 % done, ( 略 ) 87.13 % done , 93.36 % done , 99.57 % done , Tota1 extents scheduled tO be written estimate estimate estimate estimate estimate estimate finish Sun Ju1 finish Sun Ju1 finish Sun Ju1 finish Sun Ju1 finish Sun Ju1 finish Sun Ju1 —R ー 0 /cdr/recoverCD . iso /cdr/root CD のイメージファイルを作成するには、図 17 のように mkisofs を用いて RockRidge に対応したプータブル の言求に使える容量がそのぶん減ることになります。 をイメージファイルに加えなければならないので、データ ォーマットの不鶤頁を増やせばそれらに対応するための↑青報 る CD のイメージファイルを作成できます。ただし、フ Windows 95 / 98 、 Macintosh のいすれでも正しく読め hybrid で - R 、 -J 、 -hfs をすべて指定すると、 UNIX と ンは、同時に指定することができます。たとえば、 mk- -R や -J (mkhybrid であれば、さらに -hfs) オプショ きます。 . iSO 1999 1999 1999 1999 1999 1999 Emu1ating a 2.88 meg floppy 80346 11 11 11 11 11 11 actually written = 80346 Tota1 translation table size : 0 T0taI rockridge attributes bytes : 496 T0ta1 directory bytes : 0 Path table size(bytes) : 10 Max brk space used aa4c 80346 extents written ( 156 Mb) bash# ls ー 1 /cdr 160785 1 root —xr—x 2 bash# drwxr total ・ -x e c ん de 叩ん wheel 164548608 Ju1 whee 1 512 Ju1 02 : 59 : 26 02 : 59 : 18 02 : 59 : 20 02 : 59 : 17 02 : 59 : 16 02 : 59 : 16 02 02 . 11 11 : 59 ・ 56 CD のイメージファイルから除きたいディレクトリを絶 対パスて指定します。このオプションは複委財旨定するこ とができ、その上限は 1 , 000 個となっています。 たとえば、 mkisofs ー 0 cdimg —x /work/sample - —x /work/test / 0 て k を実行すると、 CD-ROM のルート・ディレクトリが /work になるイメージファイルが作成されますが、 れらのうち sample および test というサプディレク トリ以下のファイルは除外されます ( 誌面の都合 - E 、 て折り返しています。以羽司様 ) mkhybrid ではこれらに加え、 HFS に対応した CD イ メージファイルを作成するための - hfs オプションか利用で 22 実行します。 いすれの場合も、カタログファイルは CD のルート・デ ィレクトリに boot. cat という名前で作成されます。図 18 UNIX MAGAZINE 1999.9
ブータブル・リカバリ —CD ② 図 15 cdrecord のコンパイル (FreeBSD) bash# cd cdrecord-l . 8 bash# gmake Leaving directory ( /tmp/cdrecord—l .8/man ' Leaving directory ( /tmp/cdrecord—l .8/man/man4 ) Leaving directory ( /tmp/cdrecord—l .8/man/man4 ' = = > LOCALIZING "OBJ/i386-freebsd—cc/man/makeru1es . 5 " Entering directory ( /tmp/cdrecord-l .8/man/man4 ) = > COMPILING "OBJ/i386-freebsd-cc/isosize . 0" = > COMPILING "OBJ/i386—freebsd—cc/fifo . 0" = > COMPILING "OBJ/i386-freebsd-cc/cd-misc . 0 " = > COMPILING "OBJ/i386—freebsd—cc/cdrecord.0 " Entering directory ' /tmp/cdrecord-l .8/cdrecord' Entering directory ' /tmp/cdrecord—l .8/conf ' = > MAKING " a11 " ON SUBDIRECTORY "SRCROOT/conf " Leaving directory ( /tmp/cdrecord—l .8/patches ) Entering directory ( /tmp/cdrecord—l .8/patches ) = > MAKING " a11 " ON SUBDIRECTORY "SRCROOT/patches" bash# ロ gmake [ 1 ] : gmake [ 2 ] : gmake [ 3 ] : gmake [ 3 ] : ( 略 ) gmake [ 1 ] : ( 略 ) gmake [ 1 ] : gmake [ 1 ] : gmake [ 1 ] : らのほうが対応する ( 動 ( 薩勘ゞとれている ) CD-R ドラ イプの種類が多いので、 こでは cdrecord-l. 8a22. tar. gz のインストールのみを紹介します。コンパイルとイン ストーノレのガ去は同じなので、バージョンがうまく動か ない場合は正式バージョンを試してみるといいでしよう。 ソースアーカイプの入手先は以下のとおりです。 ・ 1 朝己布元 cdrecord-l. 6.1. tar. gz は ftp://ftp.fokus.gmd.de/ pub/unix/cdrecord/ に、 cdrecord-l. 8a22. tar. gz は ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/ に置かれています。 ・国内の FTP サイト いすれのファイルも、 ftp://ftp[I-7].jp.freebsd.org/ pub/FreeBSD/distfiIes/ などにあります。 このノヾッケージには CD ー R への書込みコマンド (cdre- cord) だけでなく、音楽 CD に含まれる CD-DA フォー マットのデータを WAVE フォーマットのファイルに取 り込むための cdda2wav や、 CD のイメージファイル を作成する mkisofs ( バージョン 1.12b5 ) が含まれてい ます。したがって、このパッケージをインストールすれば ( 音楽 CD も含めて ) CD イメージの作成から CD-R へ の書込みまでに必要なコマンドがすべて揃います。 なお、ソースパッケージのコンパイルには GNU make UNIX MAGAZINE 1999.9 (gmake) が必要です。 Slackware や Red Hat では標 準添付 4 ですが、 FreeBSD ではバイナリ・パッケージ (gmake-3.77. tgz) として提供されています。以下のよう に、 FreeBSD のノヾッケージ CD からインストールして おいてください。 (FreeBSD のノヾッケージ CD をセット ) bash# mount /cdrom bash# pkg—add /cdrom/packages/A11/gmake—3.77. tgz bash# ロ ソースアーカイプを入手して / tmp に置いたとすると、 インストールの手順は以下のようになります。 1. ソースアーカイプの展開と設疋ファイルの修正 ます、ソースアーカイプを展開します。 bash# cd /tmp bash# tar zxf cdrecord—l .8a22. tar. gz bash# ー cdrecord-l. 8 というディレクトリが作成され、その 下にソースファイルなどが置かれます。 cdrecord 本 体は autoconf を用いておらす、インストール先など は OS ごとの設定ファイルで定義されています。い すれの OS も、デフォルトのインストール先は / 叩 t / schily/{bin,lib,man} になっていて、それぞれプログ 4 OS に添付されている /usr/bin/make が GNU make です。 19
ブータブル・リカバリー CD ② 図 1 図 2 CD-R 作成マシンのハードディスク構成 HDDI Windows 98 (wd0s 1 ) (hdal ) HDD2 FreeBSD ()d 1 s2c) /cdr ノヾーティション (wdlsle) ん sr / ヾーティション (wdlslb) スワップ領域 (wdlsla) 丿レート・ノヾーティション ファイルシステム構成 (FreeBSD) 丿レート・ / ヾーティション - - HDD3 Slackware (Linux 共用、 hdc4) / cdr / ヾーティション (Linux 共用、 hdc3) スワップ領域 (hdc2) 丿レート・ / ヾーティション Red Hat Linux (hdcl ) 丿レート・ノヾーティション 図 4 ファイルシステム構成 (Red Hat) ルート・ / ヾーティション - - ー、、 (/dev/hdc2) (/dev/wdl sl a) ーー cdrom CD-ROM (/dev/cdOc) home 'home home var var 、 m nt ー cdroml (/dev/scd0) CD-ROM usr var ー Cdr ー「 00t / us 「パーティンヨン / cd 「パーティション (/dev/wd 1 s2c) (/dev/wdl sl e) ・・→シンポリック・リンク / cd 「 / ヾーティション (/dev/hdc4) 図 3 ファイルシステム構成 (SIackware) ルート・ / ヾーティション (/dev/hdcl ) ーー cdrom CD-ROM (/dev/cdOc) home usr var ー Cdr /cdr/f—ティション (/dev/hdc4) を利用します。つまり、イメージファイルを読み書き可能 てマウントし、そこにあるカーネルファイルを間題か起き ないものと入れ替えます。 UNIX MAGAZINE 1999.9 ても、 DC-390U の SCSI カードのみをサポートするカー れば、カーネルを叫冓築する必要があります。いすれにし を利用します。使っているカーネルがサポートしていなけ マウントするには、ループパック・デパイス (loopback) Linux でイメージファイルをファイルシステムとして ネルを作るのにカーネルを - 明冓築しなくてはなりません。 両方の竹喋を一度にすませてしまいましよう。 こでは、カーネルのソースファイルがインストールさ れており、プートフロッピーのイメージファイル eltorito. img が /cdr/root に置かれているものとします。 カーネルの築 SIackware や Red Hat の場合、カーネルのソースフ ァイルは /usr/src/linux の下に置かれています。実体は /usr/src/linux- ノヾージョン番号 " というディレクトリ で、 /usr/src/linux はそのディレクトリへのシンポリッ ク・リンクになっています。 カーネルの設疋ファイルは . config です。工デイタな どで直接ファイルを編集するのではなく、専用のインター フェイスを使います。変更は . c 。浦 g ファイルに反映され るので、とりあえす別の名前でコピーしておきます。 bash# ls ー 1 bash# cd /usr/src 13
CD-RecordabIe 図 43 変更後の言諚ファイルの内容 (Red Hat) ・ fstab の内容 /dev/hdal /dev/hda2 /dev/fd0 /dev/hdc none ・ mtab の内容 /dev/hdal / ext2 rw 0 0 Ⅱ 0 e /proc proc rw 0 0 ・Ⅲ 0. conf の内容 boot=/dev/hda map=/boot/map install=/boot/boot . b timeout=50 image=/boot/vm1inuz—2.0.36 ー 0.7 label=linux root=/dev/hdal initrd=/b00t/initrd—2.0.36ー0.7 ・ lmg read—only 0 SWap /mnt /f 1 oppy /mnt/cdrom /proc proc 1 2 0 0 1 -1 0 0 ext2 defaults defaults swap ext2 noautO iS09660 noauto,ro defaults 0 0 図 44 Easy CD Creator のメイン醯 ・・・のように番号カ咐けられま で、ツ頁から順に 1 、 2 、 す。これは MS-DOS でいう、、基本領域 " の場合で、、、拡 ) ′イル襄表〒 CO(L) た応叮、い 1 印 00 しイ羶澄規作成幽い O 財ト製 CD レイア鮃宿降 : 0- 上書き保育 リ貞域 " の場合は番号が 5 から始まります。 トアユ工ル笋スしイアワト 名前を付けて存 (A) ~ 3 5 インチ F 0 : CD-R 作成マシンでは、 Windows 98 はフライマリ 日 11 ) ! CD レ行鋤のフ加ィ ) 。 Ert2 に ) ーリムーバブルディスりび ) IDE のマスター HDD にある 1 番目の基本領域に置か ー GD イメーシら 00 を作戍 0. ー れており、これをマウントするにはそれぞれ以ードのように ユ′ールハん 実行します。 ツ 9 知引 1.1428 ・ FreeBSD bash# mkdir /dos bash# mount —t msdos /dev/wd0s1 /dos bash# ロ ・ SIackware および Red Hat bash# mkdir /dos bash# mount —t vfat /dev/hdal /dos bash# W ⅲ dows のパーティションをマウントできたら、以下 のようにして適当なディレクトリに CD のイメージファイ ルをコヒーします (Windows からみると、 C:*cdr とい うフォルダにコヒーしたことになります ) 。 bash# cp /cdr/recoverCD. 土 so /dos/cdr bash# コヒーか終ったら、マシンを再起動して Windows を 立ち上げます。 Easy CD Creator を利用する場合、 CD- R への書込み手順は以下のようになります。 1 物號 - E しし朝を a'c す イ切しア ) 7 ネットワーり 夕スり デ、 - タ CD 凵アウトタアでスアロ - ラ ( ) ド ) ロ ) デづ CD し行 1 の内容 ( ア ) ド ) の下部 ) を表示する ことができます。デづ CO し 0 外に方イル、万ルダ、 またはドライア全体を追加するには、選析した項目 を灯ロ - ラからデ - タ CD しイア外ウィ : 心ワにドのグし ます。 1. Easy CD Creator の起重力 Easy CD Creator を起けると、メイン画面 ( 図 44 ) とともに CD の作成ウィサードか表示されます。この ウイザードでは既存のイメージファイルから CD を作 成することはできないので、キャンセルします。 2. CD の書込みに用いるイメージファイルク旨定 メイン画面のファイルメニューで、、、 CD イメージから CD を作成 " という項目を選びます。すると、イメージ ファイルを選択するためのプラウサカ覡れるので、図 45 のようにしてさきほどコピーしたイメージファイル を指定してから [ 開く ] をクリックします。 3. 書込み譿 次に、図 46 のようなセットアップ画面か現れるので、 40 UNIX MAGAZINE 1999.9
CD-Recordable 図 30 Fixit のメニュー (FreeBSD) 已当 s 己 choose a fi xit op し 1 on There are し h 「 e 日 wags OF going intO ” fixxt" mode: 9 ュ」 can use the 2nd FreeBSD C 脈ロ M ′ i n bJhich case there い 111 be access し 0 the こ ompl ete set OF FreeBSD C00 山田 lds 印 ld utilities ′ し 0 」 0 謝 1 use the more limited (but F*"haps customized ) fi xit fIOf リを 0 「 90u c 引 1 start Emergency H01 鰉「コ hic 91e11 r い′ 3h1d1 is limited も 0 ・旧 subset OF com獗引 s that is al 「 ea 印ョ av 1 曲 le rxght not CDROM Use the ” 11V ぎ・ CDROM from 旧 distribution FI oppg Llse ョ「 10 enerated from も h 色 fi xi し image ・ Shel 1 三上日「む an Erner 曰 - 心 H ロ 1 ロ「ヨ h1 Ghell [ 引ーにを 1 [ p 「を愛愛 FI ド n 「 n10 「 . う 1 「 1n き t_ 「しにたを ] F4 を押すことで切り替えられます。 4 番目の画面に移動 するには AIt 十 F4 を押します。 シェルの画面に切り替えたら、ますリカバリー CD を マウントするために mount-cd9660 コマンドを実行しま す。 bash# mount—cd9660 /dev/wcdOc /cdrom bash# ■ 上記は IDE CD-ROM の例です。 SCSI CD-ROM を使っている場合は、、 wcd0c" を、、 cdOc" などに読み替え てください。 リカバリー CD をマウントしたら、バックアップ・ファ イルのリストアをおこないます。 Slackware や Red Hat では HDD のパーティションを手動でマウントしなけれ は・なりませんが、 FreeBSD の場合、インストール・プロ グラムを使って HDD の設定をおこなうと、 /mnt 以下 に自重加勺に BSD パーティションかマウントされます。上 記のように HDD を設定した場合、各パーティションと マウントボイントの対応は次のとおりです。 a パーティション ( / ) : /mnt e ノヾーティション (/usr) : /mnt/usr f パーティション (/cdr) : /mnt/cdr バックアップ・ファイルのリストアには restore コマ ンドを使います。オプションがいくつかありますが、単純 にファイルからリストアする場合の使い方は以下のとおり です。 restore —r —f file ー r はリストアすることを愈未し、一 f の後ろの川 e にバッ クアップ・データが収められているテンヾイスに対応するデ バイスファイル名を指定します。バックアップ・データ がファイルに収められている場合は川 e にファイルのパス 名を指定しますが、 32 を指定すると標準入力からバック アップ・データを読み込みます。リカバリ—CD には gzip で圧縮したバックアップ・ファイルを書き込んであるの で、これをリストアするには gzip と restore を以下のよ うに組み合わせて実行します。 # cd /mnt # gzip -c —d /cdrom/root. dump ・ gz ー restore —r —f ー warning: . /cdr: Fi1e exists warning: . /usr: FiIe exiStS ( 略 ) # cd usr # gzip —c -d /cdrom/usr. dump ・ gz ー restore ーて—f ー リストアは rest 。 re コマンドを実行するディレクトリを ルートとしておこなわれるので、 root. dump ・ gz は /mnt 、 usr. dump. gz は /mnt/usr に移動してから restore を実 行しなけれはなりません。 gzip の -d オプションは圧縮フ ァイルを伸長することを、 -c は結果を標準出力に出力する ことを意味します。 /mnt には usr や cdr などのディレ クトリがすでに存在するため、ルート ・ノヾーティションを リストアする際にいくっか警告メッセージカ咄ますが、と くに気にする必要はありません。また、 restore に -v オプ ションを加えると、リストアしているファイルのパス名が 逐次表示されます。 ( 3 ) 言聢の変更 リカバリー CD のバックアップ・ファイルをすべてリ ストアすれば、復旧作業は終りです。ノヾックアップをおこ なったマシンと ( パーティションも含めた ) HDD の構成 か 1 司じであれは、あとはマシンを再起動するだけです。し かし、今回のよう 0 ンヾックアップをおこなうマシンと復旧 マシンの HDD 構成が異なる場合はもうすこし竹業が必要 です。なぜなら、リストアしたルート ・ノヾーティションの fstab ファイルには、バックアップをおこなったマシン の HDD 構成に合わせた設定力当されているからです。 HDD の構成か変わればマウントするパーティションのデ バイスファイル名か変わるので、このままの状態でマシン を再起動 1 ーると復元したパーティションを正しくマウント できず、 OS の起動に失敗してしまいます。したがって、 fstab を復旧マシンの HDD 構成に合わせて変更する必喫 があります。 HDD やパーティションの容量か変わった だけなら変更する必要はありません。変更しなけれはなら ないのは、対応するパーティションのテンヾイスファイル名 UNIX MAGAZINE 1999.9