Linux+Solaris HOWTO MaxBerger v0.8-$Revision: 1.1 $, $Date: 2000/04/17 23:48:03 $ 日本語訳: 木村 智明 v1.0.0j May. 13, 2001 この HOWTO は、1台の PC で Linux(x86) と Solaris(x86) を一緒に使う方 法について書かれています。 ______________________________________________________________________ 目次 1. イントロダクション 1.1 なんで Solaris なの? 1.2 この HOWTO で触れられている事 1.3 参照したバージョン 1.4 注意事項 2. ハードディスクの準備 2.1 伝統的な PC のパーティション 2.2 Solaris パーティションラベル 2.3 ハードディスクの容量 2.4 簡単なチェック項目 3. Linux の準備 3.1 新しい kernel の構築 3.2 ブートローダの準備 4. Solaris のインストール 4.1 Solaris interactive 4.2 Web-Start 4.3 GNU-tools の入手 5. ブートに関して 5.1 Solaris 付属のブートマネージャを使う 5.2 lilo を使う 5.3 grub を使う 6. データの共有 6.1 共有パーティションを使う 6.2 その他の手段 7. 他のシステムのバイナリーを実行させる 7.1 Solaris 上で Linux のバイナリーを実行する 7.2 Linux 上で Solaris のバイナリーを実行する A. さらに情報を見つけるには B. 謝辞 B.1 お礼 B.2 疑問, 注文, 提案 B.3 著作権 C. 日本語訳について ______________________________________________________________________ 1. イントロダクション 1.1. なんで Solaris なの? 実によい質問ですね。 Linux を使うことができるご時世に、なんで Solaris なのでしょう? Solaris は商用システムですから、サポートするハードウェ アは多くはありません。でも、この文章を読んでいるということは、すでに Solaris を使おうと決めているのかもしれませんね。そうでなくとも、使って みるべき理由はいくつかあります - o 私の場合、Solaris マシンのシステム管理のアルバイトをしています。で すから、自宅で Linux の巧みなコマンドパラメータや、気の利いたコツを 覚えてみても、Solaris マシン上で使えなければなんにもならないので す。 o Sun 社は Solarils を``送料と手数料のみ''で何度か提供していますし、 これからもそのような形で提供されるでしょう。この``ほとんど無料''と いうのは、なかなか魅力的です。 o CDE が好きだというのも、Solaris を使う理由になるかもしれません。 1.2. この HOWTO で触れられている事 この HOWTO では、すでに Linux が動いている x86 マシンに対して、 Solaris 7 または 8 をインストールしようとするのを、助けようとするもの です。主に対象とするのは、 o データを破壊しないようにインストールするには、 ``「ハードディスクの 準備」''の章を読んでください。 o Linux と Solaris を共存させる( boot manager を利用)には、 ``「ブー トに関して」''の章を読んでください。 o Linux と Solaris の間でデータを共有するには、 ``「データの共 有」''の章を読んでください。 1.3. 参照したバージョン この文章を書くにあたって、参照したバージョン - o Solaris 7 x86 (= Solaris 2.7 / SunOS 5.7) o Solaris 8 x86 (= Solaris 2.8 / SunOS 5.8) o Linux 2.2.14, 2.3.99-pre3 o fdisk v2.10f この情報は、他のバージョンのソフトウェアにも適応できるかもしれませ んが、まったく違うかもしれません。 1.4. 注意事項 お願いですから、システムからデータが消える前に、バックアップをとってお いてください。この文章に記されている多くの事は、とんでもないデータの消 失をおこすかもしれません。私はデータの消失に対して、何ら責任をとれませ ん。 ``「著作権」''の章もみておいてください。 2. ハードディスクの準備 Solaris のためにハードディスクを準備するには、一般的な PC のパーティ ションテーブルと、Solaris のディスクスライスについて知る必要がありま す。この HOWTO では、1台だけハードディスクを持つシステムについて述べ ていますが、すべての情報は、複数台のディスク環境でも同じように適応でき るでしょう。 2.1. 伝統的な PC のパーティション 標準的なパーティションテーブルでは、4つだけエントリーがあります。我々 にとって重要なエントリーは、下記のものです - プライマリ パーティション 1つ確保されます。 またぴったり1つのパーティションを含んでいま す。リソースの無駄遣いのようですが、ブートできるのはこのパーティ ションだけです。 拡張領域(拡張パーティション) 1つ確保されます。ここには、DOS や Linux など他のパーティション を含む事ができます。 Solaris パーティション 1つ確保されます。ここには、複数の Solaris パーティションを含む ことができます。 自分のシステムに何のパーティションがあるのか知るために、fdisk を使いま しょう。パーティション番号 1 から 4 (hda1..4, sda1..4, ...) は、パー ティションテーブルの1つです。 2.2. Solaris パーティションラベル Solaris は独自のパーティション機構を持ちます。この機構では、パーティ ションテーブルのうち1つの領域を使い、それが(Solaris における)全体の ディスクとして振舞うことになります。 この仮想ディスクは、(最大)8つまでのスライスに分割されます。3番目の スライス、s2 は、仮想ディスク全体をカバーしています。そのため、実際に は Solaris の為に7つまでのスライスを持つことになります。 あいにく、Solaris パーティションは、Linux の Swap パーティション (82)と同じタイプです。それゆえ、Linux の Swap パーティション(82)をプラ イマリパーティションとして確保する事ができません。Linux では問題になり ませんが、Solaris ではどうなのか誰にもわかりません。 Linux の fdisk は、``Sun disklabel'' をサポートしているのですが、これ が役立つようには思えません。 2.3. ハードディスクの容量 当然ですが、Solaris はディスク領域を必要とします。Solaris 8 の最小イン ストール で、300MB 程です。一般的なツールのインストールには 700MB 程、``developer-system''では、およそ 1GB 必要です。 しかし、これは基本インストールに必要とされる領域に過ぎません。あなたは 多くの GNU-Tools をはじめ、他もろもろをインストールしたいでしょう。そ れにもし Solaris - Linux 間でデータの共有をしたい場合、共有は Solaris のパーティション上で行わねばなりません。 あなたはもしかして、Solaris - Linux 間で home ディレクトリの共有まで考 えているかもしれません。これを書いている時点において言うならば、そんな 考えは捨ててください!私は自分の home ディレクトリを共有しようとして、 めちゃめちゃにしてしまい、バックアップにすごーく感謝しました。この章も 参照してください。 ``データの共有'' 2.4. 簡単なチェック項目 これらは簡単なチェック項目です。自分で確認してみてください - o パーティションテーブルにあるエントリのうち、使っているのは3つ以下 ですか? o プライマリパーティションとして、Linux swap パーティションではないパ ーティションが確保してありますか? o 少なくとも1つの Linux ext2 パーティションが、プライマリとして確保 してありますか? o パーティションに区切っていない領域が、少なくとも 1GB 以上あります か? 3. Linux の準備 3.1. 新しい kernel の構築 人によっては、kernel の再構築が嫌いな方がいます。もし、1つのハード ディスク上で Solaris - Linux 間でデータの共有をしたいのなら、必ず kernel の再構築をする必要があります。しかし、データの共有をしたくない のであれば、古い kernel を使う事で kernel の再構築は避ける事ができま す。 kernel のオプションに、``Solaris compatibility''というのがあります - o code maturity の下層 - Prompt for development drivers 残念な事ですが、UFS への書き込みは、まだ実験段階です。 o file systems において - UFS file system support UFS は、Solaris のファイルシステムです。 UFS file system write support Solaris にデータを渡す、唯一の方法です。 partition types / Solaris (x86) partition table support" Solaris パーティションに含まれて いるスライスをみつけるために必要です。 kernel の構築に関するより詳しい情報は、Kernel-HOWTO で見つける事が できます。 3.2. ブートローダの準備 ブートローダをいじくる前に、もとのシステムを起動可能な、緊急起動ディス クが用意してあるか確認してください。 残念ながら、Solaris のインストールでは、マスターブートレコード (master boot record : MBR) や、もともとあるブートマネージャを上書きしてしまい ます。 しかし幸いなことに、Solaris のブートマネージャは、チェインブートが可能 です。この機能を使うためには、古いブートローダ (e.g. lilo) を、プライ マリ Linux パーティションのブートセクタに置く必要があります。 lilo に関しては、次のようになります - /etc/lilo.conf を見てください。 その中にある boot= の行を探してください。もしその行が、 boot=/dev/hda1 の様になっていたら、全てうまくいっています。しかし、その行がもし boot=/dev/hda の様になっていたら、それは MBR を指しています。プライマ リ Linux パーティションを指すように、変更してください。 (e.g. boot=/dev/hda1) ブートローダがチェインブート可能かどうか調べる方法は、lilo を MBR へイ ンストールしてみて、他のブートマネージャでチェインブートができるか試し てみることです。私は、次に示すようなlilo.conf.mbr と名付けたファイルを 使っていました。こんな内容です - ______________________________________________________________________ #lilo.conf.mbr #Lilo in Master Boot Record doing nothing but chain-loading another lilo boot=/dev/hda root=/dev/hda5 install=/boot/boot.b map=/boot/map vga=ask delay=50 other=/dev/hda1 label=lilochain ______________________________________________________________________ これを lilo -C lilo.conf.mbr と実行する事で、 MBR に lilo をインストー ルできます。また、lilo をハードディスクのブートセクタにインストールす るために、lilo を実行する事を忘れないでください。 ここで直ちにリブートすると、起動時に lilo プロンプトが現れるはずです。 この状態のとき other を選択すると、もともとある lilo が起動され、Linux の起動に移行していきます。 4. Solaris のインストール 4.1. Solaris interactive Solaris 7 Solaris の対話式インストールは、一枚目のCDにあります。一枚目から 起動して、Solaris interactive を選択してください。 Solaris 8 Solaris 8 では、対話式インストーラは software CD の一枚目にあり ます。インストール CD は、全く必要ありません。 Solaris のインストール自体は、整然と進んでいきます。混乱するとすれば、 パーティションの確保でしょう。Solaris は、自動的にハードディスクの空き 容量全部を使って、仮想ディスクを作ります。ですから、仮想ディスクにスラ イスを確保する段階になったら、 Solaris/Linux 間のデータ交換用の領域を 追加する事を忘れないでください。この為に便利なマウント場所 は、/export/share の様な、拡張パーティションです。 注意事項 - もし Solaris インストール最中に作業を中断してしまうと、この 段階ではすでにハードディスクの MBR が書き換えられてしまっているでしょ うから、二度とハードディスクから起動できなくなるかもしれません。 4.2. Web-Start 私は一度も Web-Start でうまくいった事がありません。もしこれを使った経 験がある方がいらっしゃいましたら、メールをください。 しかし、一旦 Solaris をインストールしてしまえば、 web-start-package で 問題が起きた事はありません。 4.3. GNU-tools の入手 Solaris の標準インストールでは、less コマンドすらインストールされませ ん。そんなものは、Solaris 向け RedHat Package Manager(RPM) からもって くれば? と薦めるかたもいますが、通常は標準のパッケージ tool を使いま す。多くのすばらしいパッケージは、http://www.sunfreeware.com で見つけ る事ができます。標準パッケージは、次のコマンドでインストールできます。 pkgadd また web-start ではこのようになりま す。java 5. ブートに関して 5.1. Solaris 付属のブートマネージャを使う ブート時、Solaris のブートマネージャでは、どのパーティションから起動す るのか、4つのプライマリパーティションから選択できます。もし自分のブー トローダを、プライマリパーティションのブートセクタにインストールしてい るのなら、全てうまくいくでしょう。このパーティションからブートさせるだ けで、Linux が起動するはずです。 5.2. lilo を使う 今、lilo は二番目のブートローダとして機能しています。しかし、もう一度 第一のブートローダとして使いたくありませんか?何も問題はありませ ん。lilo は簡単に Solaris をチェインブートできます。ただ、lilo.conf に 対して、適切に other= の行を付け加えればよいだけです。 テストするにあたって、まず初めに Solaris のチェインロードをブートセク タにある lilo に加えてみましょう。そして心ゆくまで、 lilo Solaris ,lilo Solaris ... と チェインロードさせてみましょう。もしこれがうまく いくようなら、lilo を再び MBR へ戻す事ができるでしょう。 しかしながら、Solaris がパーティションテーブルをめちゃめちゃにしてし まったかもしれません。この事は、私のシステムに Solaris 8 をインストー ルした後、発生しました。 lilo は新型のパーティションとは相性がよくあり ません。fdisk も同様です。 Solaris 7 の時は、なにも問題がなかったので すが。 5.3. grub を使う 大変残念な事なのですが、私は Solaris で grub boot を経験した事がありま せん。だれか経験がある人がいましたら、私までメールを下さい! (訳注 : grub とは、GNU GRUB という Multiboot ブートローダの事です。詳 しい情報が必要な方は、GNU GRUB のサイト GNU GRUB へアクセスしてみてくだ さい。) 6. データの共有 6.1. 共有パーティションを使う もし「``新しいカーネルの構築''」の章で触れたように、カーネルを Sun ディスクラベルと UFS をサポートするように構築しているのなら、 Solaris パーティションをマウントする事ができます。カーネルのブート中に、次の様 なメッセージを目にするでしょう - hda: [PTBL] [523/255/63] hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 このケースでは、パーティション 3 (hda3) は、6つのスライス (s0,s1,s2,s3,s6,s7) をもつ Solaris パーティションを意味します。これら のスライスは、Linux において、hda9 から hda14 のデバイスとして認識され ます。 Solaris のパーティションを、マウントしてみましょう。 UFS パーティショ ンをマウントする時には、常に -oufstype= の指定が必要です。このケースで は、-oufstype=sunx86 となります。つまり、パーティションをマウントする コマンドは、この様になります - mount -oufstype=sunx86 /dev/hda14 /mnt さあ、パーティションを確認してみましょう。注意点 - UFS パーティション に対しての書き込みは、まだ実験的なものです。お願いですから、UFS パー ティションに書き込んだデータを信用しないようにしてください。 もし、Solaris パーティションをブート時に自動でマウントするようにしたけ れば、次の様な行を /etc/fstab に加えてください。 /dev/hda14 /solaris ufs ufstype=sunx86 0 0 6.2. その他の手段 当たり前の事ですけど、データを共有するには他の手段もあります - フロッピーディスク 私は、フロッピーディスクのどのファイルシステムが Solaris で使え るのか知りません。 知っていたらメールをください。 ネットワーク経由 Solaris は NFS が利用できます。Linux も NFS が使えます。この方法 は、データを共有するには一番良い方法かもしれませんね。 7. 他のシステムのバイナリーを実行させる 7.1. Solaris 上で Linux のバイナリーを実行する これは、``lxrun''というプログラムを使う事でサポートされています。私に は、まだこのプログラムをテストする暇がありません。もっと情報が必要でし たら、Solaris のウェブサイトをみてください。 7.2. Linux 上で Solaris のバイナリーを実行する 私の知る限り、サポートされていません。 A. さらに情報を見つけるには これらの URL は、きっと役に立つでしょう - o Sun Freeware 私が Solaris 用のリソースを見つけるにあたって、まず最初にアクセスす るサイトです。多くの GNU-tools が、バイナリ形式で即インストールでき る状態になって置いてあります。 o Sun Microsystems Sun 社の公式サイト o Solaris Homepage o Solaris Hardware Compatibility List (HCL) o Solaris Online Documentation o My Website いつでもこのドキュメントの最新バージョンを、ページのどこかで見つけ る事ができます。 B. 謝辞 B.1. お礼 自分のマシンに Solaris をインストールし、この HOWTO を検証してくれた Marcel Meyer 氏に感謝いたします。 B.2. 疑問, 注文, 提案 これらは、いつでも歓迎します。 max.berger@xslt.de までどうぞ。 B.3. 著作権 訳注:著作権に関する宣言は、原文を尊重することとし、訳は参考程度にとど めます。 This document is copyrighted (C) by Max Berger. You may use and/or modify it according to the Linux Documentation Project License (LDPL) found at http://www.linuxdoc.org/COPYRIGHT.html. 参考訳:この文章の著作権は、Max Berger が所有します。この文章の利用及 び変更にあたっては、Linux Documentation Project License(LDPL) に従って ください。 Linux Documentation Project License(LDPL) は、ここで見る事 ができます。http://www.linuxdoc.org/COPYRIGHT.html. According to the license you don't have to tell me, but I'd very much like to know when you modify and/or republish this document. 参考訳:このライセンスに従う限り、私に連絡をする必要はありません。です が、私にとって、この文章が改良されたり再出版されたりする事を知るのは、 とっても嬉しい事です。 Although the information given in this document is believed to be correct, the author will accept no liability for the content of this document. Use the tips and examples given herein at your own risk. 参考訳:この文章で書いた情報は正しいものであると信じていますが、作者は この文章の内容に対して、なんら責任を負いません。この文章中に出ているサ ンプルは、自己責任において使ってください。 C. 日本語訳について 日本語訳 初版: 2001年 5月 13日 この文書を翻訳及び編集するにあたり、以下の方々からアドバイスを頂きまし た。 (50音順) 本当にありがとうございました。 o 岡本 さん o 大畑 さん o 後藤 雅晴さん o 小林 雅典さん o 境真 太郎さん o 佐野 武俊さん o 鈴木 康弘さん o 千旦 さん o 高城 正平さん o 山下 義之さん