今回のポイント:クリーンインストールの場所を確保しよう
それでは早速FreeBSD 7.0-RELEASE (2月27日公開)を試してみることにしよう。新しいOSには新しいハードウェアが似合うということにして、筆者も本稿執筆を機会に、3年来愛用したIntel Pentium M 2GHz + MSI 915GSpeedSter-FA4とお別れして、新たにIntel Core2 Duo 6550(2.33GHz) + ASUS P5GC-MX/1333を導入した(図1 ) 。秋葉原なら27,000円程度で購入できる、極めて普通の構成であるが、筆者は本稿執筆期間中フランスに出張しているため、やむなく現地の通販サイトからパーツを購入した。税込285.7ユーロ(46,616円)と、かなりお高い買い物になってしまった(コラム参照) 。
図1 新規導入したCore2 Duo 6550とASUSのマザーボード。大型のヒートシンクが目立つ
FreeBSDの伝道師 を自称する筆者としては※ 、本記事を機会にWindows やLinuxから乗り換えてくれる読者が一人でも出てくれることを願ってやまない。インストールに先立ち、現在使用しているサイズより大きなハードディスクを購入し、現ディスクから新しいディスクにセクタ単位で「丸ごとコピー」 して、ディスクの末尾にできる空領域にFreeBSDを導入する方法が簡便である。セクタ単位のコピーであるので、中身はNTFSであってもUFSであってもEXT2FSであってもお構いない上に、丸ごとコピーすることによって、ついでにその日のハードディスクの完全なバックアップができてしまうおまけ付きである。FreeBSDインストールCD-ROMはこういった用途にも便利に利用できるので、今回はそのやり方を紹介しよう。
コラム:フランスでのPC事情
ヨーロッパは歴史好きにはたまらない、文明史とアンティークの国である。筆者が滞在中のベルサイユ中心部のアパートは一説に築200年というように、ヨーロッパはとかく古い物を大事にするお国柄であり、そのせいもあってか日本では1万円もしないようなオンボロ車でも「売ります50万円」といった高値を堂々と主張してはばからない。PCパーツもあまり値崩れを起こさないので、秋葉原感覚では一世代前のパーツを二世代前の値段で売っている印象である。ユーロ高の差益は中間業者の懐と付加価値税(19.6%)で政府に吸い込まれていっているように思われる。パソコンショップは小規模小売店のほか、fnacという大手デパートや、スーパー(Windows無し、Ubuntu Linuxだけが入ったPCを割引で売っていたりする)の他、通信販売サイトが充実している。店舗を持たない分、割引率が良いので、fnacで品定めして通販で購入するといったちゃっかり消費者も多い。
ネット接続はADSLが標準的で、最大下り10Mbps上り1Mbpsの回線で月29.9ユーロである。1ユーロ160円の相場として約4,800円、日本の我が家での光ファイバとほとんど同じ価格で速度は1割以下(今晩の実測では下り3Mbps上り240kbps) 。さらにこちらでは日曜や夜間で混んでくるとIPアドレスを取れなくなるという、露骨にサーバの能力不足が見えてしまっているのがお粗末なところである。最大手のFrance Telecomですらこの有様なので、他の格安系は推して知るべしというべきか(実は本稿執筆時の大事な時にもネットが数時間不通になって困った)。フランスだけでなく、先週エジンバラ(英国)で宿泊したBed & Breakfast(民宿もどき)でもネット不通に祟られたので、割合一般的に起こる問題と見受けられる。ヨーロッパでは「不可抗力には逆らわない」というのが常識のようで、ユーザは一般的に我慢強いため利益率が高いのだなあと感じさせられる一幕。
反面、ADSLを申し込むと、IP電話はほぼ自動的に使えるようになるだけでなく、電話局から近い家庭には強制的に「インターネットテレビチューナー」が送りつけられてきて、ネット経由で百のテレビチャンネル、VoDでのビデオ購入などができるようになる。ブロードバンドの使い方といえばテレビだと決めた途端、全家庭にチューナを配る展開の速さなどは、選択と集中を地でいっているという点で参考にしたいものである。ちなみに番組としては、噂の「アルジャジーラ」や中国語放送は配信されている一方、残念ながら日本の放送局は無い。というものの、日本のアニメは大人気なので日本的なものを見るには苦労しない。
クリーンインストールとディスク「まるごとバックアップ」テクニック
「これから新しくFreeBSDを使ってみよう」という人は、まず十分な空き領域のあるハードディスクを装備したPCを用意しよう。
そのPC上で単純に
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/
から、以下のファイルをダウンロードする。
7.0-RELEASE-i386-disc1.iso
7.0-RELEASE-i386-disc2.iso
7.0-RELEASE-i386-disc3.iso
これらをそのままイメージとしてCDに焼き込み、「 disc1」となったCDをPCに差し込んで起動することで、インストーラが起動する。国とキーボード配列を選んだ後は、「 Standard」インストールを選択して指示されるままに作業をすることで簡単にインストールができる。かかる時間は、ものの10分程度である。具体的なやり方についてはいわゆる「インストール本」に解説が詳しいので、本稿ではこれ以上の深入りは避ける。
ここで、「十分な空き領域」をどうやって確保するか という問題がある。データを失なうことなくパーティションサイズの変更などを行ってくれる商用のソフトウェアもあるが、筆者のお勧め手段は先ほども述べたように、
新しいディスクを購入し
古いディスクを丸ごとコピーすると
ディスク末尾に空き領域ができるので、そこにFreeBSDを入れる
方法である。この方法を応用すると、全く同じ内容のハードディスクを大量にコピーすることができる。壊れたときすぐに差し替えできる完全バックアップが欲しい方にもお勧めの方法である。
!注意!
手順を間違えるとディスクの内容を全消去する ので、実践される方は細心の注意を払っていただきたい。ディスクを飛ばしても筆者は全く関知できないので悪しからず。筆者もコマンドを入力する直前には、これでもか、これでもかと10回くらい確認して、おそるおそるEnter
を打っている。その心構えで望まれたい。
今回実験のために用意したディスクは、日立製作所製の400Gバイト、500Gバイトのハードディスクである。
[手順1]インストーラCD-ROMの作製
先に紹介したディスクイメージ
7.0-RELEASE-i386-disc1.iso
をFTPで入手して、ISO9660イメージファイルとしてCD-ROMに書き込む。7.0-RELEASE以降では、CD-ROMのISOイメージは最大で700Mバイトまで取ってよいことになったので、メディアを購入する時には注意が必要である。もっとも 7.0-Rは3枚組になっているので、たとえばdisc1は509Mバイトと、現在のところ容量一杯を使っているわけではない。
[手順2]インストーラCD-ROMからFreeBSD起動
CD-ROMを挿入してパソコンをリセットすると、FreeBSDのインストーラが起動する。7.0-RELEASEのインストーラでは、まず最初に国を聞かれ、次にキーボードの種類を聞かれる。たとえば日本語キーボードを使っている場合は「Japanese 106」などと答えることになる。インストーラの画面が起動したら、「 Fixit 」を選択する。ライブCD の場所を聞いてくるので(図2 ) 、CDROM/DVD を選択すると、コマンドラインが起動する。
図2 fixitを選択する
ここで、
# cd dev
# ls ad*
と入力すると、たとえば
ad4 ad4s1 ad4s2
のように表示される。これが、FreeBSDから見えているハードディスク「デバイスファイル 」で、ディスクad4 の中に、2つのパーティション(FreeBSD の言葉では「スライス」 )s1 とs2 ができていることがわかる。
この番号は、起動時のメッセージで
ad4: 381554MB <Hitachi HDT725040VLA360 V5COA52A> at ata2-master SATA150
と検出されたときに出ているディスク番号と同じものである。このディスク番号を間違えると大変なことになるので、しっかりメモ用紙に記入しておこう。
[手順3]シャットダウン、ディスクの追加、再起動
次に、新しいハードディスクを追加接続して同じようにCD-ROM起動すると、起動時に2台のハードディスクが認識される。
ad4: 381554MB <Hitachi HDT725040VLA360 V5COA52A> at ata2-master SATA150
ad5: 476940MB <Hitachi HDP725050GLA360 GM4OA52A> at ata2-slave SATA150
サイズと型番から、古いディスクがad4 、新しいディスクがad5 として認識されることがわかる。どちらの番号がどちらのディスクであるかを、目を皿のようにして確認し、忘れずにメモした上で、先ほどと全く同じ手順で「Fixit」 →「 CDROM/DVD」を選択、コマンドプロンプトから
# cd dev
と入力する。
# ls
の結果は先ほどと若干異なり、
ad4 ad4s1 ad4s2 ad5
となる。これは、新たに「ad5」として認識されたディスクがあり、そのディスクはまっさらで、スライスが存在しないことがわかる。
ここまで確認できたら深呼吸して、おもむろに
# dd bs=131072 if=ad4 of=ad5
Enterとする。データの転送速度によって、数時間程度で転送が終わる。
[注意点1]
if=ad4 of=ad5
で、ad4からinしたものをad5にoutするということでコピー命令になる。この番号をひっくり返したり、同じ番号を2回入れるなど、少しでも打ち間違えた場合はデータは戻ってこないので、しつこいようだが細心の注意が必要である。筆者も一度「if」に「ad4」 、「 of」にも「ad4(実はad5のつもり) 」と指定して、誤って同じものに上書きすることになって悲鳴をあげたことがある。このときは幸いもう1ヵ所「of」のところを「os」と打ち間違えていたお蔭で九死に一生を得た。
[注意点2]
bs
は一度にコピーするブロックのサイズ(この例では128kバイト)を意味する。デフォルトでは512バイトであり、その場合コピー開始までのオーバーヘッドが大きいのでコピー速度は概ね1MB/sとなる 。bs=1024、bs=2048、…と大きくしていくに連れてコピーは速くなり、bs=131072では実測で60MB/s程度になる。
コピーが開始されるとまずスライスの情報が作製されるので、Ctrl-C を打って途中でコピーを止めてlsを打つと、
d4 ad4s1 ad4s2 ad5 ad5s1 ad5s2
という構成が直ちにできあがっているのがわかる。この状態でたとえば「ad4s1」だけを「ad5s1」にコピーすることも可能で、そのときは
# dd bs=131072 if=ad4s1 of=ad5s1
とする。筆者はこの手法を使って、1スライスだけの完全バックアップという技をよく利用している。
おわりに
単純な「dd」コマンドひとつ取っても、このように便利な使い方ができることを見るのは素直に嬉しいものであるが、FreeBSDの世界ではより便利に、快適にOSサーフィンを行うためのコマンド群が日夜開発されている。次回は、すでにFreeBSD 6系をインストールしている読者のための、「 freebsd-updateによるバージョンアップ」の様子を紹介しよう。