Linux的RPM命令详解

1、linux下安装软件,软件到底有那些格式?

redhat系

  • centos、suse、redflag、oracle linux 、Fedora等
  • 软件格式:.rpm

debian系

ubuntu

  • 软件格式:.deb
  • 源码包—》tar包 

安装脚本:.sh .py 等 
解压就可以使用,不需要安装 
srpm —-》源码类型的source rpm包—》半成品—》制作成rpm包 
vim-7.4.960-1.fc24.src.rpm

2.软件包从哪里来?如何得到软件包?

  • 光盘镜像文件
  • 官方网站(源码包)
  • 第3方资源网站

查找rpm包的网站:

  • www.rpmfind.net
  • rpm.pbone.net

RPM即:redhat package manager 
regedit.ext 打开注册表 register edit 
commercial 商业的 
Community 社区

3、应用程序与系统命令的关系

文件位置

  • 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令
  • 应用程序:通常在/usr/bin和/usr/sbin目录中

主要用途

  • 系统命令:完成对系统的基本管理工作,例如IP配置工具
  • 应用程序:完成相对独立的其他辅助任务,例如网页浏览器

适用环境

  • 系统命令:一般只在字符操作界面中运行
  • 应用程序:根据实际需要,有些程序可在图形界面中运行

运行格式

  • 系统命令:一般包括命令字、命令选项和命令参数
  • 应用程序:通常没有固定的执行格式

典型应用程序的目录结构


常见的软件包封装类型


RPM的缺点:

  • 安装的环境必须与打包时的环境需求一致或相当;
  • 需要满足套件的相依属性需求;
  • 反安装时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题!

SRPM

  • SRPM 文件里面含有原始码( Source Code )
  • SRPM 的文件名是以 *.src.rpm 这种格式来命名
  • 需要编译生成RPM包后才能进行安装

RPM包管理工具

RPM软件包: 
 
注意!!不是所有的软件都有rpm包!! 
因为,rpm包是人制作出来的。很多网站只是提供源码。不提供rpm包。

主要功能:

  • 查询RPM软件、包文件的相关信息
  • 安装、升级、卸载RPM软件包
  • 维护RPM数据库信息

指令集:是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。 
Intel有x86,x86-64,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2和针对64位桌面处理器的EM-64T。AMD主要是3D-Now!指令集。

4、查询已安装的RPM软件信息

格式:rpm -q[子选项] [软件名]
用法:结合不同的子选项 完成不同查询。

  • -qa:查看系统中已安装的所有RPM软件包列表,常跟|grep连用! 
  • -qi:查看指定软件的详细信息
  • -ql:查询指定软件包所安装的目录、文件列表 (安装到哪了)
  • -qc:仅显示指定软件包安装的配置文件
  • -qd:仅显示指定软件包安装的文档文件

查询文件/目录属于哪个RPM软件:

  • -qf 文件或目录名(从哪来的)

5、查询未安装的RPM包文件

格式:rpm -qp[子选项] RPM包文件
用法:结合不同的子选项 完成不同查询 

  • -qpi:通过.rpm包文件查看该软件的详细信息,后面接完整包名。
  • -qpl:查看.rpm安装包内所包含的目录、文件列表(将安装到哪)
  • -qpc:查看.rpm安装包内包含的配置文件列表
  • -qpd:查看.rpm安装包内包含的文档文件列表

6、安装或升级RPM软件 (-ivh)

格式:rpm [选项] RPM完整包文件… 

  • -i:安装一个新的rpm软件包。 {-i|–install} [-h,–hash]
  • -v:显示过程中的详细信息;
  • -h:以“#”号显示安装的进度;
  • -U:升级某个rpm软件,若原本未装,则进行安装 {-U|–upgrade}
  • -F:更新某个rpm软件,若原本未装,则放弃安装 {-F|–freshen}

7、卸载指定的RPM软件

格式:rpm -e 完整软件名 {-e|–erase} –》擦除
辅助选项: 

  • –force:强制安装所指定的rpm软件包
  • –nodeps:安装、升级或卸载软件时,忽略依赖关系 no dependencies
  • -h:以“#”号显示安装的进度(50个hash符号)
  • -v:显示安装过程中的详细信息

8、RPM包依赖关系

  • 被依赖的软件包需要先安装 ;
  • 同时指定多个.rpm包文件进行安装 。 
  • –》即:先装A,才能装B,才能装C ……

9、卸载有依赖关系的多个软件时

  • 依赖其他程序的软件包需要先卸载 ;
  • 同时指定多个软件名进行卸载 。

10、忽略依赖关系

11、维护RPM数据库

RPM数据库:/var/lib/rpm目录下 
故障原因:

  • 非正常关机、误删除运行中的程序文件 ;
  • RPM数据文件被误写或删除 。

当RPM数据库损坏时,需要进行数据库重建 :

  • 格式:rpm –rebuilddb或者 rpm –initdb

猜你喜欢

转载自blog.csdn.net/wqh0830/article/details/87855206