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

相关推荐

  • Windows 10 VS. Linux

    原文出处: Linux中国 – zpl1025   前阵子 Windows 10 好像占据了绝大部分头条,甚至在一些Linux圈里也是一样。最具代表性的是 betanews.com 的 Brian Fagioli 说 Windows 10 已经为 Linux 桌面系统敲响了丧钟,Microsoft 如今宣布将为忠实的…

    系统运维 2015-03-24
  • 密码保护:测试信息, 顺便贴上以前年少轻狂的内容.(未整理)

    无法提供摘要。这是一篇受保护的文章。

    Linux干货 2017-07-11
  • N21天天第十一周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 SSL协议基础: SSL协议位于TCP/IP协议与各种应用层协议之间,本身又分为两层: 1)SSL记录协议:建立在可靠传输层协议(TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。 2)SSL握手协议:在SSL记录协议之上,用于实际数据传输前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。 SS…

    Linux干货 2016-10-09
  • 高级文件系统管理之mdadm与lvm的创建

    ※配置配额系统 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间,比如一些网盘就是基于这个功能来做的,分配给用户固定的空间,花钱买,可以将空间设置的更大。 功能作用 磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度的使用磁盘空间造成其它用户无法运行或工作甚至影响系统运行。这个功能不止…

    Linux干货 2016-08-27
  • Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用

    bash shell脚本编程入门篇(三)之循环 什么是循环执行?     将某代码段重复运行多次     重复运行多少次:         循环次数事先已知    &nb…

    Linux干货 2016-08-22
  • N25期–第七周作业

    1、创建一个10G分区,并格式为ext4文件系统; fdisk /dev/sda n p 2 enter +10G w partx -a /dev/sda (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs -t ext4 -…

    Linux干货 2017-02-20