软件安装:原始码与 Tarball

本章主要介绍的就是那些 使用 gcc makefile 等等编辑 C 语言

 

Tarball  就是利用 tar打包, gzip 或  bzip2 压缩,所以 tarball 档案一般的扩展名就写成 *.tar.gz 或 *.tar.bz2

gcc 命令

gcc sin.c –lm –L/lib –L/usr/lib  ( 重点在 –lm )

-l : 是 加入某个函数库 library 的意思

m: 则是 libm.so这个函式库,其中, lib 与扩展名 ( .a 或 .so ) 不需要写

-- 以上类似使用  gcc makefile 等等 内容,在另一个 blog 里有详细介绍


Tarball

如何使用具有原始码的 Tarball 来建立一个属于自己的软件。

一般来说,以 Tarball方式释放出的软件当中,为了简化编译流程,通常都是通过 make 来进行编译。

只要顺着开发商提供的 README 与 INSTALL 档案所说明的步骤来进行,安装很容易。

Tarball 安装步骤

  1. 取得原始档:将 tarball 档案在 /usr/local/src 目录下解压缩
  2. 取得步骤流程:进入新建立的目录底下,去查阅 INSTALL 与 README 等相关档案内容
  3. 相依属性软件安装:根据 INSTALL/README  的内容查看并安装好一些相依的软件( 非必要 )
  4. 建立 makefile : 以自动侦测程序,并建立 Makefile 这个档案。
  5. 编译:以 make编译 Makefile的参数配置文件
  6. 安装,以 make这个程序,根据 install指定的路径,安装。

建议 :

  1. 最好将 tarball 的原始数据解压缩到 /usr/local/src 中
  2. 安装时,最好安装到 /usr/local 这个默认路径下
  3. 考虑未来的反安装步骤,最好可以将每个软件单独安装在  /usr/local 底下 ( rm –R 直接就将软件全部删除 )
  4. 为安装到单独目录的软件之 man page 加入 man path 搜索,如果你安装软件放置到 /usr/local/software/, 那么 man page 搜索的设定中,可能就的要在 /etc/man.config 内的 40 ~ 50 行左右,写如下一行 : MAN PATH /usr/local/software/man 这样就可以使用 man 来查询该软件的在线文件

patch

利用 patch 更新原始码 ( 本身 linux 带有的一个命令,后边还会介绍 )

函数库

静态函数库 : 扩展名 .a ( 升级不方便 )

动态函数库  :  扩展名 .so ( 并没有真正的整合到程序里,而是一个指针,运行时,通过指针调用该函数 ) ( 升级方便 )

目前 大部分的 linux版本都倾向于 动态函数库

位置 : /usr/lib , lib 目录下

如何将 动态函数库 加载告诉缓存当中 ?

  1. 必须在 /etc/ld.so.conf 里边写 想要读入告诉缓存当中的动态函数库所在目录
  2. 利用 ldconfig 这个执行档将 /etc/ld.so.conf 的资料读入快取当中
  3. 同时也将数据记录一份在 /etc/ld.so.cache当中

ldconfig [-f conf] [-C cache]

ldconfig [-p]

-f conf : 那个 conf 指的文件名

-C cache : 那个 cache 指的是某个文件名

-p : 列出所有函数库资料内容

ldd 程序的动态函数库解析

ldd [-vdr][filename]

-v : 理出所有内容信息

-d : 重新将资料有遗失的 link 点秀出来

-r : 将 ELF 有关的错误内容绣出来

转载于:https://www.cnblogs.com/moveofgod/archive/2013/01/03/2842697.html

你可能感兴趣的:(软件安装:原始码与 Tarball)