fstab
ファイルを一時的に変更して、/home
が別のドライブにあるようにします。ただし、パーティション全体をマウントするのではなく、そのパーティション上のフォルダー(「ホーム」)だけをマウントする必要があります。残りのデータが利用できなくても大丈夫です。
これをfstab
で表現する標準的な方法は何ですか? 1つのコマンドでそれを行う方法を考えることはできません(マウントしていないファイルシステム上のフォルダーを参照できないため)。最初にマウントしてから、フォルダを/home
に移動する必要があると思います。しかし、fstab
で移動できるかどうかはわかりませんが、man
でそれを見つけられませんでした(そして、私はsshにしかアクセスできないため、盲目的に試す気がしません。今すぐマシン)。
今のところ、fstab
にバインドマウントがあります。
/dev/sdd1 /mnt/temphome ntfs defaults,errors=remount-ro 0 2
/mnt/temphome/home /home none bind
ただし、これにより、両方のポイントに/dev/sdd1
がマウントされたままになります。
要約する:
fstab
でマウントの移動操作を実行できますか?実行できる場合はどうすればよいですか?前もって感謝します。
/etc/fstab
からの移動はできないと思います。これを行う場合は、mount --move
に/etc/rc.local
コマンドを追加します。そのため、ブートプロセスに、ホームディレクトリが最終的な場所で使用できない時間が残ります。これらはホームディレクトリであるため、起動プロセス中に使用することはほとんどないはずです。それで問題ありません。私が考えることができるのは、@reboot
crontabディレクティブです。これらのいずれかがある場合は、ホームディレクトリが使用可能である必要があるため、代わりにmount --move
の適切な場所(/etc/rc.sysinit
の直後)にmount -a
を追加する必要があります。
ただし、バインドマウントの使用はおそらく問題ありません。うまくいかない可能性があるのは、主にバックアップや更新など、ディスク全体をトラバースするプロセスです。バインドマウントを/etc/fstab
に残すことは最もリスクの低いオプションですが、ディスクトラバーサルプロセスを/mnt/temphome/home
をスキップするように構成する必要があります。
さらに別の可能性は、/home
をシンボリックリンクにすることです。ただし、これにより、一部のプログラムがユーザーのホームディレクトリへの絶対パス(/mnt/temphome/home/bob
)を記録する場合があります。バインドマウントまたはサブマウントの移動には、この問題はありません。
いいえ、あなたはあなたが求めていることをすることはできません。お気づきのように、まだマウントしていないファイルシステム内のファイルを参照することはできません。[*]
ただし、うまくいく可能性のあるスキームがあります。ループデバイスを介してマウントされたドナーパーティション上のファイルシステムです。考えてみましょう:
# 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
これにより、/home
パーティションのルートにあるファイルに存在する4 GiB /mnt/temphome
ファイルシステムが作成されます。ドナーパーティションをマウントしてそのままにしておく必要があります。マウントされましたが、ルートのみがマウントしたり、ループデバイスを介した/home
のマウントを含め、その内容を直接変更したりできます。ただし、新しい/home
をマウントすると、通常のユーザーはその新しいファイルシステムに書き込むことができます。彼らはそれを行う力を持っているカーネルを介してそうしているので、その力はパーミッションループファイルシステムによって制御されます。
何らかの理由で/mnt/temphome
パーティションが受け入れたいよりも多くのリスクにさらされている場合、私が考えることができる最善の代替策は、 gparted を使用してドナーパーティションを縮小し、スペースを使用することです。新しい一時的な/home
パーティションを作成するために開かれました。使い終わったら、gpartedに戻り、一時パーティションを削除し、解放されたスペースを使用するようにドナーパーティションを再拡張します。ただし、これには独自のリスクがあります。パーティションの変更は100%安全ではありません。
[*]まあ、それは完全に真実ではありません。時折、他のファイルシステム内のファイルの正確なディスク位置(セクター、ヘッド、トラック)の知識を伴うトリックを目にすることがあります。これは、ハイバネーション、スワップ、ブートなどの低レベルのアクティビティで最も一般的です。これを機能させるには、移動しない完全に連続したファイル(つまり、断片化なし)が必要です。これにより、から生のセクターの読み取りと書き込みを開始できます。マウントされていないパーティションに。
しかし、そのようなものの傾向を時間の経過とともに見ると、さまざまな結果のために、時間の経過とともにless人気になる傾向があることに気付くでしょう。一つには、デフラガーはそのような計画を破る傾向があります。 Linuxでは通常/boot
とswap
が別々のパーティションである理由の1つです。