如何将Dropbox和Megasync从sda2迁移到sdb1,或把/home目录挂载到sdb1?
如何将Dropbox和Megasync从sda2迁移到sdb1,或把/home目录挂载到sdb1?
嘿,我来帮你一步步解决这几个问题,都是Ubuntu Studio下很常见的存储优化场景,完全不用慌~
问题1:能不能通过终端轻松把Dropbox和Megasync重新挂载到sdb1,不用重装?
当然可以,完全不用重装客户端,几步就能搞定:
- 先彻底关闭Dropbox和Megasync客户端:
- 对于Dropbox,终端里运行
dropbox stop;如果是GUI里打开的,直接右键托盘图标选择退出 - 对于Megasync,同样右键托盘图标退出,或者终端运行
megasync --exit(如果命令无效,直接在KDE的任务管理器里结束进程也可以)
- 对于Dropbox,终端里运行
- 在你的大硬盘sdb1上创建同步目录,比如:
mkdir -p /media/jamesm/Graceland/Dropbox mkdir -p /media/jamesm/Graceland/Megasync - 把原同步目录的文件移动到新目录下(假设原目录在你的home文件夹里):
mv ~/Dropbox/* /media/jamesm/Graceland/Dropbox/ mv ~/Megasync/* /media/jamesm/Graceland/Megasync/ - 重新打开Dropbox客户端,它会提示找不到原来的同步文件夹,这时选择你刚在sdb1上创建的
Dropbox目录即可;Megasync同理,打开设置,找到同步路径选项,切换到sdb1上的Megasync目录 - 等客户端完成初始同步验证,确认一切正常后,就可以删除原home下的空Dropbox/Megasync目录了
问题2:能不能从非根挂载的目录同步?
绝对可以!同步客户端根本不关心目录是不是挂载在根分区下,只要这个目录可读写、挂载稳定就行。你现在的sdb1挂载在/media/jamesm/Graceland,完全可以作为同步目录,唯一要注意的是:最好把sdb1设置成开机自动挂载(可以通过KDE的磁盘工具,或者修改/etc/fstab),避免重启后挂载点消失导致同步客户端报错。
问题3:能不能把整个/home目录挂载到sdb1,让SSD留作处理用?
这是非常推荐的做法,能把SSD的空间完全留给系统和临时处理文件,步骤如下(一定要先备份重要数据!):
- 先备份你的/home目录下的重要文件,比如拷贝到U盘或者其他存储,以防万一
- 创建临时挂载点,把sdb1挂载过去:
sudo mkdir /tmp/home_temp sudo mount /dev/sdb1 /tmp/home_temp - 把原/home的所有内容完整复制到sdb1,保留文件权限和属性:
sudo rsync -avx /home/ /tmp/home_temp/这里的
-a是归档模式(保留权限、所有者等),-v显示进度,-x避免跨文件系统复制,非常关键 - 修改
/etc/fstab文件,让sdb1开机自动挂载到/home:- 先查看sdb1的UUID(比设备名
/dev/sdb1更稳定,避免重启后设备名变化):
输出里会有类似blkid /dev/sdb1UUID="xxxxxx-xxxx-xxxx-xxxx-xxxxxx"的内容 - 编辑
/etc/fstab:
在文件末尾添加一行(替换成你自己的UUID,文件系统类型如果是ext4就写ext4):sudo nano /etc/fstabUUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxx /home ext4 defaults 0 2
- 先查看sdb1的UUID(比设备名
- 测试挂载是否正常:
如果没有报错,就说明配置没问题sudo umount /tmp/home_temp sudo mount /home - 重启系统,用
df -h命令查看,确认/home的挂载点是/dev/sdb1 - 确认一切正常后,释放sda2上原/home的空间:
- 把sda2挂载到临时目录:
sudo mkdir /tmp/old_sda2 sudo mount /dev/sda2 /tmp/old_sda2 - 删除原/home目录的内容:
sudo rm -rf /tmp/old_sda2/home/* - 卸载临时挂载点:
sudo umount /tmp/old_sda2
- 把sda2挂载到临时目录:
这样你的/home就完全搬到大硬盘上了,SSD只留系统和必要的临时文件,完美解决空间问题~
备注:内容来源于stack exchange,提问作者freshflyingfish
相关产品推荐
相关产品推荐

