美文网首页
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