rpm
包二进制包优点:
-
管理系统简单,通过简单的几个命令可以实现包的安装、升级、查询和卸载。
-
安装速度比源码包快。
二进制包缺点:
-
经过编译,无法看到源码。
-
功能选择没有源码包灵活。
-
依赖性(安装一个包时会找很多依赖包,比较繁琐,对初学者不友好)。
1、安装前的准备工作:
-
安装C语言编译器
-
下载源码包
2、安装注意事项
-
源码保存位置:/usr/local/src
-
原件安装位置:/usr/local/
-
如何确定安装过程报错:安装时停止,出现error、warning或no的提示
3、源码包安装位置
- 安装在指定路径中,一般在:/usr/local/软件名/
4、安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的Apache启动方法:
-
/etc/rc.d/init.d/httpd start
-
service httpd start
5、源码包安装过程:下载并解压安装包,进入目录
配置:./configure prefix=/usr/local/
软件路径
-
定义需要的功能选项
-
检测系统环境是否符合安装要求
-
把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编辑
-
编译make ,make install编译安装
| rpm包默认安装位置 | 释义 |
| :-- | — |
| /ect/ | 配置文件安装目录 |
| /usr/bin/ | 可执行的命令安装目录 |
| /usr/lib/ | 程序使用的函数库保存位置 |
| /usr/share/doc/ | 基本软件使用手册保存位置 |
| /usr/share/man/ | 帮助手册保存位置 |
rpm
包命名原则解读一览表:2.2.15-69.el6.centos.1.i686.rpm
| 选项 | 释义 |
| — | — |
| httpd | 软件包名 |
| 2.2.15 | 版本 |
| 15 | 发布的次数 |
| el6.centos | 适合的linux平台 |
| i686 | 适用的硬件平台 |
| rpm | 软件包扩展名 |
rpm
命令管理
1、查询是否安装:
| 选项 | 释义 |
| — | — |
| 查询当前软件包是否安装 | rpm -q 包名 |
| 查询所有已经安装的rpm包 | rpm -qa |
| -q | (query查询) |
| -a | (all所有) |
2、查询软件包详细信息
rpm -qi
包名
选项:
-
-i(
information
查询详细信息) -
-p(
package
查询未安装包信息)
3、查询安装包文件所在安装位置
-
rpm -ql
包名 -
选项:-l(list列表)
4、查询系统文件属于哪个RPM包
-
rpm -qf
系统文件名 -
选项:-f(file查询系统文件属于哪个软件包)
5、查询软件包的依耐性
-
rpm -qR
包名 查询软件包的依耐性 -
选项:-R(requires 查询软件包的依耐性)
rpm包的依耐性
-
树形依赖:a->b->c
-
环形依赖:a->b->c->a
-
模块依赖:查询网址:www.rpmfind.net
6、RPM包校验
-
rpm -V
已安装软件包 -
选项:-V(verify校验指定rpm包的文件)
文件类型:
| 选项 | 释义 |
| — | — |
| -c (config file) | 配置文件 |
| -d (documentation) | 普通文档 |
| -d (documentation) | “鬼文件”,指该文件不应该被rpm包包含 |
| -L (license file) | 授权文件 |
| -r (read me) | 描述文件 |
内容校验:验证内容中的8个信息的具体内容如下
| 选项 | 释义 |
| — | — |
| -S | 文件大小是否改变 |
| -M | 文件的类型或文件权限(rwx)是否被改变 |
| -5 | MD5校验,文件内容是否改变 |
| -D | 设备的主从代码是否改变 |
| -L | 文件路径是否改变 |
| -U | 文件所有者是否改变 |
| -G | 文件属组是否改变 |
| -T | 文件修改时间是否改变 |
7、rpm包的安装卸载与升级
| 选项 | 释义 |
| — | — |
| -i | (install:安装) |
| -v | (verbose |
| -h | (hash:显示进度) |
| -U | (upgrade:升级) |
| -e | (erase:卸载) |
| –nodeps | (不检测依赖性) |
安装:rpm -ivh
接包全名
卸载:rpm -e
接包名(你要卸载的软件)
升级:rpm -Uvh
接包名
8、rpm包中文件提取
rpm2cpio
包全名 | cpio -idv
.文件绝对路径
-
rpm2cpio
:将rpm转换为cpio
格式 -
cpio
:标准工具,用于创建软件档案文件以及从文件中提取文件
cpio
选项 < [文件][设备]
这里是标准格式,当然可以使用上面介绍的管道符方式。
例如:cpio -idv < test.txt
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!