ルートパーティションとホームパーティションが異なるファイルシステムを持ち、別々の物理デバイスに配置されることは可能ですか?


10

SATA HDDに存在する別のパーティションのext3ファイルシステムと、Intel SSDに存在する別のbtrfsパーティションのホームディレクトリでルートをフォーマットしたとします。

インターネットからファイルをダウンロードし、一時的に/tmp(ルートファイルシステムに)保存してから、ホームディレクトリ(2番目のパーティション)に移動することにしました。

このような単純なmvコマンドを機能させるために、バックグラウンドで発生する痛みを伴うプロセスを感じることができます。

だから、最初に、ルートとホームが異なるファイルシステムを持つことは可能ですか?第二に、前の質問に対する答えを仮定するとOSからのすべての移行を管理しないか、「はい」だったext3btrfs異なるディスクタイプ(HDDやSSD)のための異なるデバイスドライバを使用して、その後?


3
これはレイヤーで行われました。ブロックデバイス層の上に構築されたファイルシステム層。ファイルシステム層で適切なファイルシステムを使用できます。そのブロックデバイスレイヤーで適切なブロックデバイスを使用できます。各マウントポイントは、独自のファイルシステムとデバイスを持つことができます。
おがくず

@sawdust、それはあなたが指摘した非常に興味深いもの、ファイルシステム層とブロックデバイス層です。彼らはどのように関係していますか?測定値があれば参考になります。
カリムマナウイル

ファイルシステムについてはあまり知りませんが、プロセスは外部FAT32ドライブにファイルをコピーする場合とそれほど変わらないと思います
ブレイン


ext4へのアップグレードが非常に簡単なのに、なぜ2017年もext3を使用するのですか?
デビッドフォースター

回答:


25

答えはイエスです。OSがサポートできるファイルシステムを実行している任意のデバイスに任意のディレクトリを作成できます。

だから、持つことができ/ /var /home /opt、さらには/home/afr0ck異なるデバイス、異なるパーティション、異なるファイルシステム上。

あなただけでなく、それは一般的です。たとえば、異なるパーティションを保持すること/varをお勧めします。これらの/homeパーティション/は不注意にディスク容量を消費する可能性が最も高いため、満杯になってもシステムにあまり影響を与えません。ルートと同じパーティションにある場合、システムが停止する可能性があります。

また、速度上の理由から、異なるデバイスで異なるディレクトリを実行したい場合があります。そして、異なる目的のために異なるファイルシステムを使用します。たとえば、ext4はOSファイルに必要なものであり、変更はあまり多くありませんが、バックアップ用のスナップショットを保持できるように/ homeにbtrfsが必要な場合があります。これらはすべて、特定のユースケースに対して各人が行うことができる決定です。

OSのユーザー空間部分は、さまざまなデバイスとファイルシステムの種類を理解する必要はありません。カーネルにファイルを移動するよう要求し、カーネルはそこからすべてを調整します。したがって、mvコマンドは(たとえば)ファイルシステムとデバイスタイプに依存しません。カーネルは、さまざまなパーティションの読み取りと書き込みに必要なドライバーを呼び出します。


7
mv(1)最初rename(2)にファイルを試行することを指摘するのに便利です。次に、コピーと削除にフォールバックします。したがって、名前を変更しようとするのはmv、FSに依存しない方法でそれが可能かどうかを判断する方法です。(rename(2)同じファイルシステムドライバーを使用しているかどうかに関係なく、異なるデバイス間を移動するときは常に失敗します。@ afr0k。)
Peter Cordes

1
@PeterCordesええ、名前の変更が重要なことだとは知りませんでした。私は常にmvを使用して名前を変更しています。

5
@stanri:コマンドをmvfork / execせずrename(1)、単にrename(2)システムコールを試みます。標準のrenameシェルコマンドはありません。一部のシステムでは、util-linuxからのパターン置換複数ファイルの名前変更コマンドです。私はシェルコマンドについては話していませんでしたmv
ピーターコーデス

/ usrでも別のパーティションに置くことができます。これが、本当に必要なものが/ bin / libと/ sbinにある理由です-すべてのインストーラーがそれをサポートするかどうかは別問題です。
rackandboneman

7

はい、個別のファイルシステム(マウントポイント)を異なるファイルシステムタイプにすることができます。  /procは常にprocfsファイルシステムであり、/sys常にsysfsです。一時ファイルシステム(を含むこともあります/tmp)は、多くの場合tmpfs、ワークグループ設定では、ユーザーのホームディレクトリ(およびその作業製品ディレクトリ)が一般的であるnfsか、他のリモート(ネットワーク/共有)ファイルシステムタイプです。

OSが行う特別な管理はありません。ある時点まで、ユーザーレベルでは、lsリストはどのディレクトリでもほとんど同じように見えるという意味で、すべてのファイルシステムは似ています。そのポイントを超えると、ファイルシステムは相互作用しません。同じファイルシステムタイプの同じ物理ディスク上の2つのファイルシステム(パーティション)の間でも、リンケージはありません1。たとえば、あるファイルシステム(マウントポイント)から別のファイルシステムにファイルを移動するには、常にコピーを作成して元のファイルを削除する必要があります。異なるディスク上のパーティションであるかどうかは関係ありません。それらの1つがHDDで、もう1つがSSDであるかどうかは関係ありません。1の場合は問題ではないext3、もう1つはありますbtrfs。1つが内部(コンピューターケース内)で、もう1つが外部(数インチの外側、ケーブルで接続)か、リモート(ネットワーク経由でアクセス)かは関係ありません。

ネットワークといえば、に少し似ていsshます。キーボードから読み取り、入力した文字をネットワークに送信します。同時に、ネットワークから読み取り、画面に結果を表示します。

または、次のことを考慮してください。あなたが電話をしていて、他の電話の人と部屋の別の人との会話を仲介していると想像してください。それは大したことありません。
________
1シンボリックリンクを除く—ただし、ファイルシステムの境界を越えることができます。


1
私はあなたの答えに大体同意しますが、/ tmpがtmpfsになるのはあまり一般的ではありません(ただし、いくつかのディストリビューションではそのように設定されるかもしれません)。Ubuntu tand Redhatタイプのディストリビューションはtmpfsとして/ dev / shmを使用します
davidgo

私は混乱していた。回答を更新しました。
Gマン

1
@davidgo:/tmptmpfsでデフォルトにならないLinuxディストリビューションは何ですか?私はまた、あなたがいつでも何かを入れることができるので、それがほとんど標準的な慣行だと思った/var/tmp(それはブート時にきれいにされないけれども)。私はクロスディストリビューションのデフォルトの専門家ではなく、Debian / UbuntuとArchだけです。これらに加えてRedHatを使用すると、インストールされているLinuxシステムの大部分をカバーします(ただし、ディストリビューション全体の大部分はそれほど大きくありません)。
ピーターコーデス

(組み込みシステムは無視)CentosとUbuntuのみを定期的に使用します-どちらも/ tmpにディスクを使用します。-これは、Debian、Redhat、およびMintがすべて同じ規則に従うことを意味すると確信しています。Androidデバイスに/ tmpがありません
-davidgo

2
@PeterCordes tmpfsLinux の台頭は、ここ5〜7年ほどの最近のことです。たとえば、FedoraはWiki〜2012で変更について議論していたのですが、Debian Wheezyで導入されたと思います。
ボブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.