linux rpm包的编译
Linux 编译 RPM
2023-09-11 14:14:47 时间
有些软件包的特性是编译者选定的,如果编译未选定此特性,将无法使用。rpm包的版本落后于源码包。
因此需要定制安装,也就是手动编译安装。
编译需要编译环境。
编译的过程如下:
1.下载源码
2.执行 tar -xf
3.cd到源码文件夹内
-
./configure
–prefix=/path/to/somewhere 指定软件安装路径
–sysconfdir=/path/to/configurefile_path 指定配置文件路径
这一步有两个目的:
检查用户选定的编译特性
检查编译环境
5.make (编译)
- 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 搭建安装Maven环境
- [Linux]linux如何把文件切成多块
- 每天一个Linux命令之打包压缩命令
- linux(centos8):安装java jdk 15 (java 15)
- linux中使用lftp上传下载文件
- linux 编译源码报错,找不到libXrender.so.1
- Linux服务器的初步配置流程
- [转]Linux系统下如何查看及修改文件读写权限
- linux驱动开发重点关注内容--摘自《嵌入式Linux驱动模板精讲与项目实践》
- 【Linux 内核】Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )
- 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )
- 【错误记录】编译 Linux 内核报错 ( Unable to find the ncurses package. )
- linux数据盘分区以及格式化
- 【Linux】linux经常使用基本命令
- 27.第八章 Linux软件包管理 -- 软件运行和编译、软件包和包管理器、包管理器 rpm(一)
- L78.linux命令每日一练 -- 第11章 Linux系统管理命令 -- iostat和iotop
- L71.linux命令每日一练 -- 第十章 Linux网络管理命令 -- wget和mailq
- 嵌入式linux开发,交叉编译qt4.8.5报错:make[2]: arm-linux-ar: Command not found
- 嵌入式linux开发,qt移植,交叉编译qt-everywhere-opensource-src-4.8.5
- 嵌入式linux开发,OPC UA移植,open62541移植,open62541交叉编译
- Linux基础命令-dd拷贝、转换文件
- 编译win10的WSL2内核(windows subsystem linux)
- Linux编译 --prefix和DESTDIR用法(十)
- Linux防火墙——Firewalld原理与实战操作
- Linux设备树详解
- Linux中的通配符
- Linux下CMake简明教程(八) 添加编译选项
- 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: multiple definition of `yylloc‘; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0
- Linux Socket之send()异步通信时:Broken pipe报错