Linuxファイルシステム階層のデフォルトディレクトリの意味は何ですか?


41

いじくり回すためにさまざまなLinuxディストリビューションをインストールしたので、パーティションレイアウトを提供するインストーラーに困惑しています。

提供されるパーティションには、/ varswap/ usr、および/ homeなどの暗号化された名前があります。インストーラーはこれらを実際には説明しません-それらはどのような目的を果たし、もしあれば、どれを使用すべきですか?

回答:


61

ディレクトリ名についての簡単な答え:man hier端末に「」と入力してください:)

これはファイルシステム階層のマニュアルページで、ディレクトリ名の一般的な目的とそれらが保持するものについて説明しています。ここでWebバージョンを見ることができます

ウィキペディアにはさらに多くの読み物があります。

これらのリンクは、どのパーティションが何と呼ばれ、どのパーティションが保存に使用されている(または過去に使用されていた)かに関するすべてを説明します。

同じパーティション内のディレクトリだけでなく、別々のパーティションを使用することに対する答えは、保守性と拡張性にあります。たとえば、1つのパーティションがあり、/その/home上にJoe Userが/home/joeフォルダをいっぱいにすると、マシン全体のディスク領域が不足して動作しなくなります(ここでは簡略化していますが、それが一般的な結果です)。あなたが持っている場合//home異なるパーティションに、ジョーユーザーが自分埋めることができ/home/joe、フォルダ、および/homeパーティションが満杯になりますが、マシンがあるために動作し続ける/影響を受けません。

したがって、その原則を異なるパーティションにあるほぼすべての異なるディレクトリに展開すると、特にマシンがマルチユーザーおよびマルチサービスの役割で24時間365日稼働している場合に、それがどのように役立つかがわかります。


12
+1 man hier男に魚を教えるなど。
ジョージマリアン

ええ、hier(7)へのポインタをありがとう。私はずっと簡単に回答が得られることを知らずに、常にFHSのWebページにアクセスしています。
-andol

問題は、これらがどのように使用されるかを説明しているが、/ srvディレクトリのようにデフォルトで実際にはそのように使用されていないものがあることです。
ロナウドナシメント

7

インストール時に、多くのディストリビューションには、異なるパーティションに異なるディレクトリを配置するオプションがあります。たとえば、多くのユーザーは、インストールの残りの部分とは異なるパーティションに/ homeディレクトリを置くことを選択します。これは、/ homeディレクトリ内のすべてがユーザーに属しているためです。ドキュメント、ビデオ、およびその他のユーザー固有のデータはすべてここにあります。/ homeディレクトリを別のパーティションに配置し、実際のOSファイルを別のパーティションに配置することにより、ユーザーがLinuxオペレーティングシステムの新規インストールを決定した場合、メインパーティションを書き換えて/ homeパーティション(およびすべて彼のファイルの)そのまま。

これにより、ユーザーは異なるパーティションに複数のLinuxディストリビューションをインストールし、すべてが同じ/ homeパーティションを共有することもできます。これにより、ユーザーは使用しているLinuxバージョンに関係なく、自分のファイルにアクセスできます。

カジュアルなユーザーは、個別の/ var、swap、/ usrなどの割り当てについてあまり心配する必要はありません。これらのディレクトリはすべてOSの一部であり、ユーザーのファイルとはほとんど関係ありません。


良好なリンクの場合は+1。/ swapは常に別のパーティションではありませんか?
ジョージマリアン

@George Marian:する必要はありません。パーティションスワップの代わりに、ファイルシステムスワップ(既存のパーティションのファイルシステム内のファイル)を構成することができます。このようにして、Ubuntuシステムは単一のパーティションで動作できます。
txwikinger

3
自宅で遊んでいる人にとっては、通常のファイルシステムでスワップファイルを使用できるかどうかはファイルシステムに依存していることに注意してください。IE:これをbtrfsで試してはいけません。(古いカーネルでは)静かにデータを破壊でき、(新しいカーネルでは)スワップを追加しようとするとエラーをスローします。
RAOF

5

使用可能なディスク領域全体を使用することは、パーソナルコンピューターにとって完全に有効な(そしておそらく推奨される)オプションです。私の意見では、そのようなファイルシステムのパーティション分割は、ソフトウェアでRAIDまたは仮想ボリューム管理が実用的になる前の古代からのレイオーバーです。

UNIX系システムでは、ファイルシステムはルートディレクトリ「/」から始まります。DOS / Windowsの用語では、「C:」になります

DOS / Windowsでは、ドライブ文字をD:、E:などのダイビング文字に追加します。UNIX系のシステムでは、ドライブをディレクトリに「マウント」します。10メガバイトまたは10メガバイトのハードドライブがあった時代には、さまざまなディレクトリを異なるドライブやパーティションにマウントして、1つの大きなドライブのように見せることができました。かなり貧乏人のRAID 0です。

さまざまなルートディレクトリをパーティション分割する理由は数多くありますが、1つの一般的なアイデアは、swapおよび/ varパーティションが最も多く書き込まれているため、失敗する可能性が最も高いということです。それらを異なるパーティションに分けることで、バックアップから別のドライブを追加して再マウントするのは本当に簡単です。

また、1台のマシンで複数のバージョンのlinuxを実行している場合、/ homeパーティションを個別に用意することは非常に便利です。(たとえば、UbuntuおよびRed Hat)。Unix / Linuxプログラムはユーザーの設定をユーザーのホームディレクトリ内に配置するためです。ただし、これは実際よりも理論的にははるかに優れています。許可の意味を完全に理解する必要があるからです。

UNIXに似たオペレーティングシステムの重要なディレクトリとその説明を次に示します。

  • /bin -基本的なシステム実行可能ファイル
  • /lib -基本システムライブラリ(Linuxでは.so、Windowsでは.dll)。
  • /boot-あなたがカーネルの住む場所。これなしではコンピュータは起動しません。
  • /var-ディレクトリは、サービスがファイルを保存できました。ログファイルやメールボックスと同様
  • /etc -システム構成ファイル
  • /usr-必須ではないユーザーアプリケーション。(unixシステム / usrなしで(回復目的で)ブートできますが、あまり楽しくありません。古いシステムでは、これは/ homeと同じです。)
  • /home-ユーザーのホームディレクトリ。通常のユーザーは、自分のホームディレクトリにのみ書き込むことができます。
  • スワップ(ディレクトリではない)これは通常、UNIXの個別のパーティションです。Linuxではスワップファイルを作成できますが、スワップディレクトリはありません。

2
デスクトップ/パーソナルコンピューターの場合でも、/ homeを別のパーティションに配置することをお勧めします。そうすれば、ホームディレクトリがいっぱいになっても頭痛が少なくなります。
ジョージマリアン

@George別のドライブのホームディレクトリへのシンボリックリンクを妨げるものは何もありません。私のセットアップでは、Windowsとの互換性を確保するために、ホームパーティションはNTFSであり、使用するフォルダーをホームフォルダーにシンボリックリンクします。私はフォルダ全体をシンボリックリンクしますが、フレッシュインストールを行うことにした場合に備えて、隠されたものを〜/に分けておくのが好きです。別々のパーティションにリンクされたハードコードされたファイルパスを使用することは20年前に必要だったかもしれませんが、それらを必要にしたアーキテクチャ上の制約は今日存在しません。
エヴァンプレイス

1
@evan混乱しています。ホームディレクトリへのディレクトリのシンボリックリンクを参照していますか、それともホームディレクトリのどこかへのシンボリックリンクを参照していますか?/ homeを別のパーティションに設定すると、これはどう違うのですか?(「異なるパーティション」は完全に異なるドライブにある場合があります。)デフォルトの動作(たとえば、ホームフォルダーのサブディレクトリにダウンロードが配置される)に対して、ルートパーティションが誤っていっぱいになるのを防ぎます。
ジョージマリアン

@George両方とも、どちらでもいい。私がしようとしているポイントは、システムインストール中にハードコードされたリンクを設定するのはなぜですか?それは単に同じことを行い、いつでも簡単に変更できる後にいくつかのシンボリックリンクを挿入するだけですか?
エヴァンプレイス

@evan公正なポイント。インストール後、この種のものをいじくることはあまりないので、常に「デフォルト」の方法で行うことを好みました。
ジョージマリアン


1

スワップパーティションは、休止状態にも使用されます。ラップトップまたはデスクトップを休止状態にしたい場合は、実行中のオペレーティングシステムと開いているアプリケーションを保持するのに十分な大きさのスワップパーティションまたはスワップファイルが必要です。

多くの場合、スワップパーティションはRAMメモリと同じサイズであることが推奨されます。


1

インストール中に個別のパーティションを作成できます。/homeパーティションは、Ubuntuをインストールするたびに個人ユーザー設定が維持されることを意味します。

/-はルートです。
/var-(上記で説明)
/dev-登録済みデバイスへの「リンク」が含まれています。すなわち/ dev / Video0はキャプチャカードです...

/bin /sbin -アプリケーションを含む

Wikipediaには素晴らしいページがありますhttp://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

私が見つけた最大のことは、あなたのもののために2番目のパーティション(最大)を持っていることであり、あなたが再インストールまたはアップグレードするたびに言ったように。そのパーティションを再度選択し、フォーマットボックスのチェックを外すと、すべてが元に戻ります。あなたの壁紙も!


1

さて、swapスワップスペースを使用しています。Windowsのページファイルのようなものです。RAMを補完します。

/home Windowsのマイドキュメントなどのユーザーデータに使用されます。

/usr ほとんどのプログラムはC:\ Windowsによく似ています。

/var システムが正常に動作しているときに変更されるデータが含まれています。

なぜ別のパーティションにあるのかについては、主にOSがダウンした場合にデータがダウンしないことだと思います。しかし、私には本当にわかりません。


/var対の違い/etc
パセリエ

1

歴史的に、持っているベストプラクティスと考えられています/homeswapおよびその他の重要なノードは異なるパーティション、異なる物理ディスク、あるいは別の物理マシンに存在します。利便性のため(良くも悪くも)、安価な外部またはクラウドベースのバックアップの出現により、すべてが単一の大きなパーティションに存在するようになり、個人的なものを別の場所にバックアップするだけになりました。

/usr、Unixシステムリソースの略

/sbin、システムバイナリ

一般的な信念に反して/etc等を意味しません。代わりに、Extended Tool Chestの略です。しかし、一般的な信念に反して、それはまだ議論の問題です。

これらのフォルダの詳細と整理方法を次に示します。


0

スワップは、使用する場合は別に保管する必要があります。そして、それのためにあなたのラムサイズの1.5-2.0を使用してください。

残りは一緒に保つことができ、実際には問題ではありません(Linux / Unixはウィンドウではなく、単一のディレクトリ階層を持ちます。/varディレクトリが個別のパーティションであるかどうかにかかわらず、まったく同じに見えます)。パーティショニングの主な目的は、異なるファイルシステムを使用し、可能な「ディスクフル」シナリオを分割することです(たとえば、/ varがいくつかのクレイジーなアプリのログでいっぱいになった場合、/ home stilは動作します)

補足として、LVMを使用して自由にサイズ変更およびリムーバブルパーティションを自由に作成できるようにすること、および新しいハードディスクをファミリーに追加することを強くお勧めします。それでも、それはいくつかのコマンドラインを学ぶ必要があるので、完全な初心者のためではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.