zoukankan      html  css  js  c++  java
  • 软件安装:原始码与 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 有关的错误内容绣出来

  • 相关阅读:
    假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为$p = (1+r)^n$ ,其中r为年增长率,n为年数,p为与现在相比的倍数
    不定积分40例
    docker容器
    Kubernetes搭建
    windows提权之mimikatz
    NodeJS沙箱逃逸&&vm
    jwt攻击手段
    yii2邮件配置教程,报Expected response code 250 but got code "553"原因
    git 撤销,放弃本地修改
    动态规划(含最短路径和正则匹配例子)
  • 原文地址:https://www.cnblogs.com/moveofgod/p/2842697.html
Copyright © 2011-2022 走看看