SRPM具体使用过程

SRPM

简介:SRAM是Source RPM的意思,就是RPM的源代码的意思,这个SRPM就是没有经过编译的源代码。如果我们想要安装一个SRPM软件,那么就必须:

  1. 先将该软件以RPM管理的方式编译,将SRPM编译成为RPM文件

  2. 然后将编译完成的RPM文件安装到Linux系统中。

一.程序包编译:

  • 程序包编译安装:

  • Application-VERSION-release.src.rpm –> 安装后,使 用rpmbuild命令制作成二进制格式的rpm包,而后再安装

  • 源代码–>预处理–>编译(gcc)–>汇编–>链接–>执行

  • 源代码组织格式:

多文件:文件中的代码之间,很可能存在跨文件依赖关系

C、C++:make (项目管理器,configure –> Makefile.in –> makefile) java: maven

二.源码安装需要的管理工具

  • C代码编译安装三步骤:

1、./configure:

    (1) 通过选项传递参数,指定启用特性、安装路径等;执 行时会参考用户的指定以及makefile.in文件生成makefile

    (2) 检查依赖到的外部环境

2、make:根据makefile文件,构建应用程序

3、make install:复制文件到相应路径

    • 开发工具:

autoconf: 生成configure脚本

automake:生成Makefile.in

    • 注意:安装前查看INSTALL,README

三.编译安装的步骤

    • 第一步:configure脚本

    选项:指定安装位置、指定启用的特性

        –help: 获取其支持使用的选项

    选项分类:

    安装路径设定:

            –prefix=/path/to/somewhere      软件默认安装位置(/usr/local)

            -sysconfdir=/PATH/to/CONFFILE_PATH 指定配置文件路径(若不指定路径则安装在默认的路径下)

System types:支持交叉编译

       Options Features: 可选特性

        –disable-FEATURE

        –enable-FEATURE[=ARG]

Optional Packages:可选包即依赖的包。

        –with-PACKAGE[=ARG]依赖包

        –without-PACKAGE禁用依赖关系

    • 第二步:开始编译安装:

    • 第三部:安装后所需操作:

(1) 导出为二进制程序目录至PATH环境变量中:

 作用:修改PATH环境变量,以能够识别此程序的二进制文件路径:

    编辑文件/etc/profile.d/NAME.sh

    export PATH=/PATH/TO/BIN:$PATH

    修改/etc/profile文件

    在/etc/profile.d目录建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere 也可在/etc/profile添加此路径。

(2) 导入库文件路径

    编辑/etc/ld.so.conf.d/NAME.conf

    添加新的库文件所在目录至此文件中,在/etc/ld.so.conf中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;

    让系统重新生成缓存:

    ldconfig [-v]

(3) 导入头文件

    基于链接的方式实现:

    ln -sv

    增添头文件搜寻路径,使用链接进行;

      /usr/local/”xx”/include/     /usr/include/

  两种方式:

       ln  -sv  /usr/local/”xx”/include/*   /usr/include/

       ln  -sv  /usr/local/”xx”/include    /usr/include/”xx”

(4) 导入帮助手册

      man文件路径:安装在—prefix制定的目录下的man目录: /usr/share/man

    • man  -M  /PATH/to/MAN_DIR     COMMAND

    • 在辑/etc/man.config|man_db.conf中添加一条MANPATH

一、实例:

1、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

blob.png

#!/bin/bash

echo "please input a number list"

read -a arrs

for((i=0;i<${#arrs[@]};i++)){

for((j=0;j<${#arrs[@]}-1;j++)){

if [[ ${arrs[j]} -gt ${arrs[j+1]} ]];then

tmp=${arrs[j]}

arrs[j]=${arrs[j+1]}

arrs[j+1]=$tmp

fi

}

}

echo ${arrs[@]}

2、源码安装apache

首先安装lftp使用它进入教室网络环境。

blob.png

找到http路径

blob.png

解压缩

blob.png

blob.png

make编译  make install安装

blob.png


blob.png

之后在配置man配置文件

blob.png

成功

blob.png

原创文章,作者:502795641,如若转载,请注明出处:http://www.178linux.com/39912

(1)
502795641502795641
上一篇 2016-08-24 21:21
下一篇 2016-08-24 21:21

相关推荐

  • Linux Sysadmin–part1

    一、创建一个10G分区,并格式为ext4文件系统; 1、要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; 2、挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ###创建10G分区 ~]# fdisk /dev/sdb Command (m for help): n P…

    2017-09-04
  • history命令详解

       有效地使用命令历史机制将会使效率获得极大提升。history:   保存你输入的命令历史。 可以用它来重复执行命令。   history [-c] [-d offset] [n]   history -anrw [filename]   history …

    2017-03-26
  • 文件查找工具locate和find的使用分析

    文件查找工具locate和find的使用分析 不管是在windows系统中还是在Linux系统中,我们经常会一些文件进行搜索查找,而在Linux系统中经常用到的搜索工具有locate和find,这两种搜索工具的工具原理和用法都不相同,一下将这对这两种搜索工具的使用进行分析。 1、locate工具的工作原理是对/var/lib/mlocate/mlocat.d…

    Linux干货 2016-08-18
  • 通过Nginx来安装一个discuz,软件并不是编译安装的

    这次由于时间有限,所以我就没有用编译安装来启动LMP,只有Nginx 是编译安装的 因为是在centos7上面安装的Nginx所以我们这里由于能力有限,暂时不能将其加入开机启动,日后我会进行改进,将其加入开机启动。这里我们给出Nginxd的编译选项及环境   yum groupinstall "Development&…

    Linux干货 2016-10-25
  • Linux系统上的文件处理工具

    Linux系统上的文件处理工具 我们都知道在计算机中,存在大量的文件,这些文件中包含大量的信息。可是有些时候,为了工作的效率,我们在茫茫信息中提取出我们所需要的信息,这样的技能就显得尤为重要。Linux系统上为我我们提供了多种多样的文本处理工具,下面我们来简单说一下。 查看文件内容我们可以使用less命令,cat命令,more命令等等 cat cat [OP…

    Linux干货 2016-08-05
  • ​iptables简单介绍

    iptables简单介绍 什么是防火墙? 防火墙是工作在主机或网络边缘,能够对其所匹配到的报文根据事先定义好的规则作出相应处理的组件,可以是软件,也可以是硬件,还能软硬结合实现。 UNIX/Linux中对防火墙的实现 早期在openBSD中通过内核中的ipfw实现简单的数据报过滤功能、后来在Linux 2.2内核中使用ipchains来取代,意为链、后来在L…

    Linux干货 2016-03-31