在安装了主要使用/home
.该应用程序需要利用额外的存储空间,因此我想重新挂载该卷,以便 /home 目录使用它。谁能确认我下面的步骤吗?
umount -v /mnt/volume_nyc1_01
# Edit /etc/fstab
# Replace the second field of the mountpoint's entry with /home
mount -av
我很感激您的反馈。我这样问是希望避免因忽视重要的考虑因素而弄乱我的系统。
答案1
我假设这/mnt/volume_nyc1_01
是新 ext4 卷的安装点。有一行/etc/fstab
将该卷安装在 上/mnt/volume_nyc1_01
。
您提到的步骤在技术上并没有错误,但如果您遵循它们,您最终会得到一个空/home
目录 - 因为它只是一个新的 ext4 fslost+found
才会在那里。
我针对此类情况采取的步骤是:
- 使用 停止任何服务、守护进程、应用程序
/home
。
lsof |grep "/home"
可以帮助你。 /etc/fstab
暂时保持原样,并将所有数据从 复制/home
到/mnt/volume_nyc1_01
。
我会使用这个命令:
sudo rsync -aHAXS /home/* /mnt/volume_nyc1_01
- 成功复制所有内容后,您可以继续执行您所描述的步骤。新卷将安装
/home
并包含您的所有数据。
如果一切正常并正在运行,在将来的某个时刻,您可以从挂载点卸载新卷,并删除目录中仍存在的/home
文件,并回收第一个卷上的空间。/home
请小心,/home
它仍然是第一个卷上的目录,它也用作第二个卷的挂载点。因此/home
,如果您先卸载第二卷,则可以从目录中删除文件,而无需删除第二卷中的文件。如果这一切看起来很复杂,那就把旧文件放在那里吧。
答案2
我对此的第一个回答是:不要。如果您不知道自己在做什么,则可能会丢失您(以及任何其他)的主目录。尤其是你上面提到的方式。
由于您没有提到您使用的应用程序,我只会提供一些通用建议:
检查应用程序的首选项,看看是否可以将其数据指向所需的位置,然后您可以在任何新的安装点安装新驱动器,将应用程序的当前数据复制到那里,然后向 fstab 添加一行以将驱动器永久安装到那里:
find the app's current data storage dir, then $mkdir <app mount point> $mount </dev/sdX> <app mount point> (where </dev/sdX> is the new drive) $cp -pr <current app data> <app mount point> using your favorite text editor, add a new line to "/etc/fstab" that looks like this: </dev/sdX> <app mount point> ext4 defaults 1 1 finally, change the app's data storage preference to <app mount point>
(检查
man fstab
该行条目的格式和含义)
当您启动应用程序时,一切看起来都应该和以前一样。正如我上面提到的,在不了解该应用程序的情况下,我无法告诉您如何更改首选项 - 如果可以的话。在执行此操作之前,请检查应用程序的帮助页面以获取更多信息。
更危险的是,您可以将新驱动器安装为您的主目录:
using your favorite text editor, add a new line to "/etc/fstab" that looks like this: </dev/sdX> <app mount point> ext4 defaults 1 1 Mount the drive /dev/sdX at some temporary point and copy your currrent home dir to the new mount point: $mount </dev/sdX> /mnt $cp -pr /home/you/* /mnt/. reboot, and you should be able to login as before, and nothing else would have (should have?) changed.
正如我一直说的,如果你不知道自己在做什么,这是很危险的。