そのため、最近、Debian 5.0.5インストーラーから、別の/usr
、/home
、/var
および/tmp
パーティション(1つの物理ディスク上)。
これの実際的な理由は何ですか?という事は承知しています /home
ユーザーファイルは個別に暗号化できるため、別のパーティションに置くと有利ですが、それ以外の理由は何ですか?
/usr
が別のパーティションにある場合、破損した/usr
が/etc
を回復できないという意味ではありません。/
は常にroであるとは限りません(/root
はrwである必要がある場合など)が、/usr
はそうである可能性があります。できるだけroを作るのに使えます。/tmp
(信頼性は高くないが多くのファイルでは高速)と/home
(信頼性が必要)に異なるシステムを使用したい場合があります。同様に/var
にはデータが含まれていますが、/usr
にはそうではありません/usr
安定性は犠牲になる可能性がありますが、/tmp
ほどではありません。複数のマシンが同じOSを共有している場合は、別個の/usr
が役立ちます。すべてのシステムで複製する代わりに、単一の中央/usr
を共有できます。 /usr
は読み取り専用でマウントできます。
/var
および/tmp
は、ユーザープログラムまたはデーモンによって埋めることができます。したがって、ルートパーティションである/
が100%いっぱいになるのを防ぎ、システムに深刻な影響を与える可能性のある別々のパーティションにこれらを置くと安全です。これらに対して2つの異なるパーティションを作成しないようにするために、/tmp
が/var/tmp
へのシンボリックリンクであることは珍しくありません。
なぜなら、一般ユーザーは/var
および/tmp
、したがってシステム全体に問題を引き起こす可能性があります。このようにして、ユーザープロセスは/var
および/tmp
、ただしルートfsではありません。別 /usr
は/usr
NFSまたは他のリモートファイル経由。
(私はこれが明確であることを望みます、私はまだコーヒーを持っていません)
問題は、完全なルートfsにより、Linuxシステムが拡張に対応できなくなり、管理者でさえ、リカバリCDなどがないと修正できないことです。いつ /tmp
および/var
、特に/home
は別のパーティションにあり、ルートfsは、管理者がそれを実行しないといっぱいになることはありません。取る /usr
通常のすべてのインストールが配置されるミックスに追加します。新しいソフトウェアをインストールしても、この問題は発生しません。
一般に、個別のパーティションを持つための引数は次のとおりです。
セキュリティ:たとえば、パーティションを読み取り専用でマウントして、悪意のあるユーザー(またはプロセス)がバイナリを上書きしたり、トロイの木馬に置き換えたりしないようにすることができます。そのため、sshバイナリが/ usr/local/binにあり、/ usr/localが読み取り専用でマウントされている場合、そのバイナリを置き換えるのは誰にとっても困難です。
柔軟性/利便性:たとえば、/ varを独自のパーティションに設定して80%まで使用した場合、サイズを変更したり、必要に応じて別のディスクに移動したりできます。/varの下のログが何らかの形で問題を起こしているため、「/」が100%いっぱいのシステムを処理するよりも、そうする必要があります。パーティションごとに完全に異なるファイルシステムを持つこともでき、OSでext3(たとえば)を使用したり、データベースでext4を使用したり、オブジェクトリポジトリでXFSを使用したり、カスタムアプリでRAWデバイスを使用したりできます。
伝統的に、それが開発されたDECハードウェアの特殊性のために、この方法で行われました。ルートとスワップ用に小さくて高速なディスクと、ユーザーデータ用に大きくて遅いディスク(/usr
)を購入する方が経済的でした。いくつかの点で、この慣習は立ち往生しました。
ただし、これを行う理由はまだいくつかあります。一般的なものは次のとおりです。
/ bootをディスクの先頭近くの別の小さなパーティションに配置します。古いPC BIOSファームウェアは、ディスクの最初の1024トラックからのみ起動します。これは、最新のハードウェアでは問題になる可能性が低くなります。
/var
や/tmp
などのビジーなパーティションを別のディスクに配置して、ユーザーデータへのアクセスのボトルネックを解消します。
異なるパーティション上の異なるファイルシステム。たとえば、/usr
にはジャーナリングファイルシステムを使用したいが、OracleなどのDBMSのファイルをホストするパーティションには使用しない場合があります。DBMSは独自のジャーナリングを実行し、ジャーナリングファイルシステムは大きなオーバーヘッドを課す可能性があります。
ユーザーデータを別のディスクまたはパーティションに配置すると、マシンを大幅に操作することなく、より大きなディスクに簡単に移行できます。
NFSを介してホームディレクトリやアプリケーションバイナリなどの共有データをマウントしたい場合があります。
fsck
は、特定のタイプのファイルシステムの大きなボリュームで長時間かかります。システム領域(頻繁)とユーザー領域(それほど頻繁ではない)で異なるファイルシステムメンテナンススケジュールが必要になる場合があります。
ファイルシステムのフォーマットは、それをrm -rfするよりも高速です。特に、消去する小さなファイルが何千もある場合。完全に再作成するSquidキャッシュ...処理の必要性はあるが、最終結果が作成された後に破棄できる大量の画像ファイル。巨大なコンパイルからの.objファイル...など.
時々別のパーティションに置くフォルダは/usr/local/
ディストリビューションのパッケージマネージャーとは別にビルドしてインストールしたソフトウェアは、ディストリビューションを変更またはアップグレードした場合、またはディストリビューションと一緒にインストールされた別のディストリビューションによって再利用される可能性があります。考えられるすべての組み合わせで機能することは明らかに保証されていませんが、害はありません。
私はtmpfsに/tmp
を置いているので、内容はディスクではなくRAMに保存されています。これは/etc
または/usr
には役立ちませんしかしながら。
しかし、さまざまなファイルシステムにさまざまなディレクトリを配置できると便利です。つまり、/home
は、ext4のような高速/実験的なファイルシステムとext [2]のような安定した/信頼性の高いファイルシステムの/etc
です。