更改 Linux 系统上的“有效主目录”

更改 Linux 系统上的“有效主目录”

我必须在具有相当重依赖性的远程计算机上运行一些 Python 代码。我的主目录(.../home/d/my-name)的磁盘空间非常小,因此我通常使用另一个(/local/my-name)安装了大磁盘的目录作为我的“有效”主目录。

当尝试安装依赖项时,我的主目录空间不足。因此,我希望所有这些依赖项都存储在目录中local(并且我完全同意这是将来的默认值)。我正在使用 Conda 环境并在其中运行 pip 。我知道我可以告诉 pip 将东西存储在 home 以外的地方,但这可能会导致引用 home 的软件出现问题。因此,我希望有效地将我的主目录更改为位于local.这可能吗?如果相关的话,我没有 sudo 权限。

答案1

move-and-symlink是此类问题的传统解决方案。

例如,如果您想将整个~/lib/目录移动到/local/my-name

mv ~/lib/ /local/my-name/
ln -sf /local/my-name/lib/ ~/

/顺便说一句,虽然符号链接源末尾的尾随/local/my-name/lib/不是必需的,但我强烈推荐它 - 它使制表符补全在 bash 中更好地工作。

如果您对主目录的父目录具有写入权限(例如使用 sudo),您甚至可以将整个主目录移动到 /local。您还可以使用usermod -m -d更改/etc/passwd.

相关内容