Linux程序包编译安装

程序包编译安装:

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

     源代码–>预处理–>编译–>汇编–>链接–>执行

     源代码组织格式:

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

CC++make 项目管理器

configure –> Makefile.in –>
makefile

java: maven

C语言源代码编译安装三步骤:

1./configure

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

(2) 检查依赖到的外部环境,如依赖的软件包

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

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

开发工具:

autoconf: 生成configure脚本

automake:生成Makefile.in

      注意:安装前查看INSTALLREADME

开源程序源代码的获取:

官方自建站点:

apache.org (ASFApache Software Foundation)

mariadb.org  

代码托管:

SourceForge.net

Github.com

code.google.com

      c/c++编译器: gcc(GNU C Complier)

第一步:configure脚本

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

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

选项分类:

安装路径设定:

–prefix=/PATH: 指定默认安装位置,默认为/usr/local/

–sysconfdir=/PATH:配置文件安装位置

System types:支持交叉编译

Optional Features: 可选特性

–disable-FEATURE

–enable-FEATURE[=ARG]

Optional Packages: 可选包

–with-PACKAGE[=ARG],依赖包

–without-PACKAGE,禁用依赖关系

第二步:make

第三步:make
install

安装后的配置:

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

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

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

(2) 导入库文件路径

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

添加新的库文件所在目录至此文件中

让系统重新生成缓存:

ldconfig[-v]

(3) 导入头文件

基于链接的方式实现:

ln -sv

       (4) 导入帮助手册

编辑/etc/man.config|man_db.conf文件

添加一个MANPATH

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

(2)
MFXMFX
上一篇 2017-04-25
下一篇 2017-04-25

相关推荐

  • Linux运维学习历程-第四天-Linux的使用帮助和快捷键

    本章内容     命令存放位置     命令帮助      help     man帮助     其它帮助        命令历史     快捷键 一、命令存放位置   &nbsp…

    Linux干货 2016-08-03
  • 网络管理、进程管理、计划任务及启动流程

          网络管理 一.网卡模块操作步骤: 查询网卡模块类型:ethtool  -i  eth1 查询网卡模块lsmod |grep e1000 删除网卡模块rmmod e1000  或者modprobe  -r  e1000 添加网卡模块 modprobe e1000 删除模…

    Linux干货 2016-09-08
  • linux小小小入门。

      ❀用户登录:     ❤root用户 这是一个特殊的管理账户,也被称为超级账户,root已经接近完整的系统控制。但是对系统的损害有非常广泛的能力。(一般情况下不会登录root)     ❤普通用户 权限有限,损害能力较小。 ❀终端terminal:     ❤设备终端 键盘,鼠标,显示器     &#x…

    Linux干货 2018-03-26
  • 数据库的历史及常见基本功能

    数据库的基本知识,MariaDB的基本知识,SQL语句

    2018-01-29
  • 利用keepalived实现主/从和主/主模式的高性能负载均衡集群

    要求: 1、使用nginx的反向代理功能实现负载均衡 2、keepalived实现高可用        第一组的虚拟地址为172.16.1.100             D设备的优先级高        第二组的虚拟地址为172.16.1.110             E设备的优先级高 3、分别实现主/从和主/主两种配置 集群拓扑:       第一种:主…

    2017-06-25
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15

评论列表(1条)

  • renjin
    renjin 2017-04-28 10:16

    主要对linux下源码包的安装进行了介绍,可以把学的rpm包管理,yum源的配置与使用一起总结进来。