linux软件源码安装管理

接触linux往往觉得linux得软件安装后非常混乱,都不知道他安装在哪里,自己也曾非常彷徨,现在我把自己的经验写出来,为大家提供借鉴。

linux c/c++语言开源软件常使用Makefile管理,它需要configure、make、make install 3步曲来安装软件。对xxx.tar.gz源码包解压后便可以在文件夹里进行这3步曲。

./configure --prefix=/path-to-install

这是很关键的一步,它确定软件的lib bin include等等将要安装的位置,若不指定,默认安装在/usr/local/bin,/usr/local/lib,/usr/local/include位置。当安装了很多软件后,这些目录里面的东西也就变得特别杂了,往往不知道文件是属于哪些软件的。

make

make后c/c++文件被编译成.o文件,即所谓的目标文件

make install

将目标文件链接成可执行的二进制文件,放到bin中,打包成库放到lib中,头文件放到include中。若prefix指定的路径在root权限的目录中,还需要使用

sudo make install

来执行。至此,源码包也就没用了,但可以留着下次再编译,或以后执行make uninstall命令移除扩展的文件。

/usr/local/bin,/usr/local/lib,/usr/local/include夹是在系统的PATH,LD_LIBRARY_PATH,C_INCLUDE_PATH,CPLUS_INCLUDE_PATH环境变量里面的,不用编辑额外配置。
然而,为了更有条理的管理我们自己软件,我们倾向于将软件放在我们自己指定的目录当中。此时我们需要配置环境变量。

bin lib include设置

export PATH=$PATH:/home/solo/tools/zeromq/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/solo/tools/zeromq/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/home/solo/tools/zeromq/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/home/solo/tools/zeromq/include

共享库管理
1 /etc/ld.so.conf默认管理/lib和/usr/lib,需调用ldconfig命令更新
2 其他路径lib可加入/etc/ld.so.conf,需调用ldconfig命令更新
3 通过LD_LIBRARY_PATH


作者简介

唐黎哲,国防科学技术大学并行与分布式计算国家重点实验室(PDL)研究生,14年入学便开始接触spark,准备在余下的读研时间在spark相关开源社区贡献自己的代码,毕业后准备继续从事该方面研究。
邮箱:tanglizhe1105@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值