もともと私はルート/が6GBのパーティションにマウントされた50GBのディスクを持っていました。パーティションの空き容量が不足していたため、残りの空き領域(44 GB)を使用して2番目のパーティションを作成しました。元々はこんな感じでした
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 50G 0 disk
└─xvda1 202:1 0 6G 0 part /
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 6.0G 6.0G 20K 100% /
devtmpfs 30G 0 30G 0% /dev
tmpfs 30G 0 30G 0% /dev/shm
tmpfs 30G 121M 30G 1% /run
tmpfs 30G 0 30G 0% /sys/fs/cgroup
ルートファイルシステム内に、3.4GBのスペースを使用するディレクトリ/ optがあり、ここで多くの作業を行っているため、/ optは増え続けます。すべてのファイルをバックアップした後、2番目のパーティションを/ optにマウントしました
mount /dev/xvda2 /opt
これを行った後、新しい/ optは0GBであり、パーティション1はまだ6 GBであり、元々/ optにあった3.4GBにアクセスする方法がありません。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 6.0G 6.0G 20K 100% /
devtmpfs 30G 6.1G 24G 21% /dev
tmpfs 30G 0 30G 0% /dev/shm
tmpfs 30G 129M 30G 1% /run
tmpfs 30G 0 30G 0% /sys/fs/cgroup
/dev/xvda2 44G 0 44G 0% /opt
バックアップからファイルを復元しましたが、パーティション1で使用されていない3.4 GBを削除するにはどうすればよいですか?将来の参考のために、現在別のパーティション内にあるディレクトリに新しいパーティションをマウントする正しい方法は何ですか?
/opt
に別のファイルシステムをマウントすると、そのパスを介して/opt
の以前のコンテンツにアクセスできなくなりますが、消えることはありません。 Linuxでは、mount --bind
のおかげで、他の場所にマウントすることで利用できるようになります。
mkdir /whole-root
mount --bind / /whole-root
mv /whole-root/opt/* /opt/
umount /whole-root
もちろん、別の方法もあります。新しいパーティションを一時的に空のディレクトリにマウントし(/mnt
はこの目的で伝統的に使用されます:短期間のマウントポイント)、ファイルを移動してから、新しいパーティションをアンマウントしてマウントしますその最終的な場所で。