在使用Linux系统的时候,经常需要改变系统的一些软件如GCC、python、matlab等软件的版本和系统的环境变量,掌握这一点对使用和管理Linux系统非常重要。本文讲解普通用户不使用管理员权限改变软件和依赖包的版本。
一、通过修改环境变量修改软件版本
export语句执行一次只对当前命令窗口起作用,想要永久改变环境变量需要写入到~/.bashrc文件,然后使用source ~/.bashrc
使之生效,下面介绍一些常用的环境变量
source指令参考:https://blog.csdn.net/gyguo95/article/details/78961621
1. 优先使用Anaconda下的软件和依赖包
export PATH="/home/ggy/anaconda2/bin:$PATH"
export CMAKE_PREFIX_PATH=/home/ggy/anaconda2/bin
2. 优先使用系统下的软件和依赖包
export PATH=/usr/bin:$PATH
export CMAKE_PREFIX_PATH=/usr/bin
同时需要注释掉Anaconda的环境变量
3. CUDA路径自定义
export CUDA_ROOT=/usr/local/cuda-8.0/bin
4. cudnn路径自定义
export CUDNN_PATH="/usr/local/cuda-8.0/lib64/libcudnn.so.6"
二、通过自定义软链接和环境变量修改软件版本
在实际的使用过程中,有些软件和依赖包是难以只通过修改环境变量切换版本的,这时候有一个很巧妙的技巧,一下以切换gcc版本为例
首先,使用which gcc
指令,发现gcc的位置是/usr/bin/gcc
,使用gcc -v
,发现版本为5.3,如果需要不使用sudo权限改变gcc版本到4.9,需要按照以下步骤
1. 新建文件夹和软链接
mkdir ~/.bin
ln -s /usr/bin/gcc-4.9 ~/.bin/gcc
这一步需要系统已经安装gcc4.9,将gcc4.9通过一个软链接放置在自己目录下
2. 改变环境变量
export PATH="/home/ggy/.bin:$PATH" ##放置在~/.bashrc文件export语句中的第一个
通过添加这一句在~/.bashrc文件所有环境变量的第一句,使用which gcc
指令,发现gcc的位置是/home/ggy/.bin/gcc
,使用gcc -v
,发现版本为4.9
三、通过Anaconda修改软件版本
首先要优先使用Anaconda下的软件,然后使用Anaconda改变软件版本。具体参考:https://blog.csdn.net/gyguo95/article/details/78664969
结语
以上三种方法各有其优缺点,第一种和第二种需要系统下已经安装了相应的软件,第三种则有个别软件和依赖包并不支持,在实际使用的时候,需要灵活使用。