私のファイルが別のドライブにfstab
あるように一時的にファイルを変更したいと思います。/home
しかし、パーティション全体をマウントするのではなく、そのパーティションに1つのフォルダ(「home」)だけをマウントしたいと思います。残りのデータは利用できないことに同意します。
これを表現する標準的な方法は何ですかfstab
?まだマウントされていないファイルシステムのフォルダを参照できないため、1つのコマンドでこれを行う方法を考えることはできません。最初のインストールをしてフォルダをに移動する必要があるようです/home
。しかし、移動できるかどうかはまだfstab
見つかりませんman
でした。
これでバインドマウントができましたfstab
。
/dev/sdd1 /mnt/temphome ntfs defaults,errors=remount-ro 0 2
/mnt/temphome/home /home none bind
ただし、これにより/dev/sdd1
両方のポイントがインストールされたままになります。
結論として:
- そこからモバイルインストールできますか
fstab
?それでは、どのように進むべきですか? - これは正しいアプローチですか?そうでなければ何ですか?
よろしくお願いします。
答え1
私の考えでは、あなたはその行動をすることができないと思います/etc/fstab
。これを行うmount --move
には、 で行います/etc/rc.local
。これにより、ブートプロセス中にホームディレクトリを最終的な場所で使用できない時間が残ります。これはホームディレクトリなので、ブートプロセス中に頻繁に使用しないでください。これは重要ではありません。私が考えることができる1つは@reboot
crontabコマンドです。これらのいずれかがある場合は、ホームディレクトリを使用できる必要があるため、正しい場所mount --move
(/etc/rc.sysinit
すぐ後ろmount -a
)に追加する必要があります。
しかし、バインドマウントを使用するのは大丈夫かもしれません。間違っている可能性がある主な点は、バックアップや更新など、ディスク全体を巡回するプロセスです。バインドマウントを維持する/etc/fstab
ことは最も危険性の低いオプションですが、ディスクワークプロセスをスキップするように設定する必要があります/mnt/temphome/home
。
/home
もう一つの可能性はシンボリックリンクを作成することです。ただし、これにより、一部のプログラムでは、ユーザーのホームディレクトリへの絶対パスが記録されることがあります。つまり、/mnt/temphome/home/bob
バインドマウントまたはモバイルサブマウントにはこの問題はありません。
答え2
いいえ、要求どおりに実行できません。指摘したように、まだマウントされていないファイルシステムのファイルは参照できません。 [*]
ただし、ループデバイスを介してマウントされたドナーパーティションのファイルシステムが役立つシナリオがあります。考慮する:
# cd /mnt/temphome
# chmod 700 .
# chown root.root .
# dd if=/dev/zero of=temphome bs=4k count=1M
# mke2fs -j temphome
(answer yes to the annoying question)
# mount temphome /home -o loop
これは、パーティションルートのファイルに4GiB/home
ファイルシステムを作成することです。/mnt/temphome
それでもドナーパーティションをマウントしてマウントされたままにしておく必要がありますが、ルートのみをマウントしたり、デバイス/home
マウントループを含むコンテンツを直接変更したりできます。ただし、新しい/home
ファイルシステムがマウントされると、一般ユーザーは権限によって制御される権限を持つカーネルを介して新しいファイルシステムに書き込むことができます。循環ファイルシステム。
何らかの理由で/mnt/temphome
パーティションがあなたが望むよりも大きなリスクにさらされている場合、私が考えることができる最善の選択肢は次のようにすることです。割れた寄付パーティションを縮小し、空き領域を使用して新しい一時パーティションを作成します/home
。使用が終わったら、gpartedに戻って一時パーティションを削除し、寄付パーティションを再拡張して空き容量を使用してください。しかし、ここにはそれ自体の危険があります。パーティションの変更は100%安全ではありません。
[*] まあ、それは完全に真実ではありません。時には、他のファイルシステム上のファイルの正確なディスク位置(セクタ、ヘッド、トラック)に関する知識に関連するなりすましを見ることがあります。これは、休止状態、スワップ、ブートなど、低レベルのアクティビティで最も一般的です。これを達成するには、ネイティブセクタパーティションを読み書きしてマウント解除を開始するために絶対に移動されない(つまり、断片化なし)完全に連続したファイルが必要です。パーティション。
しかし、時間が経つにつれて、これらの傾向がどのように変化するかを見ると、次の傾向があることがわかります。少ない時間が経つにつれて、さまざまな結果のために人気を得ました。まず、デフラグプログラムはそのような計画を台無しにする傾向があります。これが理由の1つで/boot
あり、swap
通常Linuxでは別々のパーティションです。