linux系统软件升级后,经常面临新老版本共存的问题。而且老版本由于系统依赖较多,也不能轻易删除。如何让系统默认执行新版本,下面我们来说明一下解决过程。
一般来说,源码安装时,软件默认安装在/usr/local/XXX下,以示和系统软件的区别,也方便后续删除。
1、设置动态库链接配置
源码安装后,如果不设置动态库连接,系统就找不到需要的*.so,导致新版本软件执行失败。
设置方法:
1)在/etc/ld.so.conf.d路径下,创建动态库配置文件*.conf,例如:
vim /etc/ld.so.conf.d/smb.conf
在文件中添加:
/usr/local/samba/lib
2)加载动态库配置
执行命令: ldconfig
2、设置环境变量
设置环境变量的意义在于:执行相关程序时,不需要切换到指定目录才能执行,可以在任意目录下执行。
这就涉及到一个问题:安装新版本后,新老版本的软件名称都一样,如何指定执行哪个版本。
设置方法:
在/etc/profile中为$PATH添加程序路径,请注意需要把新的路径放在其他路径前面。
export PATH=/usr/local/samba/bin:$PATH