目录
  1. 1. 1、可执行文件
  2. 2. 2、make,configure
  3. 3. 3、tarball软件
  4. 4. 4、安装与升级软件
  5. 5. 5、gcc用法
  6. 6. 6、make进行宏编译
    1. 6.1. vim makefile 制定编译规则
    2. 6.2. 运用变量简化makefile
    3. 6.3. make安装流程
  7. 7. 7、利用patch更新源码
  8. 8. 8、函数库管理
  9. 9. 9、检验软件正确性
    1. 9.1. 为重要数据建立指纹数据库
学习Linux-软件安装-tarball

1、可执行文件

1
2
linux上真正被识别的可执行文件是二进制文件,shell script是利用shell(bash)程序的功能进行判断式。bash本身是二进制可执行文件。
利用 file 判断文件类型

2、make,configure

1
2
3
4
5
6
7
8
make与configure编译过程:configure(检测系统环境)创建makefile文件(定义编译的规则文件)--》make根据makefile中的定义的规则编译文件
configure检测:
1、检测编译程序可以编译的程序源码
2、检测本软件所需的函数库或者其他需要的相关软件
3、检测操作平台以及内核是否适合
4、内核的头定义文件是否存在
注:系统不同,所需的环境也不同,所以需要源码的重复编译

3、tarball软件

1
2
tarball:打包软件,将源文件打包并压缩,节约空间。
tarball文件:将软件的所有源码文件先以tar打包,然后再以压缩技术压缩。其中通常会有:源代码文件、检测程序文件、本软件的简易说明。

4、安装与升级软件

1
2
更新方法:1、直接以源码进行编译。2、直接以编译好的二进制程序进行安装升级
tarball文件安装过程:1、解压缩。2、gcc源码编译,生成目标文件。3、gcc进行函数库,主程序,子程序的链接,形成主要的二进制文件。4、将二进制文件及相关的配置文件安装在主机上。

5、gcc用法

1
2
3
4
5
1、 gcc 源代码文件 --》 ./a.out
2、 gcc -c(接.c文件) hollow.c --》 gcc -o(接.o文件) hollow(改名) hollow.o --》./hollow
注:gcc -c生成目标文件*.o(存放编译过程中产生的编译,调试信息等,是二进制文件) gcc -0产生可执行文件
调用外部函数库:gcc -l(加入函数库)m(libm.so函数库) -L+路径(函数库路径) -I+路径(include文件)
-Wall -O这些参数为CFLAGS(环境变量)

6、make进行宏编译

vim makefile 制定编译规则

1
2
3
main(执行信息):(目标文件,o)
gcc -o 目标文件 lm(调用函数库)
make main

运用变量简化makefile

1
2
3
4
5
6
7
LB = -lm(调用函数库)
OB = object.o(目标文件)
CFLAGS = -Wall(指定的环境变量:显示详细警告信息)
main: $(OB)
gcc -o $(OB) $(LB)
clean:
rm -rf main $(OB)

make安装流程

1
将tar包解压缩到/usr/local目录--》./configure --prefix=/usr/local/(安装路径) --enable-all-clocks --enable-parse-clocks --》make clean;make--》make check--》make insatll

7、利用patch更新源码

1
2
3
4
diff -Naur 新旧文件 //比较两个文件改变
patch -p0 < 路径 //p后面的数字表示去掉几个“/” 这个命令是更新源码
make install 安装软件更新
patch -R 还原文件

8、函数库管理

1
2
3
4
5
6
7
8
9
10
是linux上本身存在的程序,函数库也可以认为是子程序,可以被调用来执行的一段功能函数。
函数库又分动态函数库与静态函数库
静态函数库:\*.a 包括在程序中,编译后的程序很大。函数库更新,需要重新编译可执行文件 系统更新困难
动态函数库:\*.so 程序之外,应用时才调入执行程序。函数库更新,不需要改动可执行文件 容易大规模更新
将动态函数库加载到内存(缓存),增加读取速度:
/etc/ld.so.conf:读入加载到内存的动态函数库所在目录
ldconfig:可执行文件,将数据读入缓存当中,也将数据记录到/etc/ls.so.conf中
ldconfig -f(conf) -c(cache) -p(列出所有函数库数据内容)
ldd:程序的动态函数库解析
ldd -v(所有信息)d(有丢失的link显示出来)r(错误信息显示) 文件名

9、检验软件正确性

1
2
3
md5sum/sha1sum:判断文件指纹
md5sum/sha1sum -b(二进制读取方式)c(检验文件指纹)t(文本类型读取文件指纹) 文件名
md5sum/sha1sum --status|--warn --check 文件名

为重要数据建立指纹数据库

1
用md5sum/sha1sum 检查出文件指纹,并记录为数据库。
文章作者: rack-leen
文章链接: http://yoursite.com/2019/04/20/Linux/%E9%B8%9F%E5%93%A5%E7%9A%84Linux%E7%A7%81%E6%88%BF%E8%8F%9C%E7%AC%94%E8%AE%B0/%E5%AD%A6%E4%B9%A0Linux-%E8%BD%AF%E4%BB%B6%E5%AE%89%E8%A3%85-tarball/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 rack-leen's blog
打赏
  • 微信
  • 支付宝

评论