web-dev-qa-db-ja.com

/ home以外のものを別のパーティションに置くのはなぜですか?

そのため、最近、Debian 5.0.5インストーラーから、別の/usr/home/varおよび/tmpパーティション(1つの物理ディスク上)。

これの実際的な理由は何ですか?という事は承知しています /homeユーザーファイルは個別に暗号化できるため、別のパーティションに置くと有利ですが、それ以外の理由は何ですか?

56
Alex B
  1. 損失の最小化:/usrが別のパーティションにある場合、破損した/usr/etcを回復できないという意味ではありません。
  2. セキュリティ:/は常にroであるとは限りません(/rootはrwである必要がある場合など)が、/usrはそうである可能性があります。できるだけroを作るのに使えます。
  3. 異なるFSの使用:/tmp(信頼性は高くないが多くのファイルでは高速)と/home(信頼性が必要)に異なるシステムを使用したい場合があります。同様に/varにはデータが含まれていますが、/usrにはそうではありません/usr安定性は犠牲になる可能性がありますが、/tmpほどではありません。
  4. Fsckの期間:パーティションが小さいほど、チェックが高速になります。
  5. 他の方法はクォータですが、パーティションの充填について言及しました。
57

複数のマシンが同じOSを共有している場合は、別個の/usrが役立ちます。すべてのシステムで複製する代わりに、単一の中央/usrを共有できます。 /usrは読み取り専用でマウントできます。

/varおよび/tmpは、ユーザープログラムまたはデーモンによって埋めることができます。したがって、ルートパーティションである/が100%いっぱいになるのを防ぎ、システムに深刻な影響を与える可能性のある別々のパーティションにこれらを置くと安全です。これらに対して2つの異なるパーティションを作成しないようにするために、/tmp/var/tmpへのシンボリックリンクであることは珍しくありません。

25
Didier Trosset

なぜなら、一般ユーザーは/varおよび/tmp、したがってシステム全体に問題を引き起こす可能性があります。このようにして、ユーザープロセスは/varおよび/tmp、ただしルートfsではありません。別 /usr/usr NFSまたは他のリモートファイル経由。

(私はこれが明確であることを望みます、私はまだコーヒーを持っていません)

13
KellyClowers

問題は、完全なルートfsにより、Linuxシステムが拡張に対応できなくなり、管理者でさえ、リカバリCDなどがないと修正できないことです。いつ /tmpおよび/var、特に/homeは別のパーティションにあり、ルートfsは、管理者がそれを実行しないといっぱいになることはありません。取る /usr通常のすべてのインストールが配置されるミックスに追加します。新しいソフトウェアをインストールしても、この問題は発生しません。

11
txwikinger

一般に、個別のパーティションを持つための引数は次のとおりです。

  1. セキュリティ:たとえば、パーティションを読み取り専用でマウントして、悪意のあるユーザー(またはプロセス)がバイナリを上書きしたり、トロイの木馬に置き換えたりしないようにすることができます。そのため、sshバイナリが/ usr/local/binにあり、/ usr/localが読み取り専用でマウントされている場合、そのバイナリを置き換えるのは誰にとっても困難です。

  2. 柔軟性/利便性:たとえば、/ varを独自のパーティションに設定して80%まで使用した場合、サイズを変更したり、必要に応じて別のディスクに移動したりできます。/varの下のログが何らかの形で問題を起こしているため、「/」が100%いっぱいのシステムを処理するよりも、そうする必要があります。パーティションごとに完全に異なるファイルシステムを持つこともでき、OSでext3(たとえば)を使用したり、データベースでext4を使用したり、オブジェクトリポジトリでXFSを使用したり、カスタムアプリでRAWデバイスを使用したりできます。

9
jonesy

伝統的に、それが開発されたDECハードウェアの特殊性のために、この方法で行われました。ルートとスワップ用に小さくて高速なディスクと、ユーザーデータ用に大きくて遅いディスク(/usr)を購入する方が経済的でした。いくつかの点で、この慣習は立ち往生しました。

ただし、これを行う理由はまだいくつかあります。一般的なものは次のとおりです。

  • / bootをディスクの先頭近くの別の小さなパーティションに配置します。古いPC BIOSファームウェアは、ディスクの最初の1024トラックからのみ起動します。これは、最新のハードウェアでは問題になる可能性が低くなります。

  • /var/tmpなどのビジーなパーティションを別のディスクに配置して、ユーザーデータへのアクセスのボトルネックを解消します。

  • 異なるパーティション上の異なるファイルシステム。たとえば、/usrにはジャーナリングファイルシステムを使用したいが、OracleなどのDBMSのファイルをホストするパーティションには使用しない場合があります。DBMSは独自のジャーナリングを実行し、ジャーナリングファイルシステムは大きなオーバーヘッドを課す可能性があります。

  • ユーザーデータを別のディスクまたはパーティションに配置すると、マシンを大幅に操作することなく、より大きなディスクに簡単に移行できます。

  • NFSを介してホームディレクトリやアプリケーションバイナリなどの共有データをマウントしたい場合があります。

  • fsckは、特定のタイプのファイルシステムの大きなボリュームで長時間かかります。システム領域(頻繁)とユーザー領域(それほど頻繁ではない)で異なるファイルシステムメンテナンススケジュールが必要になる場合があります。

ファイルシステムのフォーマットは、それをrm -rfするよりも高速です。特に、消去する小さなファイルが何千もある場合。完全に再作成するSquidキャッシュ...処理の必要性はあるが、最終結果が作成された後に破棄できる大量の画像ファイル。巨大なコンパイルからの.objファイル...など.

5
gabe.

時々別のパーティションに置くフォルダは/usr/local/ディストリビューションのパッケージマネージャーとは別にビルドしてインストールしたソフトウェアは、ディストリビューションを変更またはアップグレードした場合、またはディストリビューションと一緒にインストールされた別のディストリビューションによって再利用される可能性があります。考えられるすべての組み合わせで機能することは明らかに保証されていませんが、害はありません。

4
Troubadour

私はtmpfsに/tmpを置いているので、内容はディスクではなくRAMに保存されています。これは/etcまたは/usrには役立ちませんしかしながら。

しかし、さまざまなファイルシステムにさまざまなディレクトリを配置できると便利です。つまり、/homeは、ext4のような高速/実験的なファイルシステムとext [2]のような安定した/信頼性の高いファイルシステムの/etcです。

2
jonescb