Gentoo Logo

1.  ブロックデバイス入門

ブロックデバイス

Linuxファイルシステム、パーティション、ブロックデバイスを含めて、Gentoo LinuxとLinux全般でのディスクに適している側面を詳しく見て行きましょう。 そして、ディスクとファイルシステムの一部始終を理解してもらった上で、Gentoo Linuxのインストールの為にパーティションとファイルシステムのセットアップの手順を案内します。

初めに、ブロックデバイスを紹介します。 おそらく最も有名なブロックデバイスはLinux上で1番目のドライブ、すなわち/dev/sdaでしょう。 SCASIもしくはシリアルATAドライブは両方とも/dev/sd*という名前が付けられます。 カーネルで新しいlibataフレームワークを使用していれば、IDEドライブさえ/dev/sd*という名前が付けられます。 もし古いデバイスフレームワークを使用していたら、1番目のIDEドライブは/dev/hdaになるでしょう。

上記のブロックデバイスはディスクへの抽象的インターフェイスを表しています。 ユーザープログラムはドライブがIDEやSCSIもしくは他のどんなものかどうかを気にすること無く、ディスクと情報をやりとりするためにブロックデバイスを使用できます。 プログラムは簡単にディスク上の記憶領域をランダムアクセス可能な512Mバイトごとの連続したブロックとしてアドレスを指定できます。

パーティション

Linuxシステムを格納するのにディスクの全体を使用することは理論上可能ですが、実際にはほとんどそうはされません。代わりにディスク全体のブロックデバイスはもっと扱いやすいブロックデバイスにより小さく分割されます。ほとんどのシステムではこれら分割されたものをパーティションと呼びます。

1.  パーティション構成を計画する

通常のパーティション構成

もしシステムのパーティション構成を編集するのに興味が無ければ、このハンドブックを通して使っているパーティション構成を使用できます。インストールするPowerPCシステムの種類に最も一致するファイルシステムの割り当てを選んでください。

Apple New World

Apple New Worldマシンはかなり簡単に設定できます。最初のパーティションは常にApple Partition Map上にあります。このパーティションはディスクの割り当てを記録します。このパーティションを削除することはできません。次のパーティションは常にブートストラップパーティションにするべきです。このパーティションは小さな(800k)のHFSファイルシステムを含み、このファイルシステムはブートローダYabootのコピーとその設定ファイルを保持しています。このパーティションは、他のアーキテクチャにあるような/bootと同じではありません。ブートパーティションの後には、下記の構成に従って、通常のLinuxファイルシステムが置かれます。スワップパーティションは、システムが物理メモリ不足になったときのための一時的な保存場所です。ルートパーティションは、Gentooがインストールされているファイルシステムを含みます。デュアルブートを行いたいのであれば、確実にyabootが最初に起動するように、ブートストラップパーティションの後であればどこでもOSXパーティションが置けます。

注意: Apple_Driver63Apple_Driver_ATAApple_FWDriverApple_Driver_IOKitApple_Patchesのような「Disk Driver」パーティションがディスク上にあるかもしれません。これらはMacOSをブートするのに使われるので、これが必要なければ、mac-fdiskiオプションでディスクを初期化することでこれらを削除できます。これはディスクを完全に消去します!疑わしいときは、ただそのままにしてください。

注意: Appleのディスクユーティリティでこのディスクをパーティション分割したならば、「将来の利用」のためにAppleが予約している128Mbの空き領域があるかもしれません。これらは安全に削除できます。

パーティション サイズ ファイルシステム 説明
/dev/sda1 32k なし Apple Partition Map
/dev/sda2 800k HFS Appleのブートストラップ
/dev/sda3 512Mb スワップ Linuxのスワップ
/dev/sda4 ディスクの残り ext3、reiserfs、xfs Linuxのルート

Apple Old World

Apple Old Worldマシンの設定は少し込み入っています。最初のパーティションは常にApple Partition Mapです。このパーティションはディスクの割り当てを記録します。このパーティションを削除することはできません。BootXを使っているならば、下記の設定はMacOSが別のディスク上にインストールされていることを想定しています。そうでなければ、Apple_Driver63、Apple_Driver_ATA、Apple_FWDriver、Apple_Driver_IOKit、Apple_PatchesやMacOSインストールのような「Apple Disk Driver」のための追加パーティションがあるでしょう。Quikを使っているならば、他のAppleのブート方法と違って、カーネルを置くためのブートパーティションの作成が必要になります。ブートパーティションの後には、下記の構成に従って、通常のLinuxファイルシステムが置かれます。スワップパーティションは、システムが物理メモリ不足になったときのための一時的な保存場所です。ルートパーティションは、Gentooがインストールされているファイルシステムを含みます。

注意: OldWorldマシンを使っているならば、MacOSを利用可能なままにしておく必要があります。ここでの割り当てではMacOSが別のドライブにインストールされていることを想定しています。

パーティション サイズ ファイルシステム 説明
/dev/sda1 32k なし Apple Partition Map
/dev/sda2 32Mb ext2 Quikブートパーティション(quikのみ)
/dev/sda3 512Mb スワップ Linuxのスワップ
/dev/sda4 ディスクの残り ext3、reiserfs、xfs Linuxのルート

Pegasos

Pegasosのパーティションの割り当ては、Appleの割り当てと比べてかなり単純です。最初のパーティションはブートパーティションで、起動するカーネルや起動時にメニューを表示するOpen Firmwareのスクリプトを含んでいます。ブートパーティションの後には、下記の構成に従って、通常のLinuxファイルシステムが置かれます。スワップパーティションは、システムが物理メモリ不足になったときのための一時的な保存場所です。ルートパーティションは、Gentooがインストールされているファイルシステムを含みます。

パーティション サイズ ファイルシステム 説明
/dev/sda1 32Mb affs1またはext2 ブートパーティション
/dev/sda2 512Mb スワップ Linuxのスワップ
/dev/sda3 ディスクの残り ext3、reiserfs、xfs Linuxのルート

IBM PReP (RS/6000)

IBM PowerPC Reference Platform (PReP) は、ディスクの最初のパーティションに小さなPRePブートパーティションを必要としており、スワップとルートパーティションが続きます。

パーティション サイズ ファイルシステム 説明
/dev/sda1 800k なし PRePブートパーティション (タイプ0x41)
/dev/sda2 512Mb スワップ Linuxのスワップ (タイプ0x82)
/dev/sda3 ディスクの残り ext3、reiserfs、xfs Linuxのルート (タイプ0x83)

警告: partedは、HFS+を含むパーティションのサイズを変更することができます。あいにく、ジャーナルHFS+ファイルシステムのサイズ変更で問題が起こるかもしれないので、最良の結果を得るには、サイズ変更の前にMac OS Xでジャーナリングを無効にしてください。あらゆるサイズ変更操作は危険であることを覚えておき、あなた自身の責任で試みてください!サイズの変更前にデータのバックアップをいつも必ず取ってください!

もしパーティションがどれぐらいのサイズにすればいいのか、どれだけの数のパーティションかにすべきかを知りたいのならば読み進んでください。そうでなければ、今から一般的な選択: パーティション作成にmac-fdiskを使う(Apple)またはもう一つの選択: パーティション作成にpartedを使う(IBM/Pegasos)に進んでください。

パーティション数とその大きさ

パーティションの数は環境に大きく依存します。例えば、多数のユーザーがいるのならセキュリティを強めバックアップを容易にするために多分/homeを別にしたいでしょう。もしメールサーバーとして稼働させるためにGentooをインストールしようとしているのなら、すべての受信したメールは/var内に保存されるので/varは別にすべきでしょう。ファイルシステムの良い選択はパフォーマンスを最大限にするでしょう。ゲームサーバーではほとんどのゲームサーバーパッケージが/optにインストールされるので、そこは別にするべきです。理由は/homeをセキュリティとバックアップのために別にするのと同じようなものです。どの割り当てを選ぼうと、/usrの容量は十分に取りましょう。アプリケーションの大部分を含むだけではなく、Portageツリーに保存される多様なソースを除いてもPortageツリーだけで500Mbを超えます。

こういったように、どういうシステムにしたいのかにかなり依存します。分割されたパーティションまたはボリュームには以下の利点があります。

  • それぞれのパーティションまたはボリュームに最適なパフォーマンスを上げるファイルシステムを選択できます。
  • パーティションを分けておくと、あるゾンビプロセスがパーティションまたはボリュームにデータを書き込み続けてシステム全体の空き容量を使い果たすのを防ぐことが出来ます。
  • 必要ならば、並行した複数のチェックを行えるのでファイルシステムのチェック時間を減らせます。(この利点は複数のパーティションでよりも複数のディスクでより有効ですが)。
  • セキュリティは読込専用、nosuid(setuidビットは無視されます)、noexec(実行ビットは無視されます)等でいくつかのパーティションをマウントすることで増大します。

しかし、複数のパーティションにもいくつか欠点があります。 正しく設定しないと、空き容量がかなりあるパーティションと空き容量の無いパーティションのあるシステムになってしまうでしょう。 もうひとつやっかいなのはパーティション(特に/usr/varといった大切なもの)が分かれていると、 initramfsを使ってブートスクリプトが実行される前に、パーティションをマウントするように設定しなければいけない、ということもあります。 とはいえ、これはどんな環境でも問題になるというわけではありません。

また、SCSIとSATAではGPTラベルを使わなければ15個迄というパーティション数の制限があります。

1.  一般的な選択: パーティション作成にmac-fdiskを使う(Apple)

現時点では、パーティション作成にmac-fdiskを使います。

コード表示 1.1: mac-fdiskの開始

# mac-fdisk /dev/sda

Linux用の領域を残すためにAppleのディスクユーティリティを使うならば、新規インストールのため場所を空けるため以前に作成したパーティションを最初に削除してください。パーティションを削除するためにはmac-fdiskの中でdを使用してください。それは、削除するパーティション番号を尋ねます。通常、NewWorldマシンの最初のパーティション(Apple_partition_map)は削除することができません。新しいディスクで始めたいのならば、iを押すことで簡単にディスクを初期化できます。これによりディスクが完全に消去されるので、注意してこれを使ってください。

次に、bを使ってApple_Bootstrapを作成してください。それは、どのブロックから始めるか尋ねます。先に空いているパーティション番号を入力し、その後に続けてpを入力します。例えば、これは2pです。

注意: このパーティションは/bootパーティションではありません。これはLinuxによって全く使用されません。つまり、どんなファイルシステムも配置する必要はありませんし、これをマウントするべきではありません。Appleユーザーは/bootのための余分のパーティションを必要としません。

それから、cを押してスワップパーティションを作成してください。再び、mac-fdiskはどのブロックからこのパーティションを始めるか尋ねます。以前に私たちがApple_Bootstrapを作成するために2を使用したので、今は3pを入力する必要があります。サイズを尋ねられた時は、512M(または望んでいるどんなサイズでも -- 最低限512MBを推奨しますが、物理メモリの2倍が一般的に受け入れられているサイズです)を入力してください。名前を尋ねられた時は、swapを入力してください。

ルートパーティションを作成するためには、ルートパーティションがどのブロックから始まるべきであるかを選ぶために、cを入力した後に続けて4pを入力してください。サイズを尋ねられた時は、再び4pを入力してください。mac-fdiskはこれを「使用可能なスペースをすべて使用してください」と解釈するでしょう。名前を尋ねられた時は、rootを入力してください。

完了するためには、wを使ってパーティションをディスクに書き、qを使ってmac-fdiskを終了してください。

注意: 全く問題がないことを確かめるために、mac-fdisk -lを実行し、すべてのパーティションがそこにあるかどうかを調べるべきです。もし、作成したパーティションまたは行った変更のいずれかを見ないならば、mac-fdiskにおいてiを押してパーティションの再初期化をするべきです。これがパーティションマップを再作成し、それからすべてのパーティションを取り去るということに注意してください。

これでパーティションが作成されましたので、ファイルシステムの作成に進むことができます。

1.  もう一つの選択: パーティション作成にpartedを使う(PegasosとRS/6000)

パーティションエディタであるpartedは現在、Mac OSやMac OS Xで使われるHFS+パーティションを処理することができます。このツールであなたのMacパーティションのサイズを変更し、Linuxパーティションのためのスペースを作成することができます。Macについての説明ばかりをしましたが、以下の例はPegasosマシン向けのみのパーティションの作成についての説明になります。

さあpartedを実行しましょう。

コード表示 1.1: partedを起動する

# parted /dev/sda

もしドライブが区切られていなければ、mklabel amigaを実行して新しいディスクラベルをドライブに作成してください。

現在のパーティションテーブルを表示するために、いつでもprintをpartedでの操作中に入力することができます。もしあなたの気が変わるかミスをしたら、いつでもCtrl-cを押してpartedを中止させることができます。

もし、あなたがMorphOSも同様にPegasosへインストールするつもりなら、ドライブの最初にaffs1ファイルシステムを作成します。MorphOSカーネルを入れるために32MBもあれば十分です。もし、Pegasos Iを持っているか、ext2やext3以外のファイルシステムを使うつもりなら、同様にLinuxカーネルをこのパーティションに入れなければならないでしょう(Pegasos IIはext2、ext3またはaffs1パーティションだけからブートすることができます)。パーティションを作成するにはmkpart primary affs1 開始 終了を実行します。ここで、開始終了はメガバイトによる範囲で置き換えるべきです(例えば0 32は0MBから始まって32MBで終わる32MBのパーティションを作成します)。もし、代わりにext2やext3のパーティションを作成するならば、mkpartコマンド内のaffs1をext2やext3に置き換えてください。

Linuxのために2つのパーティションを作成する必要があります。ルートファイルシステムを1つと、スワップパーティションを1つです。個々のパーティションを作成するために、開始終了を望んでいるメガバイト境界で置き換えて、mkpart primary 開始 終了を実行してください。

コンピュータのRAMの2倍のサイズがあるスワップパーティションを作成することは一般的に推奨されていますが、少なくとも512Mbが推奨されています。スワップパーティションを作成するには、パーティション境界を再び開始と終了で表して、mkpart primary linux-swap 開始 終了を実行してください。

partedでの作業が終わったら、単にquitを実行してください。

1.  ファイルシステムを作成する

はじめに

さてパーティションが作成されましたので、それぞれにファイルシステムを作成するときが来ました。どのファイルシステムを選べばよいか分からなくて、デフォルトのものを使うことで満足ならば、パーティションにファイルシステムを適用するに進んでください。そうでなければ利用可能なファイルシステムに関して知るために読み進めてください。

Filesystems

Linuxカーネルでは様々なファイルシステムをサポートしています。 ここではLinuxシステムの多くで共通して使われているext2、ext3、ReiserFS、XFS、JFSについて説明します。

ext2は実証済みで真のLinuxファイルシステムですがメタデータジャーナリングを持ちません。 これは起動時の定期のext2ファイルシステムのチェックにかなりの時間が掛かることもあるということです。 現在、整合性のチェックをとても早く終わらせることのできる次世代のジャーナリングファイルシステムの選択肢があります。 そのために一般的には非ジャーナリングファイルシステムより好まれています。 ジャーナリングファイルシステムはファイルシステムの不整合状態の発生やシステム起動時の大幅な遅延を防ぎます。

ext3はext2ファイルシステムのジャーナル化バージョンです。 full data及びordered dataジャーナリングの様に優れたジャーナリングモードに加えて、素早い回復のためのメタデータジャーナルを提供します。 ほぼすべての状況下で高いパフォーマンスを上げることができるHtreeインデックスを使用しています。 要するにext3は素晴らしいファイルシステムだということです。 ext3はすべての目的、すべてのプラットフォームに推奨されるファイルシステムです。

JFSはIBMの高性能なジャーナリングファイルシステムです。 JFSは軽くて速くて信頼できるB+treeに基づくファイルシステムで、様々な状況下で良いパフォーマンスを上げます。

ReiserFSはB+treeに基づくジャーナル付きのファイルシステムです。 全般的に高パフォーマンスであり、特により多くのCPUサイクルを犠牲にしてたくさんの小さなファイルを扱うようなときに顕著です。 ReiserFSは他のファイルシステムと比べるとあまりメンテナンスされていないようです。

XFSは堅牢という特徴を持ち、拡張性に最適化されたメタデータジャーナリングを持つファイルシステムです。 XFSは様々なハードウェアの問題にあまり寛容ではないようです。

スワップパーティションを有効にする

mkswapはスワップパーティションを初期化するのに使うコマンドです。

コード表示 1.1: スワップパーティションを初期化する

# mkswap /dev/sda3

スワップパーティションを有効にするにはswaponを使用します。

コード表示 1.1: スワップパーティションを有効にする

# swapon /dev/sda3

さあ、他のファイルシステムを作成する前に、スワップを作成し有効にしましょう。

パーティションにファイルシステムを適用する

パーティションやボリュームにファイルシステムを作成するには、それぞれのファイルシステムに合った利用可能なツールがあります。

ファイルシステム 作成コマンド
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs

例えば、ルートパーティション(今回の例では/dev/sda4)にext3ファイルシステムを作成するには、以下のようにします。

コード表示 1.1: パーティションにファイルシステムを適用する

# mke2fs -j /dev/sda4

さあ新しく作成されたパーティション(もしくは論理ボリューム)にファイルシステムを作成しましょう。

重要: (ブートローダを設定する)で説明しているように、/にReiserFSを使うことを選択し、ブートローダとしてyabootを使うならば、デフォルトのブロックサイズを変えないでください。

注意: PegasosIIでは、カーネルを入れるパーティションはext2、ext3またはaffs1でなければなりません。NewWorldマシンはext2、ext3、XFS、ReiserFS、そしてHFS/HFS+ファイルシステムからでも起動することができます。BootXでブートしているOldWorldマシンでは、カーネルはHFSパーティション上に置かなければなりませんが、ブートローダを設定しているときにこれは終わるでしょう。

1.  マウント

さてパーティションが初期化されてファイルシステムが収まったので、それらのパーティションをマウントするときが来ました。mountというコマンドを使います。例ではルートパーティションをマウントします。

コード表示 1.1: パーティションをマウントする

# mount /dev/sda4 /mnt/gentoo

注意: もし/tmpを別のパーティションとして置きたいのであれば、マウントと解凍後にchmod 1777 /mnt/gentoo/tmpという風にパーミッションを変更するのを忘れないでください。これは/var/tmpも同様です。

(Gentooインストールファイルをインストールする)に進みましょう。

ページの更新日 2011年 10月 17日

要約: Gentooをインストールするには、そのために必要なパーティションを作成する必要があります。この章では、後で必要となるパーティションを作成する方法を説明します。

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.