Tarball方式软件安装与升级

tarball安装与升级管理软件

#file 文件名 测试文件的类型及详细信息

#make 通常软件开发商都会写一个检测程序来检测用户的操作环境,以及该操作环境是否有软件开发商所需要的其他功能,该检测程序检测完毕后,就会主动的建立这个makefile的规则文件,通常这个检测程序的文件名为configure或者config;当执行make时,make会在当前目录下查找makefile这个文本文件,而makefile里面则记录了源代码如何编译的详细信息。

所谓的tarball文件,其实就是将软件的所有源代码文件先以tar打包,然后再以压缩技术来压缩形成软件包。扩展名一般为*.tar.gz或者‘.tar.bz2或者*.tar.xz. 解压缩后一般包含:源代码文件,检测程序文件(可能是configure或者config等文件),本软件的简易说明和安装说明。

一个软件的tarball大致安装过程:
1、将tarball有厂商的网站下载
2、将tarball解开,产生很多的源代码文件,将tarball文件解压缩至/usr/local/src
3、开始以gcc编译器进行源代码的编译(此时产生目标文件 object file):运行./configure或自行编辑makefile
4、然后以gcc进行函数库、主、子程序的连接,以形成主要的二进制文件:执行make clean、make、make install
5、将上述的二进制文件以及相关的配置文件安装至自己的主机上面。
上面的3、4步骤我们可以通过make命令将其简化。

(在默认状态下,如果我们直接以gcc编译源代码,并且没有加上任何参数,则执行文件的文件名会被自动设置为 a.out)

#gcc的简易用法:
#gcc -c 源代码文件 #产生目标文件但是不会产生可执行的二进制文件
#gcc -o 执行文件名 源代码文件名或者目标文件名 #将源代码或者目标文件编译成二进制文件,并命名 为“执行文件名”
#gcc 源代码或目标文件 -lm -L/lib -I/usr/include #加入链接的函数库,-lm指的是数学函数库libm.so或ibm.a这个函数库文件,-L 后面接的路径为函数库的查找路径,-I 后面接的是源代码内的linclude文件之所在目录。

makefile的基本语法与变量:
执行目标:目标文件1 目标文件2 目标问价n
gcc -o 欲建立的执行文件 目标文件1 目标文件2 目标文件n

示例:加入我有四个源代码文件需要链接函数库,如何产生执行文件?
源文件分别是:mian.c haha.c sin_value.c cos_value.c 链接函数库为数学函数库
**方案一:**1#gcc -c main.c #产生目标文件 main.o
2#gcc -c haha.c
3#gcc -c sin_value.c
4#gcc -c cos_value.c
5#gcc -o mian main.o haha.o sin_value.o cos_value.o -lm #将各个源文件以及函数库编译并链接成为可执行文件 mian。
方案二:1#vim makefile
main:main.o haha.o sin_value.o cos_value.o
gcc -o main main.o haha.o sin_value.o cos_value.o #编辑makefile文件,再利用make简化编译步骤,其中 ’main‘为执行目标(#make main即为执行这个目标和下面的命令),命令行例如gcc的那一行前面需要以tab键制造空格。执行目标与目标文件以冒号隔开。
2#make (或者make main) #此时make就会读取makefile文件,然后根据makefile内容,产生main.o haha.o sin_value.o cos_value.o等目标文件,并在完成后编译链接:gcc -o main main.o haha.o sin_value.o cos_value .o -lm;此时编译成功。
3#make #此时再次使用make命令则为检测源代码有无更改,以及更改文件将重新编译链接产生执行文件,更新旧的执行文件。

方案三:#vim makefile
LIBS= -lm
OBJS=main.o haha.o sin_value.o cos_value.o
main:${OBJS}
gcc -o main ${OBJS} ${LIBS}
clean:
rm -f mian ${OBJS}
#此时执行#make main则是编译,执行#make clean 则是清除 编译产生的目标文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值