美文网首页
Linux用户文件夹移动之后的处理

Linux用户文件夹移动之后的处理

作者: KyoDante | 来源:发表于2021-01-06 21:22 被阅读0次

起因:
由于共用的服务器主盘空间吃紧,把自己的用户文件夹整个移动到新的盘上面,引发了一些问题。

问题:

  1. VsCode ssh连不上,一直提示下载server。
    换了别的电脑的VsCode连接之后可以使用。(后续就可以在VsCode的Terminal下面进行操作了。)

  2. 然后VsCode各种插件无法使用,Python环境识别不到
    问题基本上和某个路径挂钩的,考虑用户路径 “~” ,此时想到的是修改 “~” 对应的路径,在VsCode的Terminal中使用 code /etc/passwd ,查看对应用户的 “~” 路径。原本可能是 “/home/xxx“,需要使用root权限修改为移动的目标路径。基本VsCode就可以恢复正常了。

  3. conda命令无法使用,导致之前配置好的环境无法使用。
    修改对应的 ~/.bashrc 里面有关anaconda路径的内容,原本应该是原始的用户路径,比如用户名为"xxx":

__conda_setup="$(CONDA_REPORT_ERRORS=false '/home/xxx/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/home/xxx/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/xxx/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/home/xxx/anaconda3/bin:$PATH"
    fi
fi

比如修改为目标路径为dst,如下:

__conda_setup="$(CONDA_REPORT_ERRORS=false '/dst/xxx/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/dst/xxx/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/dst/xxx/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/dst/xxx/anaconda3/bin:$PATH"
    fi
fi

相应的,里面提到的一些文件也需要进行修改,包括:/dst/xxx/anaconda3/etc/profile.d/conda.sh 和 /dst/xxx/anaconda3/bin/conda 的文件内容。
前者是修改前两行的内容为:

_CONDA_EXE="/dst/xxx/anaconda3/bin/conda"
_CONDA_ROOT="/dst/xxx/anaconda3"

后者是修改第一行的内容为:

#!/dst/xxx/anaconda3/bin/python

最后,不要忘记 source ~/.bashrc ,让修改立刻生效。


后续:conda-env.py也需要修改python路径...

相关文章

网友评论

      本文标题:Linux用户文件夹移动之后的处理

      本文链接:https://www.haomeiwen.com/subject/bkbooktx.html