Linux 下 Anaconda3 整体迁移至其他磁盘

问题描述:

Anaconda3安装好之后,创建了一些环境并且安装了许多包,整个Anaconda3文件夹占空间很大。比如我的文件夹就达到了18G,如果home目录还比较小,可能导致服务器无法使用。

又因为不想删除原有软件/环境,再在其他位置安装;最好是直接迁移至其他盘。

查看anaconda占用空间du -h --max-depth=1

image-20220216173912160

可以看到足足占用了有18G。

一、(失败)直接迁移+修改环境变量

本来是没有找到linux下的,查到的资料都是在window下的;win下的方法是迁移目录,然后修改环境变量。

所以感觉linux下思路大致也是如此,就是怕安装的时候conda有一些配置在某些地方写死了,这么直接修改环境变量可能行不通。

反正直接开始尝试了,想着反正先是拷贝,出错了再拷回来就完了,实在不行只好重装了。

1
2
3
4
5
6
cp -a ~/anaconda3 /extended_disk		# 拷贝到大容量的磁盘 cp -a 可以拷贝更多信息
# 这里具体修改的内容 就是 有一段 conda init 里面的内容
vim ~/.zshrc # 修改里面的 环境变量,相关的路径都替换了
vim ~/.bashrc # 后来不成功把这个也改了

rm -rf ~/anaconda3 # 删除原有的,其实合并起来用 mv 也行

修改完了之后,删除原有conda,重新连接服务器。(删除了原有的再测试)

然后发现行不通。问题1:报的错包括找不到conda,也就是环境变量没配置成功,后来尝试反复修改环境变量(包括其他位置),走不通。

问题2:再试手动指出conda的位置,执行/ext.../conda activate base发现提示找不到python可执行程序。(也就说明不是环境变量的问题)到这里就感觉其实在conda安装过程中肯定是把某些配置写死在某个地方了。

单纯迁移和修改环境变量行不通。

这里灵机一动,不如创建一个同名软连接,但是不知道会不会导致一些操作出错,比如创环境什么的。

二、(修复)添加软连接

在前面的基础上(迁移conda文件夹),在home目录直接新建一个同名软链接指向新目录即可。

1
ln -s /extended_disk/anaconda3 ~/anaconda3  	# 添加软连接,注意修改自己的目录

image-20220216174550210

再进行各种测试(python、创环境、删除等等操作),完美。

注意:

可能有的问题,删除原有文件夹的时候可能会删不干净,导致创建软连接的时候不成功,还是个文件夹,导致失败。

当时打开软连接的时候发现里面竟然有一两个奇奇怪怪的文件夹,肯定是搞错了。所以删除的地方要 rm -rf

三、总结

就两步:

1、完整迁移目录

2、添加软链接,无需改环境变量

当然,最好是一开始就安装在其他地方或者使用miniconda