我们在使用linux当中,需要一些软件的安装,但是我们又没有rpm包,但是如果有源程序,也能实现软件的安装,下面我们就看看怎么去安装一个源程序 :
对于linux中用C语言编写的程序来说 一般我们安装有三个步骤:
1:使用./configure命令 检查编译环境
此步骤主要检测依赖的库文件和工具是否都存在 并根据一定设定结合源程序中的Makefile.in 文件生成一个文件makefile
2:使用make命令 实现编译
make是个项目管理工具 根据makefile文件自动调用各种编译工具实现编译 将源代码编译成二进制文件
3: 使用make install 来安装
下面我就以axel的安装为例简要说明下安装过程:
axel是常用的多线程的下载工具,且看安装步骤:
1.#tar -zxf axel-2.4.tar.gz 源程序是个归档的压缩文件,所以…是这样….
2.#cd axel-2.4 解压后生成和源程序同名的目录 切换至此目录
3.#./configure –i18n=0 –strip=0
./configure有很多选项 比如–i18n=0 表示禁用国际化
–prefix = 指定安装的目录
— etcdir= 配置文件安装位置
。。。
4.#make 编译
5.#make install 安装
源程序的安装结束了,是不是很简单,。仍然希望对您有帮助,同时请大虾多多指教。。
还有,虽然是安装好了,但是在我们发现仍不能正常运行此程序,因为我们是需要导出相应的文件的。对于此程序的库文件,可执行程序,man文件,头文件的导出,且听我们下回分解。http://www.linuxidc.com/Linux/2012-09/70338p2.htm
在上回介绍了怎么使源程序用编译的方式去安装一些软件,但由于是自定义安装的路径,一般情况下,此程序的库文件,man文件,头文件等,系统是找不到的,因此我们也无法直接来使用这些文件或者程序.所有我们需要将它们导出,放到相应的位置,以便于我们以后使用
首先介绍安装的此程序的执行路径的导出:
1, # export PATH=$PATH:/usr/local/axel/bin (/usr/local/axel指安装的路径)
此为用命令的方式来暂时定义此程序,以方便立即使用 ,但这种方法是不能永久生效的
2 写入配置文件
编辑/etc/profile 可在其的export PATH USER…这一行上边加上一行
形如: PATH=$PATH:/usr/local/xxxx/bin 保存退出即可 此方法对全局的用户都永久生效
也可编辑~/.bash_profile 家目录下的.bash_profile这个文件,方法跟上边一样,但是此方法仅对某个用户生效
安装的软件的库文件的导出方法:
我们是以编辑文件的方式来实现的
1:在/etc/ld.so.conf.d/目录下 创建一个以.conf结尾的文件如 axel.conf
编辑此文件,写入安装程序的库文件的路径即可,如/usr/local/axel/lib ,
2 然后执行ldconfig命令 让系统重新装载库文件
man文件的导出方法
亦是编辑文件
编辑/etc/man.config文件,新增一行形如:
MANPATH /usr/local/axel/man
程序头文件导出方法:
这个可通过创建链接的方式来实现
如:# ln –sv /usr/local/axel/include /usr/include/axel
做完上边的工作,我们在调用此程序的某些功能的时候,是不是更方便了.