Jua*_*ntu 6 command-line home-directory
我正在尝试按照 Ubuntu 帮助 wiki 中/home描述的步骤移动我的目录。
一切正常,直到我到达必须移动/home到/old_home.
当我发出命令时:
cd / && sudo mv /home /old_home && sudo mkdir /home
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
mv: cannot move `/home' to `/old_home': Device or resource busy
Run Code Online (Sandbox Code Playgroud)
当我发出命令时,我正在运行终端和浏览器。我应该注销并以 root 身份重新输入以发出命令吗?
小智 7
我可能有点晚了,但我希望我的解决方案能帮助现在来到这里的人。我认为https://help.ubuntu.com/community/Partitioning/Home/Moving的作者忘记提及该步骤Moving /home into /old_home仅在 /home不在其自己的分区中时才有效。mv /home /old_home如果home只是另一个文件夹,它将起作用。如果/home有自己的分区,则不会。
如果/home有自己的分区,那么您的命令mv /home /old_home将永远不会工作,因为 fstab 将在启动时挂载该分区,因此会出现错误。
如果你有/home一个单独的分区,我建议忽略这一步。您不需要备份,因为当您移动到新的、更大的主分区时,您的旧分区/home分区将只是坐在那里卸载。一旦您对较新的主分区感到满意,您就可以对其进行格式化并重新使用该空间。
所以底线是,如果你有/home自己的分区,并且你按照上面链接中提到的步骤操作,你所要做的就是在 fstab 中注释掉旧的主分区。否则您的新主分区将永远不会被挂载。
就是这样。希望它可以帮助某人。
谢谢。
我应该注销并以 root 身份重新输入以发出命令吗?
是的!/home在登录时移动是一个非常糟糕的主意。文件仍然在这里打开。
登出。
按Ctrl+ Alt+转到虚拟终端F1
使用命令行登录。
使用sudo -i成为完全 root,包括环境变量。
检查是否没有文件仍然打开/home,只有在没有打开任何文件时才继续:
lsof -n | grep '/home/'
Run Code Online (Sandbox Code Playgroud)执行操作。
回到你的图形 VT:Ctrl+ Alt+F7
重新登录。
或者,在恢复模式下运行此程序以确保没有打开用户的文件:
我收到错误消息:
mv:无法将 /home' 移动到 /old_home':设备或资源繁忙
这可能是因为不仅文件在那里打开,而且文件系统也由您安装在您的/home/username/.gvfs/某个地方。注销应该卸载它们。如果没有,请使用cat /proc/mounts.