- ベストアンサー
パーティションとディレクトリの違いについて
LINUXに関する以下の質問について、ご回答をお願いいたします。 (1)パーティションとディレクトリの違いについて教えてください。 (2)パーティションの一覧の表示方法(dfやfdiskコマンドでしょうか?) (3)例えば/runや/devというパーティションがあった場合、同時にディレクトリでもあるという意味で合っていますでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
物理的なハードディスクが一つある時に、その中をいくつかに分けて、あたかも複数のハードディスクがあるように「見せかける」のがパーティーションです。 ディレクトリは、ファイルを区分して分けるための「特別なファイルの一種」です。 ファイルを整理するためだけなら、ディレクトリで充分です。 いくつかの目的で、パーティーションを区切りますが、その根底にあるのは、別のハードディスクに見せかけているという点です。別のハードディスクですから、当然、個々のパーティーションごとにフォーマットを行うことになります。ディレクトリとパーティーションの最大の差がここにあります。もう一つは、別のハードディスクなので、容量は個々のパーティーションごとに管理されるということです。 事例としてよく上がるのは、swap領域。常にHDD上の連続した領域を確保する目的で、この領域は専用のパーティーションとすることがよくあります。(swapファイルというファイルにすることもできますが、こうすると、領域が分断され効率が落ちることがあります。) 後、システムアーキテクチャの関係で、/bootに関しては、bootパーティーションとして分けることが要求されることがあります。ブートプロセスの関係で、この領域に関しては、FAT形式でフォーマットしなければならないという制約があるものがあるためです。パーティーションは単独でフォーマットできるので、boot領域以外は、他の好きなフォーマット形式でフォーマットできるということになります。 後は、システムとユーザーのデータ領域を分けるためにパーティーションで区切り、例えば、/homeの下を別のパーティーションにすることもよく行われます。この動機は、システムをフォーマットして再構築するという事態に追い込まれた時に、ユーザーのデータを気にせずにシステム領域「だけ」フォーマットすることができるようにするためです。 同じような動機で、データバックアップ用の領域をパーティーションで分けることも往々にして行われます。システム領域のフォーマットに踏み切っても、パーティーションを分けておけば、バックアップデータは守れるという発想です。(理想的には、本当に物理的に別のHDDにすべきです。唯一の物理HDDが物理的に壊れたら、バックアップはシステムと一緒にあの世行きになりますから。) HDDのパーティーションは、linuxでは、任意の場所にマウントできます。マウントした後のパーティーションは、事実上、ディレクトリと同じように見えます。ですから、使う上では、ディレクトリと大差ありません。ただ、唯一気にすべきは、ディスクの容量は、パーティーションごとに管理されるということです。例えば、/homeの下を単独のパーティーションでつないだ場合、ユーザーファイルは、このパーティーションの容量内でしか使うことができません。これを利用して、ディスク使用量の制限のために、このような運用をする事例も多いです。 これを利用して、/varの下を別のパーティーションにする事例もあります。その動機は、ログファイルでHDDが溢れかえり、システムすら動かなくなり・・・というのを防止しようという発想です。/varパーティーションがいっぱいになったら、ログが取れなくなるだけです。(まぁ、その前に、管理すべきなのですが・・・) パーティーションと言うのは、こういうものです。 一覧は、言われているdfやfdiskで見られます。fdiskはルート権限が必要な点に注意してください。他に、lsblkというコマンドもあります。dfより、若干整理されて見やすいかもしれません。
その他の回答 (3)
- asciiz
- ベストアンサー率70% (6803/9674)
まず、パーティションの話は置いておきましょう。 昔のHDDは小さかったので、システムが大きくなってくると、複数のHDDを用意することが必要になってきます。 そこでunixのファイルシステムでは、「マウントポイント」を用意して、そこに別のHDDを接続(マウント)することにより、ディスク領域を拡張することにしました。 一度マウントしたマウントポイントは、通常のディレクトリと同じように見え、最初のHDDにあるファイル/ディレクトリと同様に「パス名」一つで統一的に扱えるようになりました。 1つのHDDの中では、いくらでもディレクトリを作って使い分けることができます。 しかしディレクトリを作ったからと言って、物理的にHDDが分割されるわけではありません。 そのディスクの範囲で、領域を確保し、ファイルを保存できます。 1つのファイルは、複数のディスクに渡って保存されることはありません。 ただ、ディスクの空き領域がなくなってくると、ファイルとしては1つであっても、ディスクのあちこちの空き領域を繋げてデータ保管したりします。 その様なファイルが増えてくると、ファイルの読み書き速度が極端に落ちてしまったりします。 ---- さてここで、パーティションの話を持ってきます。 パーティションとは、1つのHDDを複数のHDDに見せかける方法です。 あえて一度分けたうえで、「マウントポイント」に「マウント」して、使うわけです。 そうすると、そのマウントポイント以下の使う領域は、パーティションで区切られた中に限られます。 前述したように、1つのファイル本体がディスク全体に分散して記録される、というようなことは避けられるでしょう。 …でもそんなのは些細なことです。 unix系システムにおいてパーティション分けの重要な部分は、「スワップファイル領域を、ディスク中の固定領域(できればなるべく高速な部分)に配置できる」ことにあるんじゃないでしょうか。 一度パーティションで区切ってしまえば、他の一般ファイルが割りこんでくることもなく、決められた範囲を使用できます。 Swapを使うのは実メモリが足りなくなってきたときの最後の手段だとはいえ、少しでも高速にアクセスできるような工夫がしてあるということになります。 他の一般ファイル領域は、わざわざディレクトリごとにパーティションを切る必要なんてありません。 1段目のディレクトリごとにパーティションを切って、各ディレクトリがいっぱいになった場合に切りなおしてコピーする、なんて作業をする方が面倒です。 バーンと大きく確保して、たまにデフラグすればいいんじゃないでしょうか。 ただしブートに使うファイルはまとまっていた方がいいので /boot パーティションは切っておくとか、ユーザーに予想外の領域を食われてもシステムに影響のない /home パーティションは区切っておくとか、そういう目的で、パーティションを作成します。 ---- まあ現在では、内容を保持したままパーティションを切りなおすツールもあるので、そんなに後のことを考えなくていい時代になりました。 その様なツールが無い昔は、パーティションの作成/削除の際には内容がクリアされてしまうので、パーティションを切る場合にはすごく迷うものでした。
お礼
ご回答ありがとうございました。 詳細に記載していただき、大変参考になりました。
- unokwave
- ベストアンサー率58% (966/1654)
1)ストレージを用途分けするためのパーティションと、ファイルを分類するためのディレクトリ(≒フォルダ)です。 会社や場合によっては職員室のような場合でも、大部屋を用途で区分けするためにパーティションと呼ばれる立て板があるのを知りませんか。 オフィス パーティション でググると色々見つかります。 ディレクトリ(Directory)は英語辞書で引けば、住所氏名簿といった意味の説明が見つかるはずです。 人を特定するのに、○○に住んでいる△△さん、という表現がされるでしょう? この○○がディレクトリで、△△がファイル名に相当します。 2)マウントしているパーティションならdfで表示されます。 fdiskで見られるのはfdiskが対応しているパーティションタイプだけです。 場合によっては専用のツールが必要になります。 3)違います。 パーティションは区分けですが、その中をどう使うかは規定していません。 パーティションの中を決めるのはそこをフォーマットするのに使用したファイルシステム次第です。
お礼
ご回答ありがとうございました。 パーティションは区分けなので、ディレクトリとイコールではないのですね。
- sat000
- ベストアンサー率40% (324/808)
(1) ディスクを分割したブロックをパーティションと呼びます。パーティションの中にディレクトリやファイルがあります。なぜパーティションに分割するかというと、パーティションを越えてディレクトリサイズを増やすことができないので、容量制限をするというのが大きいかなと思います。最近は1つのパーティションのマシンも結構あります。 (2) まあdfですかね。あとは/etc/fstabの中に書いてる情報を見るとか。 (3) 通常は/devや/runはディレクトリでパーティションにはしません。/パーティションの下に置くことが多いのではないかと思います。もし、devパーティションがあったとして、その下に/devディレクトリがあるかどうかは何とも言えません。個々のマシン次第としか。
お礼
ご連絡ありがとうございました。 容量制限のためにパーティションでディスクを分割し、その中にディレクトリがあるということですね。
お礼
詳細にご回答頂き、ありがとうございました。 大変参考になりました。 また、コマンドも教えて頂きありがとうございました。lsblkというコマンドは初めて聞きました。