在服务器上为多用户安装一个共享的Anaconda
目录
引言
本博客是为了实现在服务器上安装一个共享的Anaconda,实现多用户共同使用,在一定程度上避免多用户各种安装Anaconda,避免磁盘空间的浪费
环境
本教程基于Ubuntu 20.04.5 LTS上的实践而写
安装
Linux&&WSL用户选择对应的*.sh
文件下载,如https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.05-Linux-x86_64.sh
,通常复制获得下载链接:
https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.05-Linux-x86_64.sh
并且使用下载命令wget
进行下载:
wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.05-Linux-x86_64.sh
并且在下载完成后,执行脚本进行安装
sudo sh Anaconda3-2022.05-Linux-x86_64.sh
注意:建议在root模式下进行安装,并且选择安装路径为/opt/anaconda3
如果安装脚本可以选择执行conda init
,则执行conda init
,此时会自动在.bashrc
写入一下内容
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
否则需要手动写入环境变量:
- 使用如下命令环境变量写入
~/.bashrc
文件
echo 'export PATH="/opt/anaconda3/bin:$PATH"' >> ~/.bashrc
添加组
新建一个名为anaconda
的用户组
sudo groupadd anaconda
更改安装目录的所属群组
因为我们的安装目录为/opt/anaconda3
;
用户组为anaconda
:
所以执行命令
sudo chgrp -R anaconda /opt/anaconda3
更改目录权限
接下来对/opt/anaconda3
设置拥有者(此处为root)和所属组组员的读写权限,执行命令
sudo chmod 770 -R /opt/anaconda3
用户管理
当需要授予特定用户user_name
使用anaconda的权限时,只需将他添加到用户组anaconda
中,执行命令
usermod -a -G anaconda user_name
这个命令会将user_name
追加到用户组anaconda
中,而不会改变他之前的分组
添加环境变量
当用户被添加到用户组anaconda
之后,需要做一些添加环境变量工作,才能使用anaconda
添加系统变量
Linux 保存系统变量文件为/etc/profile
和/etc/profile.d
,我们需要将环境变量
export PATH="/opt/anaconda3/bin:$PATH"
添加到对应文件才能使用
注意,我们只需编辑其中的一个即可,它们之间的区别可自行查找资料学习
打开文件
使用vim
编辑对应的文件
sudo vim /etc/profile
或者
sudo vim /etc/profile.d
编辑完配置文件以后,重新加载一下对应的文件即可
重新加载文件
source /etc/profile
或者
source /etc/profile.d
即可使得所有的用户使用anaconda,但如果只想为特定用户配置环境,则在用户的bash配置文件中修改对应的环境变量。
操作方式见下一节的添加用户变量
添加用户变量
手动添加环境变量
echo 'export PATH="/opt/anaconda3/bin:$PATH"' >> ~/.bashrc
重新加载文件
source ~/.bashrc
对bash执行conda初始化
conda init bash
重新打开终端,即可使用共享的anaconda