更具体地说,我想将我的主帐户的用户文件夹放在另一个具有更多空间的磁盘上,但将我的其他较小帐户保留在我的 SSD 上。我能够将我的用户文件夹复制到另一个磁盘,但现在我需要将其链接到我的 SSD 上的主文件夹,我希望它可以通过正常启动访问,请不要告诉我我所做的不是最好的事情,我只是想要一个答案。如何让它创建一个从 /home/username 到 /extra-home/username 的链接,并在加载用户文件夹时被系统识别?
答案1
请记住,您的权限需要相同。除了符号链接之外,在较新的发行版和文件系统上,作为 root,您还可以使用 bind-mount:
mkdir /home/username
mount --bind --verbose /extra-home/username /home/username
这对于允许通过守护进程“通过”目录访问子目录很有用,/home
这些守护进程被配置为避免通过符号链接(apache、ftpd 等)进行路径访问。
当然,您必须记住(或初始化脚本)在重新启动时进行绑定。
答案2
根据这关于超级用户的疑问,这是可能的。
您可以使用以下命令创建符号链接:
ln -s /extra-home/username /home/username
如果它由于某种原因不起作用,您可以删除符号链接,将目录移回并重新启动计算机。
答案3
我会尝试这个:
以不同用户身份登录时,在 root shell(例如)中,将sudo -i
的内容复制到并确保新位置归 所拥有:/home/username
/extra-home/username
username
# cp -p /home/username /extra-home/
# chown username:username /extra-home/username
将原始/home/username/
目录移动到安全的地方:
# mv /home/username /root/
创建符号链接:
# ln -s /extra-home/username /home/username
通过打开另一个终端窗口并运行以下命令来验证它是否按预期工作su
:
$ sudo su username
如果一切看起来都很好,至少从终端来看(内容/home/username/
按预期出现),然后注销并重新登录(我假设你使用的是 Ubuntu 桌面),它应该可以正常工作。但是,如果不能,只需删除符号链接并将存档的主文件夹移回其原始位置。
答案4
我的经验是:符号链接总是能很好地工作。权限、用户服务等有时不遵循或与符号链接一起工作:所以你可能会得到须藤不工作,用户配置应用程序不能正常工作等等......
在我看来,最好的解决方案是将所有 home 放在同一个分区上,并将其挂载在 /home 上。如果您有多个备用磁盘,您可以:
- 购买 RAID 卡
- 把所有想要供用户使用的磁盘放在 RAID 卡上。
- 将 RAID 配置为 JBOD(磁盘将合并空间)。在 PC 启动期间,RAID 卡会在操作系统启动之前启动 BIOS 来配置驱动器。还有其他 RAID 配置,但这取决于您的需求。
- 现在您有一个仅用于 /home 的新单个巨大磁盘
sudo copy -pr
新驱动器上的 /home 文件夹- 编辑 /ect/fstab 将驱动器挂载到 /home
这样,您可以在需要时随时大幅增加 /home 的大小,只需向 RAID 添加另一个驱动器即可。