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

相关推荐

  • vim编辑器

    回顾:     正则表达式(BRE, ERE)     BRE:字符匹配:., [], [^]     次数匹配:*,\?,\+,\{m\},\{m,n}     位置锚定:^,$,\<,\>     分组及引用:(),\1,\2,…&…

    Linux干货 2016-12-23
  • 第九周脚本练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; awk -F: ‘{if($NF!=”/sbin/nologin”) print $1}’ /etc/passwd | wc -l 2、写一个脚本 (1) 获取当前主机的主机名,保存于ho…

    Linux干货 2017-03-30
  • Linux下各类颜色文件的意思

    Linux下各类颜色文件的意思   Linux系统对在终端下的各文件进行了颜色区分,了解各个颜色文件对应的意思对是学习Linux必须要掌握的。Linux文件颜色如下图: 1、白色:表示普通文件(-) 2、蓝色:表示目录(d) 3、绿色:表示可执行文件(-) 4、红色:表示压缩文件(-) 5、浅蓝色:链接文件(l) 6、黄色:表示设备文件(c) 7、…

    Linux干货 2016-10-18
  • gawk基础

    gawk程序是Unix中原始awk程序的GNU版本。gawk程序让流编辑器迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令。在gawk编程语言中,可以完成下面的事情: (1)定义变量来保存数据; (2)使用算数和字符串操作符来处理数据; (3)使用结构化编程概念(比如if-then语句和循环)来为数据处理增加处理逻辑; (4)通过提取数据文件中的数…

    Linux干货 2017-05-22
  • 往死里苦练脚本啊啊啊啊啊啊啊~~~~~~~~~~~~~~~~

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #脚本内容 [root@centos script]# cat week9_title1.sh  #!/bin/bash #Author …

    Linux干货 2017-02-16
  • 系统启动和内核管理以及几个重要实验

    Centos启动流程:     1.加载BIOS的硬件信息,获取第一个启动设备     2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息     3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备 &n…

    Linux干货 2017-05-15