linux rpm包的编译
有些软件包的特性是编译者选定的,如果编译未选定此特性,将无法使用。rpm包的版本落后于源码包。
因此需要定制安装,也就是手动编译安装。
编译需要编译环境。
编译的过程如下:
1.下载源码
2.执行 tar -xf
3.cd到源码文件夹内
4. ./configure
--prefix=/path/to/somewhere 指定软件安装路径
--sysconfdir=/path/to/configurefile_path 指定配置文件路径
这一步有两个目的:
检查用户选定的编译特性
检查编译环境
5.make (编译)
6. make install (安装)
7.修改环境变量PATH,以便能够识别此程序的二进制文件路径
修改/etc/profile文件或者在/etc/profile.d/目录下建立一个.sh为名称后缀的文件,在里面定义export PATH=&PATH:/PATH/TO/SOMEWHERE
8.默认情况下,系统搜索库文件的路径/lib,/usr/lib,如果要增添额外的搜寻路径,则在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径名直接写至此文件中:
接着执行ldconfig命令重新搜索库文件
-v用来显示重新搜索库的过程,顺便就看见了系统中的库
9.头文件:
系统默认找头文件的地方:/usr/include
所以要增加头文件搜寻路径,使用链接进行:
两种方式
eg:
ln -s /user/local/tengine/include/* /usr/include(文件链接)
或者
ln -s /user/local/tengine/include/ /usr/include/tengine(目录链接)
10.man文件路径
安装好后的软件定的man文件在 --prefix 路径下的man目录,而系统到/usr/share/man找man文档
所以加入新的man文档可以这么做:
(1).man -M /PATH/TO/MAN_DIR COMMAND
(2).在 /etc/man.config中添加一条MANPATH
linux rpm包的编译的更多相关文章
- linux RPM包安装、更新、删除等操作命令简明总结, 如何查看yum安装的软件路径 ?
rpm -ivh package.rpm 安装一个rpm包rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告rpm -U package.rpm 更新一个 ...
- linux rpm包
rpm包,软件包,程序包,以.rpm结尾的包 我们刚开始安装的Linux系统是最小化安装(minimol),只安装系统,不安装不必要的软件包 刚开始vim,ifconfig,tree等命令都没有,当然 ...
- 《linux源代码包的编译安装》RHEL6
linux下源代码包的编译安装其实没那么复杂. 我是win7系统装的虚拟机,就简单说下: 举个简单的例子: http://www.openssl.org/ 这是openssl的官网,下载openssl ...
- MySQL5.6.36 linux rpm包安装配置文档
一.卸载自带mysql,删除MySQL的lib库,服务文件 [root@localhost ~]#rpm -qa|grep mysql qt-mysql-4.6.2-26.el6_4.x86_64 m ...
- l【linux】linux rpm包命名规范
RPM包的一般格式为:name-version-arch.rpmname-version-arch.src.rpm name:软件包名称.version:带有主.次和修订的软件包版本.arch:硬件平 ...
- Linux rpm包管理工具
1.什么是rpm包 是一种编译好的二进制软件包,安装速度快. 2.rpm包命名 el6:软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装 el ...
- linux rpm包管理 yum管理
1. 软件包的管理 RPM的定义:RPM就是Red Hat Package Manger(红帽软件包管理工具)的缩写. RPM包不需要编译,本身就是二进制,而源码包需要先编译成系统识别的二进制文件,才 ...
- Linux rpm包安装不了
有时候会发现安装rpm包时会报错,解决办法: 到rpm包所在目录执行 createrepo -v ./ 这个命令 然后会生成一个repodate这个目录,然后在进行安装rpm就可以了!
- Linux rpm包安装MySQL数据库问题总结
1.安装包准备 2.按顺序安装以下安装包 一定要按顺序安装,因为前面的包是后面包的依赖 [root@iz2ze1bzpi3orra8lboxqiz mysql]# rpm -ivh Percona-S ...
随机推荐
- jar包解压与打包
首先感谢大神的指导:https://blog.csdn.net/mr_pang/article/details/47028921 1.首先准备一个能运行的jar文件,我们使用第三方解压工具进行解压wi ...
- cxf + spring + maven 开发webservice
1.maven 配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...
- springboot 中使用AOP
网上关于AOP的例子好多,各种名词解释也一大堆,反正名词各种晦涩,自己写个最最最简单的例子入门mark一下,以后再深入学习. maven依赖 <dependency> <groupI ...
- 为什么jdbc中的resultset只能取一次去第二次就报错了
引用 6 楼 的回复: 好吧各位,应该写getInt(1)但是我要问的是为什么第二次用会出错 啊,好古老的一个问题... 第二次出错的原因,是因为你创建Statement的时候,没有指定结果集(游标 ...
- 昂贵的聘礼 - poj 1062 (Dijkstra+枚举)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 39976 Accepted: 11596 Description 年 ...
- Python的paramiko模块ssh操作
SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import paramiko # 创建 ...
- iOS_3_图片浏览
终于效果图: BeyondViewController.h // // BeyondViewController.h // 03_图片浏览 // // Created by beyond on 14- ...
- WPF中的数据模板使用方式之一:ContentControl、ContentTemplate和TemplateSelector的使用
在WPF中,数据模板是非常强大的工具,他是一块定义如何显示绑定的对象的XAML标记.有两种类型的控件支持数据模板:(1)内容控件通过ContentTemplate属性支持数据模板:(2)列表控件通过I ...
- Zxing二维码解析——图文转换
一:文字转化为二维码图片. package com.xhm.tool; import java.util.Hashtable; import android.graphics.Bitmap; impo ...
- Selenium+C#自动化脚本开发学习
1:Selenium中对浏览器的操作 首先生成一个Web对象 IWebDriver driver = new FirefoxDriver(); //打开指定的URL地址 driver.Navigate ...